安装单机 Zookeeper
1. 下载Zookeeper 安装包
在 http://zookeeper.apache.org 官网下载。
2. 上传安装包
将下载的 Zookeeper 安装包上传到 zk04 主机的/usr/tools 目录。
我一般安装包放在tools里,安装在apps里
3. 安装配置 zk
(1) 解压安装包
解压后的目录结构
bin目录中,核心的两个命令:一个是客户端命令,一个是服务端命令
(2) 创建软链接
目的是后面把路径注册到path路径下,让它和版本号解除绑定
(3) 复制配置文件
复制 Zookeeper 安装目录下的 conf 目录中的 zoo_sample.cfg 文件,并命名为 zoo.cfg。
(4) 修改配置文件
- tickTime:对于zookeeper计时单位是1tick,而1tick就是2000毫秒
- initLimit:初始化同步阶段花费的tick时间数量,即初始化同步的超时时限
- syncLimit:更新同步的超时时限
- dataDir:快照存储的目录,除了快照还有其他内容,禁止使用/tmp,临时目录
- 每隔一段时间会把树形结构的数据序列化然后存入磁盘
- clientPort:客户端端口号,即当前服务端监控的端口号是2181,客户端想要连接我就使用2181端口。
(5) 新建数据存放目录
(6) 注册 bin 目录
(7) 重新加载 profile 文件
4. 操作 zk
(1) 开启 zk
(2) 查看状态
standalone:代表单机版
(3) 重启 zk
(4) 停止 zk
搭建 Zookeeper 集群
下面要搭建一个由四台 zk 构成的 zk 集群,其中一台为 Leader,两台 Follower,一台Observer。
1. 克隆并配置第一台主机
(1) 克隆并配置主机
克隆前面单机 Zookeeper 主机后,要修改如下配置文件:
- 修改主机名:/etc/hostname
- 修改网络配置:/etc/sysconfig/network-scripts/ifcfg-ens33
(2) 创建 myid 文件
在/usr/data/zookeeper 目录中创建表示当前主机编号的 myid 文件,该编号为当前主机在集群中的唯一标识。
(3) 修改 zoo.cfg
在 zoo.cfg 文件中添加 zk 集群节点列表。
2888叫做连接端口号,集群正常运行状态下,他们之间通信就是通过2888端口通信的
3888是选举端口号,当集群Leader选举的时候,他们之间通信用的就是3888端口
2. 克隆并配置另两台主机
克隆并配置另外两台主机的方式是相同的,下面以 zkos2 为例。
(1) 克隆主机
克隆前面 zkos1 主机后,要修改如下配置文件:
- 修改主机名:/etc/hostname
- 修改网络配置:/etc/sysconfig/network-scripts/ifcfg-ens33
(2) 修改 myid
修改 myid 的值与 zoo.cfg 中指定的主机编号相同。
3. 克隆并配置第四台主机
第四台主机即为要作 Observer 的主机。
4. 启动 zk 集群
使用 zkServer.sh start 命令,逐个启动每一个 Zookeeper 节点主机。
关闭机器2,机器3成为leader,查看机器3下的data/…/version-2/目录
acceptedEpoch:接受的epoch
currentEpoch:当前的epoch
snapshot.10000:每个一段时间zookeeper会将树形结构的数据序列化存一份
看到机器3接受和当前的epoch都是2,因为刚才重新选举过一次
伪集群的搭建
这里要搭建的集群与前面的集群相同,都由四台服务器组成,其中第四台为 Observer。
伪集群的搭建与真实集群的搭建差不多。其主机步骤分为四大步。
1. 复制配置文件
这里需要四个配置文件,都存放在 zk 安装目录的 conf 目录中。所以它们的文件名肯定是不同的。
2. 修改配置文件内容
以下是第四台 Server 的配置文件
另外三个配置文件中指定的 dataDir 分别是/usr/data/zookeeper1、/usr/data/zookeeper2、/usr/data/zookeeper3。clientPort 分别是 2181、2182、2183。当然,另外三个配置文件中不要设置 peerType=observer。
3. 创建数据目录
在/usr/data 下创建如下四个目录。
4. 创建 myid 文件
分别在 zookeeper1、zookeeper2、zookeeper3、zookeeper4 四个目录中创建四个 myid 文件,内容分别为 1、2、3、4。
5. 集群启动
伪集群的启动需要指定每台 Server 启动所使用的配置文件。进入到 zk 的安装目录。
查看各个 Server 的状态。