zookeeper集群搭建

zookeeper集群搭建

版本: VMware Workstation Pro16.2  hadoop2.7  centos7

1.下载

到apache官网下载对应的zookeeper

2.解压

# tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt

3.配置环境变量

# vim /etc/profile

添加环境变量

export ZOOKEEPER_HOME=/opt/zookeeper
export PATH=$ZOOKEEPER_HOME/bin:$PATH

使环境变量生效

# source /etc/profile

 

 4.修改配置

进入安装目录的 conf/ 目录下,拷贝配置样本并进行修改:

# cp zoo_sample.cfg  zoo.cfg

指定数据存储目录和日志文件目录(目录不用预先创建,程序会自动创建),修改后完整配置如下:

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/opt/zookeeper-3.5.7/zkData
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1

server.1=hadoop01:2888:3888
server.2=hadoop02:2888:3888
server.3=hadoop03:2888:3888

 

配置参数说明:

  • tickTime:用于计算的基础时间单元。比如 session 超时:N*tickTime;
  • initLimit:用于集群,允许从节点连接并同步到 master 节点的初始化连接时间,以 tickTime 的倍数来表示;
  • syncLimit:用于集群, master 主节点与从节点之间发送消息,请求和应答时间长度(心跳机制);
  • dataDir:数据存储位置;
  • dataLogDir:日志目录;
  • clientPort:用于客户端连接的端口,默认 2181

5.标识节点

分别在三台主机的 dataDir 目录下新建 myid 文件,并写入对应的节点标识。Zookeeper 集群通过 myid 文件识别集群节点,并通过上文配置的节点通信端口和选举端口来进行节点通信,选举出 Leader 节点。

创建存储目录

mkdir /opt/zookeeper-3.5.7/zkData

创建并写入节点标识到 myid 文件:

vim myid
hadoop01中写入:1
hadoop02中写入:2
hadoop03中写入:3

 

6.启动集群

在三台集群zookeeper的bin/分别启动zookeeper

zkServer.sh start

 

7.验证集群

启动后使用zkServer.sh status查看集群各个节点。如图hadoop02是leader,hadoop01,hadoop03是follower。

 

 

 

posted @ 2022-05-11 20:59  是帅哥没错  阅读(42)  评论(0编辑  收藏  举报