|NO.Z.00012|——————————|Deployment|——|Hadoop&Spark环境部署.v12|——|Hive.v02|Hive.metastore|HiveServer2|HCatalog|

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

[root@hadoop02 ~]# cd /opt/yanqi/servers/

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

[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://hadoop03:9083</value>
</property>
~~~     # 发送到其它节点

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

~~~     # 分别在Hadoop01和Hadoop03上执行以下命令,查看连接情况
~~~     # 启动 metastore 服务
[root@hadoop01 ~]# nohup hive --service metastore &
[root@hadoop01 ~]# 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)
~~~     # 在client.Hadoop02上写入数据

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

[root@hadoop03 ~]# 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启动状态

[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@hadoop03 ~]# 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)
~~~     # 杀掉Hadoop03查看是否会移交接管

[root@hadoop03 ~]# 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@hadoop03 ~]# kill -9 15624
~~~     # 在client.Hadoop02上写入数据
~~~     高可用测试。关闭已连接的metastore服务,发现hive连到另一个节点的服务上,仍然能够正常使用。

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  
Hadoop03  
六、修改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服务
### --- 启动hadoop03上的 HiveServer2 服务
### --- 通过浏览器检查hiveserver2的启动情况http://Hadoop03:10002/

~~~     # 启动 hiveserver2 服务
[root@hadoop03 ~]# nohup hiveserver2 &
~~~     # 检查 hiveserver2 端口
[root@hadoop03 ~]# 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://hadoop03:10000                # 连接到HiveServer2
Connecting to jdbc:hive2://hadoop03:10000
Enter username for jdbc:hive2://hadoop03:10000: root         # 连接到数据库上:JDBC用户名:root;密码:123456
Enter password for jdbc:hive2://hadoop03:10000: ******       # 连接到数据库上:JDBC用户名:root;密码:123456
Connected to: Apache Hive (version 2.3.7)
Driver: Hive JDBC (version 2.3.7)
Transaction isolation: TRANSACTION_REPEATABLE_READ
0: jdbc:hive2://hadoop03:10000> show databases;              # 此刻可以查询到数据
+----------------+
| database_name  |
+----------------+
| default        |
+----------------+

八、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  阅读(31)  评论(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

导航

统计

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