实验一:Zookeeper组件安装配置
1.1:实验环境
- 服务器集群 - 3 个以上节点,节点间网络互通,各节点最低配置:双核 CPU、8GB 内存、100G硬盘
- 运行环境 - CentOS 7.4
1.2:下载和安装 ZooKeeper
ZooKeeper最新的版本可以通过官网 http://hadoop.apache.org/zookeeper/来获取,安装 ZooKeeper 组件需要与 Hadoop 环境适配。
注意,各节点的***需要关闭,否则会出现连接问题。
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
1.3:ZooKeeper的配置选项
1.3.1: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
1.3.2:Slave节点配置
(1)从 Master 节点复制 ZooKeeper 安装目录到两个 Slave 节点。
[root@master ~] # cd ~ [root@master ~] # scp -r /usr/local/src/zookeeper slave1:/usr/local/src/ [root@master ~] # scp -r /usr/local/src/zookeeper slave2:/usr/local/src/
(2)在 slave1 节点上修改 zookeeper 目录的归属用户为 hadoop 用户。
[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 用户。
[root@slave2 ~] # chown -R hadoop:hadoop /usr/local/src/zookeeper
(5)在 slave2 节点上配置该节点的 myid 为 3。
[root@slave2 ~] # echo 3 > /usr/local/src/zookeeper/data/myid
1.3.3:系统环境变量配置
在 master、slave1、slave2 三个节点增加环境变量置。
# vi /etc/profile # 在文件末尾追加 # set zookeeper environment # ZooKeeper 安装目录 export ZOOKEEPER_HOME=/usr/local/src/zookeeper # ZooKeeper 可执行程序目录 export PATH=$PATH:$ZOOKEEPER_HOME/bin
1.4:启动ZooKeeper
启动 ZooKeeper 需要使用 Hadoop 用户进行操作。
(1)分别在 master、slave1、slave2 三个节点使用zkServer.sh start 命令启动ZooKeeper。
[hadoop@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 [hadoop@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 [hadoop@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 状态