|NO.Z.00010|——————————|Deployment|——|Hadoop&PB级离线数仓.v02|——|Hive.v02|HiveServer2安装配置|

一、metastore远程模式配置规划:
节点 metastore client
Hadoop01  
Hadoop02  
Hadoop05  
二、配置并启动HiveServer服务
### --- 将Hadoop02 的 hive 安装文件拷贝到Hadoop01、Hadoop05并配置

[root@hadoop02 servers]# scp -r  hive-2.3.7/ hadoop01:$PWD
[root@hadoop02 servers]# scp -r  hive-2.3.7/ hadoop05:$PWD
~~~     # 在Hadoop01和Hadoop05配置环境变量

[root@hadoop01 ~]# vim /etc/profile
##HIVE_HOME
export HIVE_HOME=/opt/yanqi/servers/hive-2.3.7
export PATH=$PATH:$HIVE_HOME/bin
[root@hadoop01 ~]# source /etc/profile
~~~     # 安装lsof

[root@hadoop01 ~]# yum install lsof -y
### --- 启动hdfs及yarn服务

~~~     # 启动hdfs和yarn
[root@hadoop01 ~]# start-dfs.sh
[root@hadoop01 ~]# start-yarn.sh  
三、配置并启动hive.client服务
### --- 修改Hadoop02上hive-site.xml。
~~~     删除配置文件中:MySQL的配置、连接数据库的用户名、口令等信息;增加连接metastore的配置:

[root@hadoop02 ~]# vim /opt/yanqi/servers/hive-2.3.7/conf/hive-site.xml
<!-- hive metastore 服务地址 -->
<property>
        <name>hive.metastore.uris</name>
        <value>thrift://Hadoop01:9083,thrift://Hadoop05:9083</value>
</property>
~~~     # 发送到其它节点

[root@hadoop02 ~]# rsync-script /opt/yanqi/servers/hive-2.3.7/conf/hive-site.xml
### --- 启动hive。此时client端无需实例化hive的metastore,启动速度会加快。

~~~     # 分别在Hadoop01和Hadoop05上执行以下命令,查看连接情况
~~~     # 启动 metastore 服务
[root@hadoop01 ~]# nohup hive --service metastore &
[root@hadoop01 ~]# lsof -i:9083
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    10459 root  513u  IPv4  93320      0t0  TCP *:emc-pp-mgmtsvc (LISTEN)
~~~     # 在client.Hadoop02上写入数据

[root@hadoop02 ~]# hive
hive (default)> show databases;
database_name
default
~~~     # 查看hadoop01和hadoop05查看进程的变化

[root@hadoop05 ~]# lsof -i:9083
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    15624 root  513u  IPv4 122919      0t0  TCP *:emc-pp-mgmtsvc (LISTEN)
java    15624 root  514u  IPv4 123038      0t0  TCP hadoop05:emc-pp-mgmtsvc->hadoop02:56232 (ESTABLISHED)
四、高可用测试
### --- 查看metastore启动状态
~~~     高可用测试。关闭已连接的metastore服务,发现hive连到另一个节点的服务上,仍然能够正常使用。

[root@hadoop01 ~]# lsof -i:9083
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    11698 root  513u  IPv4 108897      0t0  TCP *:emc-pp-mgmtsvc (LISTEN)
[root@hadoop05 ~]# lsof -i:9083
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    15624 root  513u  IPv4 122919      0t0  TCP *:emc-pp-mgmtsvc (LISTEN)
java    15624 root  514u  IPv4 123038      0t0  TCP hadoop05:emc-pp-mgmtsvc->hadoop02:56232 (ESTABLISHED)
~~~     # 杀掉Hadoop05查看是否会移交接管

[root@hadoop05 ~]# lsof -i:9083
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    15624 root  513u  IPv4 122919      0t0  TCP *:emc-pp-mgmtsvc (LISTEN)
java    15624 root  514u  IPv4 123038      0t0  TCP hadoop05:emc-pp-mgmtsvc->hadoop02:56232 (ESTABLISHED)

[root@hadoop05 ~]# kill -9 15624
~~~     # 在client.Hadoop02上写入数据

hive (default)> show databases;
 
