计算机系统应用教程网站

网站首页 > 技术文章 正文

0249-如何在CDH集群中安装Hive2.3.3

btikc 2024-10-12 10:58:11 技术文章 8 ℃ 0 评论

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

Fayson的github:https://github.com/fayson/cdhproject

提示:代码块部分可以左右滑动查看噢

1.文档编写目的


本篇文章主要介绍如何在CDH集群中配置及部署Hive2.3.3版本的服务,在配置及部署Hive2服务的同时不停用CDH集群默认的Hive服务。

  • 内容概述

1.环境准备

2.配置及部署Hive2.3.3服务

3.Hive2.3.3服务启动及功能验证

  • 测试环境

1.CM和CDH版本为5.14.3

2.Hive的版本为2.3.3

3.操作系统版本为RedHat7.4

4.JDK版本为1.8.0_131

5.集群未启用Kerberos

2.环境准备


1.Hive2官网下载地址如下

http://mirrors.hust.edu.cn/apache/hive/hive-2.3.3/apache-hive-2.3.3-bin.tar.gz

(可左右滑动)

2.将apache-hive-2.3.3-bin.tar.gz包下载至服务器

[root@ip-172-31-16-68 ~]# wget http://mirrors.hust.edu.cn/apache/hive/hive-2.3.3/apache-hive-2.3.3-bin.tar.gz

(可左右滑动)

3.选择使用MySQL作为Hive2的元数据库,在MySQL中创Hive2的数据库及访问用户

CREATE DATABASE hive2metastore DEFAULT CHARACTER SET UTF8;
CREATE USER 'hive2'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON hive2metastore.* TO 'hive2'@'%';
FLUSH PRIVILEGES;

(可左右滑动)

3.配置及部署Hive2


1.将下载下来的apache-hive-2.3.3-bin.tar.gz包解压至当前目录

[root@ip-172-31-5-171 ~]# tar -zxvf apache-hive-2.3.3-bin.tar.gz
[root@ip-172-31-5-171 ~]# mv apache-hive-2.3.3-bin hive2.3.3
[root@ip-172-31-5-171 ~]# ll hive2.3.3

(可左右滑动)

2.安装MySQL的JDBC驱动

[root@ip-172-31-5-171 hive-2.3.3]# cp /usr/share/java/mysql-connector-java-5.1.34.jar ./lib/
[root@ip-172-31-5-171 hive-2.3.3]# pwd
/root/hive-2.3.3
[root@ip-172-31-5-171 hive-2.3.3]# ll ./lib/mysql-*

(可左右滑动)

3.将hive-2.3.3目录移至/opt/cloudera目录下

[root@ip-172-31-5-171 ~]# mv hive-2.3.3 /opt/cloudera/
[root@ip-172-31-5-171 ~]# ll /opt/cloudera/hive-2.3.3/

(可左右滑动)

4.进入/opt/cloudera/hive-2.3.3/conf目录,创建Hive2的配置文件

cp hive-env.sh.template hive-env.sh
cp hive-default.xml.template hive-site.xml
cp hive-log4j2.properties.template hive-log4j2.properties
cp hive-exec-log4j2.properties.template hive-exec-log4j2.properties

(可左右滑动)

5.添加Hadoop的配置文件,这里使用软连接的方式

[root@ip-172-31-5-171 hive-2.3.3]# cd conf/
[root@ip-172-31-5-171 conf]# ln -s /etc/hadoop/conf.cloudera.yarn/ yarn-conf
[root@ip-172-31-5-171 conf]# ll yarn-conf/

(可左右滑动)

6.修改hive-env.sh配置文件,在文件末尾添加如下内容

[root@ip-172-31-5-171 conf]# pwd
/opt/cloudera/hive-2.3.3/conf
[root@ip-172-31-5-171 conf]# vim hive-env.sh 
export JAVA_HOME=/usr/java/jdk1.8.0_131
export HIVE2_HOME=/opt/cloudera/hive2.3.3
export HIVE2_CONF_DIR=/opt/cloudera/hive2.3.3/conf

(可左右滑动)

7.修改hive-site.xml配置文件,修改如下配置

<property>
 <name>hive.metastore.uris</name>
 <value>thrift://ip-172-31-5-171.ap-southeast-1.compute.internal:9083</value>
</property>
<property>
 <name>javax.jdo.option.ConnectionDriverName</name>
 <value>com.mysql.jdbc.Driver</value>
 </property>
