HIVE的三种模式的安装
1、本地模式(直接pass,不考虑)
2、单用户模式
3、多用户模式(远程服务器模式)
首先我先要安装mysql,文档的话可以查看我写的mysql安装文档
安装完mysql后,你要对其进行权限的设置,也就是我安装的root权限可以访问数据库中的所有表
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION
此时
use mysql;
select host,user from user;
会出现
为了避免冲突我们需要进行删除
delete from user where host !=’%’
然后我们刷新权限
flush privileges;
此时你在命令行中打印:mysql是进入不到数据库的,因为我们设置了权限和密码
你需要:
1、单用户部署
我在master节点中安装hive(且Metastore server我在配置文件中定义为本地,因为我部署的是单用户),安装mysql。
创建配置文件hive-site.xml
问题1、
此时命令行运行hive报错:
原因?
元数据Metastore找不到mysql数据库
解决办法:
将mysql的connect.jar这个驱动包拷入进hive的lib包中
问题2、
此时命令行运行hive报错:
原因?
1、在hive的lib下面有一个高版本的:jline-2.12.jar
2、但是在hadoop的下面/home/hadoop/hadoop-2.6.1/share/hadoop/yarn/lib该目录中有个低版本的:jline-0.9.94.jar
3、此时hive访问hdfs的时候访问不了,版本不一样,因此我们需要将高版本的替换掉低版本的,也就是删除低版本的
此时命令行运行hive SUCCESS:
此时我如果往表中插入数据,它会生成mapreduce操作:
对应的我们就可以在yarn中看到:
2、多用户部署
我将hive的Metastore Server装到master中,同时我的mysql数据库也装到了master中
我将hive的Metastore Client装到slave1中
注意mysql的驱动包
注意jline的版本号
hive的Metastore Server安装:
自己创建 touch hive-site.xml
在master节点中的hive-site.xml配置文件:
启动服务器端:hive --service metastore
可以后台启动:hive --service metastore &
hive的Metastore Client安装:
在slave1节点中的hive-site.xml配置文件:
再通过命令行执行:hive