已删除用户
发布于 2024-10-21 / 13 阅读
0
0

ZooKeeper组件安装配置

实验二:ZooKeeper组件安装配置

实验目的

完成本实验,您应该能够:

  • 掌握下载和安装ZooKeeper
  • 掌握ZooKeeper的配置选项
  • 掌握启动ZooKeeper

实验要求

  • 了解ZooKeeper的配置选项
  • 熟悉启动ZooKeeper

实验环境

本实验所需之主要资源环境如表1-1所示。

表1-1 资源环境

服务器****集群 3个以上节点,节点间网络互通,各节点最低配置:双核CPU、8GB内存、100G硬盘
运行环境 CentOS 7.4
大数据平台 H3C教学与实践管理系统
服务和组件 完成前面章节的实验,其他服务及组件根据实验需求安装

实验过程

实验任务一:下载和安装ZooKeeper

ZooKeeper最新的版本可以通过官网http://hadoop.apache.org/zookeeper/来获取,安装ZooKeeper组件需要与Hadoop环境适配。

注意,各节点的防火墙需要关闭,否则会出现连接问题。

# 关闭防火墙服务
[root@master ~]# systemctl stop firewalld

# 设置防火墙服务开机不启动	
[root@master ~]# systemctl disable firewalld

1.ZooKeeper的安装包zookeeper-3.4.8.tar.gz已放置在Linux系统/opt/software目录下。

2.解压安装包到指定目标,在Master节点执行如下命令。

[root@master ~]# tar -zxvf /opt/software/zookeeper-3.4.8.tar.gz -C /usr/local/src

[root@master ~]# mv /usr/local/src/zookeeper-3.4.8 /usr/local/src/zookeeper

实验任务二:ZooKeeper的配置选项

步骤一:Master节点配置

(1)在ZooKeeper的安装目录下创建data和logs文件夹。

[root@master ~]# cd /usr/local/src/zookeeper

[root@master zookeeper]# mkdir data && mkdir logs

(2)在每个节点写入该节点的标识编号,每个节点编号不同,master节点写入1,slave1节点写入2,slave2节点写入3。

[root@master zookeeper]# echo 1 > /usr/local/src/zookeeper/data/myid

(3)修改配置文件zoo.cfg

[root@master zookeeper]# cp /usr/local/src/zookeeper/conf/zoo_sample.cfg /usr/local/src/zookeeper/conf/zoo.cfg

[root@master zookeeper]# vi /usr/local/src/zookeeper/conf/zoo.cfg

修改dataDir参数内容如下:

dataDir=/usr/local/src/zookeeper/data

(4)在zoo.cfg文件末尾追加以下参数配置,表示三个ZooKeeper节点的访问端口号。

server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888

(5)修改ZooKeeper安装目录的归属用户为hadoop用户。

[root@master zookeeper]# chown -R hadoop:hadoop /usr/local/src/zookeeper

步骤二:Slave节点配置

(1)从Master节点复制ZooKeeper安装目录到两个Slave节点。

[root@master ~] # cd ~

[root@master ~] # scp -r /usr/local/src/zookeeper root@slave1:/usr/local/src/

[root@master ~] # scp -r /usr/local/src/zookeeper root@slave2:/usr/local/src/

(2)在slave1节点上修改zookeeper目录的归属用户为hadoop用户。

#slave1 root用户
[root@slave1 ~] # chown -R hadoop:hadoop /usr/local/src/zookeeper

(3)在slave1节点上配置该节点的myid为2。

[root@slave1 ~] # echo 2 > /usr/local/src/zookeeper/data/myid

(4)在slave2节点上修改zookeeper目录的归属用户为hadoop用户。

#slave2 root用户
[root@slave2 ~] # chown -R hadoop:hadoop /usr/local/src/zookeeper

(5)在slave2节点上配置该节点的myid为3。

[root@slave2 ~] # echo 3 > /usr/local/src/zookeeper/data/myid

步骤三:系统环境变量配置

在master、slave1、slave2三个节点增加环境变量配置。

#master root用户
[root@master ~] # vi /etc/profile

# 在文件末尾追加
# set zookeeper environment
export ZOOKEEPER_HOME=/usr/local/src/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin		

[root@master ~]# scp /etc/profile root@slave1:/etc/
root@slave1's password: 
profile                                            100% 2272   402.3KB/s   00:00  
  
[root@master ~]# scp /etc/profile root@slave2:/etc/
root@slave2's password: 
profile                                            100% 2272   927.4KB/s   00:00  

[root@master ~]#

实验任务三:启动ZooKeeper

启动ZooKeeper需要使用Hadoop用户进行操作。

(1)分别在master、slave1、slave2三个节点使用zkServer.sh
start命令启动ZooKeeper。

[root@master ~]# su - hadoop

[hadoop@master ~]$ source /etc/profile

# ZooKeeper启动
[hadoop@master ~]$ zkServer.sh start  
JMX enabled by default
Jsing. config:' /usr/1oca1/src/zookeeper/bin/ ../conf/zoo.cfg
starting zookeeper . .STARTED
[root@slave1 ~]# su - hadoop

[hadoop@slave1 ~]$ source /etc/profile

# ZooKeeper启动
[hadoop@slave1 ~]$ zkServer.sh start  

JMX enabled by default
Jsing. config:' /usr/1oca1/src/zookeeper/bin/ ../conf/zoo.cfg
starting zookeeper . .STARTED

[root@slave2 ~]# su - hadoop

[hadoop@slave2 ~]$ source /etc/profile

# ZooKeeper启动
[hadoop@slave2 ~]$ zkServer.sh start 
  
JMX enabled by default
Jsing. config:' /usr/1oca1/src/zookeeper/bin/ ../conf/zoo.cfg
starting zookeeper . .STARTED

(2)三个节点都启动完成后,再统一查看ZooKeeper运行状态。

分别在master、slave1、slave2三个节点使用zkServer.sh
status命令查看ZooKeeper状态。可以看到三个节点的状态分别为follower、leader、follower。三个节点会包括一个leader和两个follower,每个节点地位均等,leader是根据ZooKeeper内部算法进行选举,每个节点的具体状态不固定。

#master节点状态
[hadoop@master ~]$ zkServer.sh status

JMX enabled by default
Using config: /usr/1oca1/src/zookeeper/bin/ ../conf/zoo.cfg
Mode: fo11ower		# follower状态

#slave1节点状态
[hadoop@s1ave1 ~]$ zkServer.sh status

JMX enab1ed by default
Using config:' /usr/1oca1/src/zookeeper/bin/ . ./conf/zoo.cfg
Mode:1eader			# leader状态

#slave2节点状态
[hadoop@s1ave2 ~]$ zkServer.sh status

JMX enabled by default
Using config:' /usr/1oca1/src/zookeeper/bin/ . ./conf/zoo.cfg
Mode: fo11ower		# follower状态

评论