Hive安装
内嵌Dervy版本
- 上传安装包 apache-hive-2.3.2-bin.tar.gz
- 解压安装包 tar -zxvf apache-hive-2.3.2-bin.tar.gz -C /home/hadoop/apps/
- 进入到 bin 目录,运行 hive 脚本:[hadoop@hadoop02 bin]$ ./hive
注意: 这时候一般会报错:Terminal initialization failed; falling back to unsupported,是因为 hadoop(/root/apps/hadoop-2.6.5/share/hadoop/yarn/lib)集群的 jline-0.9.94.jar 包版本 过低,替换成 hive/lib 中的 jline-2.12.jar 包即可。记住:所有 hdfs 节点都得替换 hadoop-2.6.5/share/hadoop/yarn/lib/jline-0.9.4.jar 替换成 jline-2.12.jar 如果报错就按照此方式解决,没有报错就不用管,在使用新的 hadoop-2.7.5 版本中已经不 存在这个问题。所以不用关注。外置 MySQL 版本
- 准备好 MySQL(请参考以下文档,或者自行安装 MySQL,或者一个可用的 MySQL)
- 上传安装包 apache-hive-2.3.2-bin.tar.gz
- 解压安装包 tar -zxvf apache-hive-2.3.2-bin.tar.gz -c ~/apps/
- 修改配置文件
1
2
3[hadoop@hadoop02 conf]# touch hive-site.xml
[hadoop@hadoop02 conf]# vi hive-site.xml
`
1 | <configuration> |
可选配置,该配置信息用来指定 Hive 数据仓库的数据存储在 HDFS 上的目录1
2
3
4
5<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/myhive/warehouse</value>
<description>hive default warehouse, if nessecory, change it</description>
</property>
- 一定要记得加入 MySQL 驱动包(mysql-connector-java-5.1.40-bin.jar) 该 jar 包放置在 hive 的根路径下的 lib 目录
- 安装完成,配置环境变量
vi ~/.bashrc 添加以下两行内容: export HIVE_HOME=/home/hadoop/apps/apache-hive-2.3.2-bin export PATH=$PATH:$HIVE_HOME/bin 保存退出。 最后不要忘记:[hadoop@hadoop02 bin]$ source ~/.bashrc
- 验证 Hive 安装,执行命令hive –help
初始化元数据库
注意:当使用的 hive 是 2.x 之前的版本,不做初始化也是 OK 的,当 hive 第一次启动的 时候会自动进行初始化,只不过会不会生成足够多的元数据库中的表。在使用过程中会 慢慢生成。但最后进行初始化。如果使用的 2.x 版本的 Hive,那么就必须手动初始化元 数据库。使用命令:1
[hadoop@hadoop02 bin]$ schematool -dbType mysql -initSchema
- 启动 Hive 客户端
1
[hadoop@hadoop02 bin]$ hive --service cli
- 启动 Hive 客户端
退出 Hive
Linux RPM 方式安装 MySQL
(记得使用 root 账户进行操作,若使用普通用户,那么请修改相应文件夹权限)
检查以前是否装过 MySQL
1
rpm -qa|grep -i mysql
发现有的话就都卸载
1
rpm -e --nodeps ........
删除老版本 mysql 的开发头文件和库
1
2
3
4
5
6rm -fr /usr/lib/mysql
数据库目录
rm -fr /usr/include/mysql
rm -f /etc/my.cnf
rm -fr /var/lib/mysql
注意:卸载后/var/lib/mysql 中的数据及/etc/my.cnf 不会删除,确定没用后就手工删除准备安装包 MySQL-5.6.26-1.linux_glibc2.5.x86_64.rpm-bundle.tar, 上传,解压 命令:tar -zxvf MySQL-5.6.26-1.linux_glibc2.5.x86_64.rpm-bundle.tar
- 开始安装
- 安装 server rpm -ivh MySQL-server-5.6.26-1.linux_glibc2.5.x86_64.rpm
- 安装客户端 rpm -ivh MySQL-client-5.6.26-1.linux_glibc2.5.x86_64.rpm
- 登陆 MYSQL(登录之前千万记得一定要启动 mysql 服务) 启动命令: [hadoop@hadoop01 ~]$ service mysql start
然后登陆,初始密码在 /root/.mysql_secret 这个文件里 - 修改密码 set PASSWORD=PASSWORD(‘root’);
- 退出登陆验证,看是否改密码成功
增加远程登陆权限,执行以下两个命令:
1
2mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES;命令释义:grant 权限 1,权限 2,„权限 n on 数据库名称.表名称 to 用户名@用户地址 identified by ‘密码’;
PS:1,权限 2,„权限 n 代表 select,insert,update,delete,create,drop,index,alter,grant, references,reload,shutdown,process,file 等 14 个权限。 当权限 1,权限 2,„权限 n 被 all privileges 或者 all 代替,表示赋予用户全部权限。 当数据库名称.表名称被.代替,表示赋予用户操作服务器上所有数据库所有表的权限。 用户地址可以是 localhost,也可以是 ip 地址、机器名字、域名。也可以用’%’地址连接。
- 至此 mysql 安装成功
- 更改数据库的默认编码为 UTF-8