[root@hadoop01 ~]# lsof -i:9083
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    11698 root  513u  IPv4 108897      0t0  TCP *:emc-pp-mgmtsvc (LISTEN)
java    11698 root  515u  IPv4 109976      0t0  TCP hadoop01:emc-pp-mgmtsvc->hadoop02:34556 (ESTABLISHED)

五、HiveServer2配置:HiveServer2配置配置规划:
节点 HiveServer2 client(beeline)
Hadoop02  
Hadoop05  
六、修改Hadoop配置,为HiveServer2准备环境
### --- 修改集群上的 core-site.xml,增加以下内容:

[root@hadoop01 ~]# vim /opt/yanqi/servers/hadoop-2.9.2/etc/hadoop/core-site.xml
<!-- HiveServer2 连不上10000;hadoop为安装用户 -->
<!-- root用户可以代理所有主机上的所有用户 -->
<property>
        <name>hadoop.proxyuser.root.hosts</name>
        <value>*</value>
</property>
<property>
        <name>hadoop.proxyuser.root.groups</name>
        <value>*</value>
</property>
 
[root@hadoop01 ~]# stop-dfs.sh
### --- 修改 集群上的 hdfs-site.xml,增加以下内容:

[root@hadoop01 ~]# vim /opt/yanqi/servers/hadoop-2.9.2/etc/hadoop/hdfs-site.xml
<!-- HiveServer2 连不上10000;启用 webhdfs 服务 -->
<property>
        <name>dfs.webhdfs.enabled</name>
        <value>true</value>
</property>
~~~     # 发送到其它节点上

[root@hadoop01 ~]# rsync-script /opt/yanqi/servers/hadoop-2.9.2/etc/hadoop/
[root@hadoop01 ~]# start-dfs.sh
七、配置并启动HiveServer2服务
### --- 启动hadoop05上的 HiveServer2 服务
### --- 通过浏览器检查hiveserver2的启动情况http://Hadoop05:10002/

~~~     # 启动 hiveserver2 服务
[root@hadoop05 ~]# nohup hiveserver2 &
~~~     # 检查 hiveserver2 端口
[root@hadoop05 ~]# lsof -i:10000
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    15888 root  521u  IPv4 128333      0t0  TCP *:ndmp (LISTEN)
~~~     # 从2.0开始,HiveServer2提供了WebUI
### --- 启动Hadoop02节点上的 beeline

~~~     Beeline是从 Hive 0.11版本引入的,是 Hive 新的命令行客户端工具。
~~~     Hive客户端工具后续将使用Beeline 替代 Hive 命令行工具 ,
~~~     并且后续版本也会废弃掉 Hive 客户端工具。
[root@hadoop02 ~]# /opt/yanqi/servers/hive-2.3.7/bin/beeline    # 什么都没有连接上
Beeline version 2.3.7 by Apache Hive        
beeline> !connect jdbc:hive2://hadoop05:10000                   # 连接到数据库上:JDBC用户名:root;密码:空格
0: jdbc:hive2://hadoop05:10000> show databases;                 # 此刻可以查询到数据
+----------------+
| database_name  |
+----------------+
| default        |
+----------------+
beeline> !connect jdbc:hive2://hadoop05:10000
Enter username for jdbc:hive2://hadoop05:10000: root
Enter password for jdbc:hive2://hadoop05:10000: *

八、HCatalog
### --- HCatalog

~~~     # 进入 hcat 所在目录。$HIVE_HOME/hcatalog/bin
[root@hadoop02 ~]# cd $HIVE_HOME/hcatalog/bin
~~~     # 执行命令,创建表
[root@hadoop02 bin]# ./hcat -e "create table default.test1(id string, name string, age int)"
~~~     # 长命令可写入文件,使用 -f 选项执行
[root@hadoop02 bin]# ./hcat -f createtable.txt
~~~     # 查看元数据 
[root@hadoop02 bin]#  ./hcat -e "use mydb; show tables"
~~~     # 查看表结构
[root@hadoop02 bin]# ./hcat -e "desc mydb.emp"
~~~     # 删除表
[root@hadoop02 bin]# ./hcat -e "drop table default.test1"

 
 
 
 
 
 
 
 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

posted on   yanqi_vip  阅读(28)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示