Zookeeper单例搭建与伪集群搭建
- 搭建方式
- 单机安装
- 伪集群搭建
搭建方式
- 单机模式—— 运行在一台机器上
- 集群模式—— 运行在多个机器上形成"集合体"
- 伪集群模式—— 一台机器上运行多个Zookeeper
单机安装
下载地址:
http://zookeeper.apache.org/releases.html
以3.4.14版本为例
- 解压压缩包
tar -zxvf zookeeper-3.4.14.tar.gz
- 进入zookeeper的根目录,创建data文件夹
mkdir data
- 修改配置文件
cd conf
mv zoo_sample.cfg zoo.cfg
- 修改zoo.cfg的data属性
dataDir=/root/zookeeper-3.4.14/data
- zookeeper启动
#进入bin目录下
./zkServer.sh start
启动成功
其他命令
#停止服务
./zkServer.sh stop
#查看状态
./zkServer.sh status
伪集群搭建
至少需要运行3个Zookeeper,以端口来做区分。配置配置文件(conf/zoo.cfg)下的属性 clientPort(端口)、dataDir(数据目录)、dataLogDir(日志文件),还要在dataDir下创建myid文件来指定对应的Zookeeper服务器实例。
server.x与myid种x对应了myid文件中的数字,如三个zookeeper下的data文件夹中的myid为1、2、3,则server.x分别人server.1、server.2、server.3。因为是在同一个服务器上所有后面地址需要连接2个端口分别为:服务端口、选举端口,这样来避免端口冲突。
搭建步骤
- 按照单机安装的方式分别解压出3个Zookeeper
- 进入zookeeper创建data目录,在data下创建logs目录
- 在data的文件夹中创建myid文件,以服务1为例
#其他2、3服务器myid分别为2,3
echo 1 >> myid
- 配置文件zoo.cfg,这里以服务1为例(2,3服务端口[clientPort]分别为2882、2883,dataDir与dataLogDir对应其相应的根目录),除dataDir与dataLogDir根路径不一样外其他配置保持一致。
dataDir=/usr/local/zoocluster/zookeeper01/data
dataLogDir=/usr/local/zoocluster/zookeeper01/data/logs
clientPort=2181
server.1=127.0.0.1:2881:3181
server.2=127.0.0.1:2882:3182
server.3=127.0.0.1:2883:3183
- 启动所有zookeeper服务
#到每个zookeeper的bin目录依次启动
./zkServer.sh star
调用各个服务的status查看主从状态