1、启动Zookeeper【Hadoop高可用集群依赖于Zookeeper集群,所以在启用Hadoop高可用集群前需确保启动Zookeeper集群】

分别在虚拟机node01、node02、node03中执行“zkServer.sh start”命令启动zookeeper服务。

hiveserver2 基于 zookeeper 负载均衡 hive依赖zookeeper_big data

2、查看Zookeeper服务状态

分别在虚拟机node01、node02、node03中执行“zkServer.sh status”命令查看Zookeeper服务状态及角色

hiveserver2 基于 zookeeper 负载均衡 hive依赖zookeeper_hive_02

3、启动JournalNode【负责hadoop两个Namenode通信,进行数据同步】****

分别在虚拟机node01、node02、node03中执行“hadoop-daemon.sh start journalnode

hiveserver2 基于 zookeeper 负载均衡 hive依赖zookeeper_big data_03

4、执行"jps"命令查看Journalnode是否启动成功,若出现Journalnode进程则证明Journalnode启动成功。

注:jps(全称:Java Virtual Machine Process Status Tool)是java提供的一个用来显示当前所有Java进程的pid的命令

hiveserver2 基于 zookeeper 负载均衡 hive依赖zookeeper_zookeeper_04

5、启动HDFS

启动Hadoop集群的HDFS,此时虚拟机node01和node02上的Namenode和ZKFC以及虚拟机node01、node02和node03上的Datanode都会被启动。只需要在虚拟机node01上执行“start-dfs.sh”即可启动Hadoop集群的HDFS。

hiveserver2 基于 zookeeper 负载均衡 hive依赖zookeeper_数据仓库_05

6、启动Yarn【Hadoop资源管理器】

启动Hadoop集群的Yarn,此时虚拟机node01上的ResourceManger以及虚拟机node01、node02和node03上的NodeManger都会被启动,在虚拟机node01上执行“start-yarn.sh”命令启动Hadoop集群的Yarn。

hiveserver2 基于 zookeeper 负载均衡 hive依赖zookeeper_zookeeper_06

需要注意的是,执行上述命令后,备用节点(虚拟机Node02)上的ResourceMannger并不会启动,因此需要在虚拟机node02上执行“yarn-daemon.sh start resourcemanager”命令启动Hadoop集群的Yarn。

hiveserver2 基于 zookeeper 负载均衡 hive依赖zookeeper_hadoop_07

7、查看Hadoop集群各个节点服务的启动情况

分别在3台虚拟机node01、node02和node03上执行“jps”命令,查看Hadoop高可用集群各个节点相关服务进程是否成功启动,效果图如下:

hiveserver2 基于 zookeeper 负载均衡 hive依赖zookeeper_hadoop_08


hiveserver2 基于 zookeeper 负载均衡 hive依赖zookeeper_hive_09


hiveserver2 基于 zookeeper 负载均衡 hive依赖zookeeper_hadoop_10


8、Hive部署之远程模式启动

node02:Hive服务端,需要启动MySQL服务和HiveServer2服务

node03:客户端,使用虚拟机node03作为客户端远程连接虚拟机node02中的HiveServer2服务操作Hive。

(1)启动MySQL服务

在虚拟机node02上执行“systemctl start mysqld.service”命令启动MySQL服务,待MySQL服务启动完成后,执行“systemctl status mysqld.service”命令查看MySQL服务运行状态。

hiveserver2 基于 zookeeper 负载均衡 hive依赖zookeeper_数据仓库_11


(2)启动HiveServer2服务【客户端执行Hive查询的服务】

在虚拟机node02中执行"hive --service hiveserver2 &"命令启动HiveServer2服务。

注:通过hiveserver2命令启动的HiveServer2服务,不能关闭当前窗口,否则会停止HiveServer2服务。若需要手动停止HiveServer2服务,可用通过按下组合键Ctrl+C实现。

hiveserver2 基于 zookeeper 负载均衡 hive依赖zookeeper_big data_12

(3)启动Hive客户端工具

在虚拟机node03执行"beeline -u jdbc:hive2://node02:10000 -n root -p"通过Hive客户端工具Beeline远程连接虚拟机node02的HiveServer2服务

-u:指定HiveServer2地址

-n:指定用户名

-p:指定系统用户的密码

hiveserver2 基于 zookeeper 负载均衡 hive依赖zookeeper_big data_13

(4)验证Hive远程连接

在虚拟机node03的HIve客户端工具Beeline中执行“show databases;”命令查看数据库列表

hiveserver2 基于 zookeeper 负载均衡 hive依赖zookeeper_hive_14

关闭Hadoop高可用集群

关闭Hadoop高可用集群需按照如下顺序进行操作。

1、关闭ResourceManager备用节点,在虚拟机node02上执行“yarn-daemon.sh stop resourcemanager”命令。

hiveserver2 基于 zookeeper 负载均衡 hive依赖zookeeper_zookeeper_15

2、关闭Yarn,在虚拟机node01上执行“stop-yarn.sh”

hiveserver2 基于 zookeeper 负载均衡 hive依赖zookeeper_数据仓库_16

3、关闭hdfs,在虚拟机node01上执行“stop-dfs.sh”

hiveserver2 基于 zookeeper 负载均衡 hive依赖zookeeper_big data_17


4、关闭Zookeeper【关闭时候使用】

分别在虚拟机node01、node02、node03中执行“zkServer.sh”命令关闭当前虚拟机Zookeeper服务。

hiveserver2 基于 zookeeper 负载均衡 hive依赖zookeeper_hive_18