安装Zookeeper(单机&集群)
10.安装Zookeeper(单机&集群)
zookeeper 有两种运行模式:集群模式和单机模式。
下载 zookeeper 安装包:下载完成,通过 tar -zxvf 解压
常用命令
- 启动 ZK 服务: bin/zkServer.sh start
- 查看 ZK 服务状态: bin/zkServer.sh status
- 停止 ZK 服务: bin/zkServer.sh stop
- 重启 ZK 服务: bin/zkServer.sh restart
- 连接服务器: zkCli.sh -timeout 0 -r -server ip:port
单机环境安装
一般情况下,在开发测试环境,没有这么多资源的情况下,而且也不需要特别好的稳定性的前提下,我们可以使用单机部署;
初次使用 zookeeper,需要将 conf 目录下的 zoo_sample.cfg 文件 copy 一份重命名为 zoo.cfg 修改 dataDir 目录,dataDir 表示日志文件存放的路径
tar -zxvf apache-zookeeper-3.5.5-bin.tar.gz
cd apache-zookeeper-3.5.5/conf
cp zoo_sample.cfg zoo.cfg
vim zoo.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/program/apache-zookeeper-3.5.5/data
dataLogDir=/opt/program/apache-zookeeper-3.5.5/logs
# the port at which the clients will connect
clientPort=2181
启动Zookeeper
cd /opt/program/apache-zookeeper-3.5.5/
sh bin/zkServer.sh start
集群环境安装
在 zookeeper 集群中,各个节点总共有三种角色,分别是:leader,follower,observer
集群模式我们采用模拟 3 台机器来搭建 zookeeper 集群。分别复制安装包到三台机器上并解压,同时 copy 一份 zoo.cfg。
修改配置文件 zoo.cfg
修改端口
#【2888:zookeeper 原子广播端口;3888:重新选举 leader 的端口】 # 注意: ip和端口之间使用 “:” 连接,不是 “.”;3888 后面不能有空格 server.1=IP1:2888:3888 server.2=IP2:2888:3888 server.3=IP3:2888:3888server.A=B:C:D,其中:
- A 是一个数字,表示这个是第几号服务器;
- B 是这个服务器的 ip 地址;
- C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;
- D 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举, 选出一个新的 Leader, 而这个端口就是用来执行选举时服务器相互通信的端口。如果是伪集群的配置方式,由于 B 都是一样, 所以不同的 Zookeeper 实例通信端口号不能一样,所以要给它们分配不同的端口号。
在集群模式下,集群中每台机器都需要感知到整个集群是由哪几台机器组成的,在配置文件中,按照格式 server.id=host:port:port,每一行代表一个机器配置
id: 指的是 server ID,用来标识该机器在集群中的机器序号
新建 datadir 目录,设置 myid
在每台 zookeeper 机器上,我们都需要在数据目录(dataDir)下创建一个 myid 文件,该文件只有一行内容,对应每台机器的 Server ID 数字;比如 server.1 的 myid 文件内容就是 1。【必须确保每个服务器的 myid 文件中的数字不同,并且和自己所在机器的 zoo.cfg 中 server.id 的 id 值一致,id 的范围是 1~255】
启动 zookeeper
参考: