安装ZooKeeper集群
1 软件环境
注:我的Hadoop环境已经安装完成。
1.1 版本选择
版本的兼容问题很重要!!
软件环境 | 版本号 | 备注 |
---|---|---|
CentOS7 | 7.6 | |
JDK | 1.8.0 | |
Hadoop | 3.1.3 | hadoop-3.1.3.tar.gz |
ZooKeeper | 3.6.3 | apache-zookeeper-3.6.3-bin.tar.gz |
HBase | 2.4.15 | hbase-2.4.15-bin.tar.gz |
Hive | 3.1.2 | apache-hive-3.1.2-bin.tar.gz |
1.2 软件下载
# Hadoop下载地址
https://hadoop.apache.org/release.html
# 下载hadoop-3.1.3.tar.gz
https://archive.apache.org/dist/hadoop/common/hadoop-3.1.3/hadoop-3.1.3.tar.gz
# ZooKeeper下载地址
https://zookeeper.apache.org/releases.html
# 下载apache-zookeeper-3.6.3-bin.tar.gz
https://dlcdn.apache.org/zookeeper/zookeeper-3.6.3/apache-zookeeper-3.6.3-bin.tar.gz
# HBase下载地址
https://hbase.apache.org/downloads.html
# 下载hbase-2.4.15-bin.tar.gz
https://dlcdn.apache.org/hbase/2.4.15/hbase-2.4.15-bin.tar.gz
# Hive下载地址
https://hive.apache.org/downloads.html
# 下载apache-hive-3.1.2-bin.tar.gz
https://dlcdn.apache.org/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz
1.3 Hadoop集群环境
主机名 | HDFS | YARN | IP地址 | 说明 |
---|---|---|---|---|
hadoop0 | DataNode、NameNode | NodeManager | 192.168.108.10 | 主节点(master) |
hadoop1 | DataNode | NodeManager、ResourceManager | 192.168.108.11 | 子节点 |
hadoop2 | DataNode、Secondary NameNode | NodeManager | 192.168.108.12 | 子节点 |
2 安装ZooKeeper
2.1 ZooKeeper集群
安装目录是/opt/
主机名 | ZooKeeper | id信息 | HDFS | IP地址 | 说明 |
---|---|---|---|---|---|
hadoop0 | ZooKeeper | 1 | DataNode、NameNode | 192.168.108.10 | 主节点(master) |
hadoop1 | ZooKeeper | 2 | DataNode | 192.168.108.11 | 子节点 |
hadoop2 | ZooKeeper | 3 | DataNode、Secondary NameNode | 192.168.108.12 | 子节点 |
2.2 在主节点安装
(1) 解压文件
# 先将apache-zookeeper-3.6.3-bin.tar.gz复制到/opt目录下
# 进入安装目录
cd /opt
# 解压文件
tar -xzvf apache-zookeeper-3.6.3-bin.tar.gz
# 重命名文件
mv apache-zookeeper-3.6.3-bin zookeeper-3.6.3
(2)配置文件
# 配置id
cd zookeeper-3.6.3
# 创建文件
mkdir zkdata
# 进入zkdata目录
cd zkdata
# 创建文件
touch myid
# 编辑myid文件
# 集群对应的编号:hadoop0->1;hadoop1->2;hadoop2->3
vim myid
# 重命名zoo_sample.cfg文件为zoo.cfg
# 进入“/opt/zookeeper-3.6.3/conf”目录
cd /opt/zookeeper-3.6.3/conf
# 重命名zoo_sample.cfg
mv zoo_sample.cfg zoo.cfg
修改zoo.cfg文件,修改内容如下
注:其他内容不需要修改
# 修改参数dataDir
dataDir=/opt/zookeeper-3.6.3/zkdata
# the port at which the clients will connect
clientPort=2181
# 添加以下内容,可以用主机名代替IP地址
server.1=192.168.108.10:2888:3888
server.2=192.168.108.11:2888:3888
server.3=192.168.108.12:2888:3888
2.3 复制主节点ZooKeeper到子节点
# 复制文件
scp -r /opt/zookeeper-3.6.3 root@hadoop1:/opt/
scp -r /opt/zookeeper-3.6.3 root@hadoop2:/opt/
# 记得修改myid的编号
cd /opt/zookeeper-3.6.3/zkdata
vim myid
2.4 启动节点
(1)配置用户环境变量
注:根据自己的情况,可以不配置用户环境变量
# 编辑".bash_profile"文件,在用户的home目录下
# 注意:"~/.bash_profile"是用户的环境变量;"/etc/profile"是系统的环境变量;都可以实现在系统中启动应用
vim ~/.bash_profile
# 添加以下内容
ZOOKEEPER_HOME=/opt/zookeeper-3.6.3
PATH=$PATH:$ZOOKEEPER_HOME/bin
export PATH
# 使用户环境变量生效
source ~/.bash_profile
# 在3个节点中分别启动ZooKeeper,即每个节点上都需要执行下面的命令
zkServer.sh start
# 查看ZooKeeper的状态,如果Mode是follower表明分布式安装成功,如果是standalone表明单主机安装
zkServer.sh status
# 停止ZooKeeper
zkServer.sh stop
# 重启ZooKeeper
zkServer.sh restart
3 使用ZooKeeper集群
3.1 连接集群
# zkCli.sh -server IP:端口号
zkCli.sh -server 192.168.108.10:2181
# 进入后会显示如下
3.2 常用命令
注意:ZooKeeper的命令类似于Linux命令
# (1)使用help,可以查看常用命令
help
# (2)查看节点列表
ls /
# 返回值ZooKeeper根目录下所有znode节点
[zookeeper]
# 查看zooKeeper目录下的文件
ls /zookeeper
# (3)创建节点
# create [-s] [-e] path data acl
# -s:设置节点为持久节点;-e:设置节点为临时节点(临时节点在会话关闭后自动删除);
# acl:设置权限控制
# 默认创建持久节点
create /myzk "myzkdata"
# 查看新创建的根节点
ls /
# 返回结果
[myzk, zookeeper]
# 在myzk节点下创建二级节点
create /myzk/node1 "myzknode1"
# 查看新创建的二级节点
ls /myzk
# 返回值
[node1]
# 创建临时节点
create -e /myzk/node2 "myzknode2"
# (4)查看节点详情
get /myzk
# 返回值
myzkdata
# (5)修改节点数据
set /myzk {name:"Mason",age:20}
# (6)删除节点
# 先删除二级节点
delete /myzk/node1
# 再删除根节点
delete /myzk