准备:打开三台虚拟机,并且连接好xshell
1.上传apache-hive-2.3.3-bin.tar.gz压缩包文件到/opt/software目录下,
可以使用rz命令,选择路径上传,也可以直接把文件从本地拖拽致xshell内,也可以使用xftp来传输。
- 解压apache-hive-2.3.3-bin.tar.gz 到指定文件夹目录下
修改文件夹名,此步骤可忽略:
3.在/opt/software/hive-2.3.3/lib目录下上传mysql连接包
4.在Hive的conf目录下下添加以下配置信息:
vi hive-site.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration><!--连接数据库地址,名称 -->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/myhive?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false</value>
</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>123456</value>
</property>
<!--客户端显示当前查询表的头信息 -->
<property>
<name>hive.cli.print.header</name>
<value>true</value>
</property>
<!--客户端显示当前数据库名称信息 -->
<property>
<name>hive.cli.print.current.db</name>
<value>true</value>
</property>
<property>
<!--关闭数据库的版本检查-->
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property>
</configuration>
5.查看/etc/profile下Hadoop的安装路径
复制路径
6.改名,vi hive-log4j2.properties并且在对应的位置修改,
property.hive.log.dir = /opt/software/hive-2.3.3/logs
7.vi hive-env.sh
在对应的位置添加。
HADOOP_HOME=/opt/software/hadoop-2.9.2
export HIVE_CONF_DIR=/opt/software/hive-2.3.3-bin/conf
8.改名(可忽略),vi hive-log4j2.properties并且在对应位置修改自己的hive路径。
mv hive-log4j2.properties.template hive-log4j2.properties
在对应的位置修改:
property.hive.log.dir = /opt/software/hive-2.3.3/logs
9.给mysql赋予权限:
mysql -uroot -p123456
10.赋予权限
grant all privileges on . to root@"%" identified by "123456" with grant option;
若此处报错:
先查看mysql初始密码策略。
SHOW VARIABLES LIKE 'validate_password%';
设置密码的验证强度等级。
set global validate_password_policy=LOW;
设置密码的长度。
set global validate_password_length=6;
然后再进行赋予权限。
grant all privileges on . to root@"localhost" identified by "123456" with grant option;
11.配置HIVE_HOME到系统环境变量中:vi /etc/profile,添加Hadoop和hive的路径。
12.配置完后需要重新加载配置文件:
重新加载:source /etc/profile。
13.初始化Hive,执行以下命令
schematool -dbType mysql -initSchema
14.执行hive命令进行连接,如图所示即成功,show databases;可查看。
15.执行hiveserver2,启动服务端,Hive的bin目录下有hiveserver2,
启动bin/ hiveserver2。
16.新建node01,使用如下命令进行客户端连接:
beeline -u 'jdbc:hive2://192.168.67.110:10000' -n root
- 在浏览器中访问node01地址,如下图所示则集群正常。
20.客户端连接成功后,若如图所示即成功安装配置好了hive。
常见问题1
在给mysql赋予权限时报错
解决方法:修改mysql的初始密码策略
1.将密码的验证强度设为低级
set global validate_password_policy=LOW;
2.将密码长度设置为6位
set global validate_password_length=6;
常见问题2
Hive连接过程中失败
使用jps查看hadoop集群是否启动
重新启动集群start-dfs.sh start-yarn.sh后即可解决
常见问题3
若启动异常,则需要在hadoop路径下配置文件core-site.xml中加入:
<property> <name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
并且重新初始化集群即可。
若出现上述问题,则需要先删除hive数据库,然后使用命令:
schematool -dbType mysql -initSchema进行初始化。
关闭集群,并且格式化hdfs。
输入Y
在hadoop路径下删除hdfs,再新建(mkdir hsfs目录),再在hdfs目录下新建data,name,tmp目录。
node02,node03同理
重新格式化
版权归原作者 qweqwe1231231 所有, 如有侵权,请联系我们删除。