<property>
<property>
 <name>javax.jdo.option.ConnectionURL</name>
 <value>jdbc:mysql://ip-172-31-8-230.ap-southeast-1.compute.internal:3306/hive2metastore?useUnicode=true&characterEncoding=UTF-8</value>
</property>
<property>
 <name>javax.jdo.option.ConnectionUserName</name>
 <value>hive2</value>
</property>
<property>
 <name>javax.jdo.option.ConnectionPassword</name>
 <value>password</value>
</property>
<property>
 <name>hive.exec.scratchdir</name>
 <value>/tmp/hive2</value>
</property>
<property>
 <name>hive.metastore.warehouse.dir</name>
 <value>/user/hive2/warehouse</value>
</property>
<property>
 <name>hive.repl.rootdir</name>
 <value>/user/hive2/repl/</value>
</property>
<property>
 <name>hive.repl.cmrootdir</name>
 <value>/user/hive2/cmroot/</value>
</property>

(可左右滑动)

8.创建Hive2的/tmp目录,并修改hive-site.xml中的配置

[root@ip-172-31-5-171 ~]# mkdir -p /opt/cloudera/hive-2.3.3/tmp/
[root@ip-172-31-5-171 ~]# chmod 777 /opt/cloudera/hive-2.3.3/tmp/
[root@ip-172-31-5-171 ~]# 

(可左右滑动)

将hive-site.xml文件中的{system:jva.io.tmpdir}和{system:user.name}

把{system:java.io.tmpdir} 改成 /opt/cloudera/hive-2.3.3/tmp/
把 {system:user.name} 改成 {user.name}

(可左右滑动)

9.在HDFS上创建hive2的warehouse目录,与配置hive-site.xml配置文件中hive.metastore.warehouse.dir一致

[root@ip-172-31-8-230 bin]# sudo -u hdfs hadoop fs -mkdir -p /user/hive2/warehouse
[root@ip-172-31-8-230 bin]# sudo -u hdfs hadoop fs -chown -R hive:hive /user/hive2
[root@ip-172-31-8-230 bin]# sudo -u hdfs hadoop fs -ls /user/hive2

(可左右滑动)

10.初始化Hive2元数据库

[root@ip-172-31-5-171 bin]# ./schematool -dbType mysql -initSchema hive2 password

(可左右滑动)

以上配置就完成了Hive2服务的配置,这里只是在单个节点上配置的,如果需要将Hive的HiveMetastore和HiveServer2服务安装不同的节点上,就需要将/opt/cloudera/hive-2.3.3目录拷贝至集群的其它节点相同的目录下。

4.HiveMetastore和HiveServer2服务启动


1.启动HiveMetastore服务,命令如下:

[root@ip-172-31-5-171 bin]# pwd
/opt/cloudera/hive-2.3.3/bin
[root@ip-172-31-5-171 bin]# nohup ./hive --service metastore >hive-metastore.log 2>&1 &

(可左右滑动)

检查HiveMetastore服务的9083端口是否监听

[root@ip-172-31-5-171 bin]# netstat -apn |grep 9083
[root@ip-172-31-5-171 bin]# ps -ef |grep 32205

(可左右滑动)

查看HIveMetastore服务的日志

如上截图显示服务的端口、进程及日志均无异常信息则表示HiveMetastore服务启动正常。

2.启动HiveServer2服务

[root@ip-172-31-5-171 bin]# pwd
/opt/cloudera/hive-2.3.3/bin
[root@ip-172-31-5-171 bin]# nohup ./hive --service hiveserver2 >hive-server2.log 2>&1 &

(可左右滑动)

检查HiveServer2端口及进程

查看HiveServer2服务的log日志

如上截图显示服务的端口、进程及日志均无异常信息则表示HiveServer2服务启动正常。

5.Hive2验证


1.HiveCLI命令行验证

[root@ip-172-31-5-171 bin]# sudo -u hive ./hive

(可左右滑动)

执行count和insert操作均成功

2.使用beeline连接测试

[root@ip-172-31-5-171 bin]# ./beeline 
beeline> !connect jdbc:hive2://localhost:10000 hive hive
0: jdbc:hive2://localhost:10000>

(可左右滑动)

创建表

向表中插入数据

执行count操作

3.以上操作均正常执行,查看Yarn的8088界面可以看到作业均执行成功

到此就完成了Hive2服务的配置及部署,在后面的文章Fayson会介绍Hive2服务与Spark的集成,以及在Hue界面集成等。

提示:代码块部分可以左右滑动查看噢

为天地立心,为生民立命,为往圣继绝学,为万世开太平。

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。

原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表