准备:打开三台虚拟机,并且连接好xshell

1.上传apache-hive-2.3.3-bin.tar.gz压缩包文件到/opt/software目录下,

可以使用rz命令,选择路径上传,也可以直接把文件从本地拖拽致xshell内,也可以使用xftp来传输。

  1. 解压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&amp;useUnicode=true&amp;characterEncoding=UTF-8&amp;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

  1. 在浏览器中访问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同理

重新格式化

 

Logo

欢迎加入西安开发者社区!我们致力于为西安地区的开发者提供学习、合作和成长的机会。参与我们的活动,与专家分享最新技术趋势,解决挑战,探索创新。加入我们,共同打造技术社区!

更多推荐