linux下安装hive2.3.6 (完全分布式下)
【有问题或错误,请私信我将及时改正;借鉴文章标明出处,谢谢】
搭建环境:
CentOS 7
hadoop完全分布式集群
mysql5.5 (接我上一篇写到过的安装mysql5.5)
1.Hive元数据库的建立
(1)进入mysql命令窗口
方法一:mysql -uroot -p密码(你设置的密码,这里密码是root)
mysql -uroot -proot
方法二:
mysql -uroot -p #此时回车会出现password,让你输入密码,把你密码输入(这里的密码不会显示),然后敲回车就行了
(2) 建立Hive元数据需要的MySQL下的数据库“hive”,并赋予相应权限
1>create database hive;
2>grant all privileges on *.* to 'root'@'localhost' identified by 'root';
#允许用户root从localhost的主机连接到mysql服务器,并使用root作为密码
3>grant all privileges on *.* to 'root'@'%' identified by 'root';
#root使用root密码从任何主机连接到mysql服务器
4>flush privileges;
#MySQL用户数据和权限有修改后,希望在"不重启MySQL服务"的情况下直接生效,那么就需要执行这个命令
(3) 查看数据库“hive”的权限
SELECT host,user,password,Grant_priv,Super_priv FROM mysql.user;
【
此时如果你安装的是mysql5.7将出现一个错误:
ERROR 1054(42S22) Unknown column ‘password’ in ‘field list’
错误的原因是 5.7版本下的mysql数据库下已经没有password这个字段了,password字段改成了authentication_string
用另一个命令:
SELECT host,user, authentication_string,Grant_priv,Super_priv FROM mysql.user;
】
(4) 退出MySQL命令窗口
quit;
2. 下载并安装hive
(1)前往官网进行下载
这里我把hive下载并解压到了soft目录下
(2)配置环境变量并生效文件
(3)将hive需要的mysql依赖包mysql-connector-java-5.1.1.6jar到hive/lib目录下
3.配置Hive环境
(1)进入hive/conf下,生成hive-site.xml
cp /soft/hive/conf/hive-default.xml.template /soft/hive/conf/hive-site.xml
(2)配置hive-site.xml文件
vi /soft/hive/conf/hive-site.xml
删除hive-site.xml文件中标签与之间的所有内容,在刚打开文档状态下,将光标移动到你要删除的地方(与中4行注释的下一行),再键盘敲”5327dd”如果还没有删除完,再敲一次”5327dd”(切记啊这里不是在编辑状态下输入),两次基本删完了,因为刚进入这个文档会显示这个文档有5959行,两次5327dd之后也会被删除,手动添加。(这里直接输入5937dd即可删除标签中内容)
此时进入编辑状态下在与之间输入自己配置的参数
如下:
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/data/hive/warehouse</value>
</property>
<property>
<name>hive.metastore.local</name>
<value>true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost/hive?createDatabaseIfNotExist=true&useSSL=false</value>
#注意这里的jdbc,你得将依赖的包放到hive/lib目录下。并且这里的localhost,注意是localhost
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>root</value>
</property>
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property>
(3)保存并退出
退出编辑状态
:wq
4. 启动服务器
(1)初始化元数据
schematool -dbType mysql -initSchema
这里如果有错误,基本两个方向,一个是依赖包,一个是hive-site.xml中配置文件有问题,仔细检查尤其是路径那块,有可能不同
(2) 如果Hadoop服务没有启动,需要启动Hadoop
start-all.sh
jps #查看进程
(3) 从键盘上敲入下面命令启动hive服务并进行日志记录
nohup hive --service metastore > metastore.log 2>&1 &
(4)启动hive
hive
(5)进入hive命令行,说明已经安装成功