一、单机模式

1、下载

官网下载: https://zookeeper.apache.org/releases.html

2、上传

下载完成后,将zookeeper压缩包上传到linux系统

3、解压

tar -zxvf zookeeper-3.4.6.tar.gz

4、进入zookeeper-3.4.14 ⽬录,创建 data ⽂件夹

cd zookeeper-3.4.6
mkdir data

5、修改配置文件名称

cd conf
mv zoo_sample.cfg zoo.cfg

6、修改zoo.cfg中的data属性

dataDir=/root/zookeeper-3.4.6/data

7、zookeeper服务启动

进⼊bin⽬录,启动服务输⼊命令

./zkServer.sh start

输出以下内容表示启动成功

linux zookeeper后台启动 linux配置zookeeper_zookeeper


关闭服务命令:

./zkServer.sh stop

查看状态

./zkServer.sh status

二、伪集群模式

伪集群模式: Zookeeper不但可以在单机上运⾏单机模式Zookeeper,⽽且可以在单机模拟集群模式 Zookeeper的运行,也就是将不同实例运行在同⼀台机器,⽤端⼝进行区分,伪集群模式为我们体验Zookeeper和做一些尝试性的实验提供了很⼤的便利。比如,我们在测试的时候,可以先使⽤少量数据在伪集群模式下进行测试。当测试可行的时候,再将数据移植到集群模式进行真实的数据实验。这样不但保证了它的可行性,同时大大提高了实验的效率。这种搭建方式,比较简便,成本比较低,适合测试和学习。

注意事项:

⼀台机器上部署了3个server,也就是说单台机器及上运行多个Zookeeper实例。这种情况下,必须保证每个配置文档的各个端口号不能冲突,除clientPort不同之外,dataDir也不同。另外,还要在dataDir所对应的目录中创建myid文件来指定对应的Zookeeper服务器实例。

  • clientPort端口:
    如果在1台机器上部署多个server,那么每台机器都要不同的 clientPort,比如 server1是2181,server2是2182,server3是2183
  • dataDir和dataLogDir:
    dataDir和dataLogDir也需要区分下,将数据文件和日志文件分开存放,同时每个server的这两变量所对应的路径都是不同的
    ■ server.X和myid:
    server.X 这个数字就是对应,data/myid中的数字。在3个server的myid⽂件中分别写⼊了1,2,3,那
    么每个server中的zoo.cfg都配 server.1 server.2,server.3就⾏了。因为在同一台机器上,后面连着的2个端口,3个server都不要⼀样,否则端口冲突

1、下载

官网下载: https://zookeeper.apache.org/releases.html

2、上传

下载完成后,将zookeeper压缩包上传到linux系统

3、解压

mkdir zkcluster
tar -zxvf zookeeper-3.4.14.tar.gz -C /zkcluster

4.改变名称

mv zookeeper-3.4.6 zookeeper01

5.复制并改名

cp -r zookeeper01/ zookeeper02
cp -r zookeeper01/ zookeeper03

6.分别在zookeeper01、zookeeper02、zookeeper03目录下创建data及logs目录

mkdir data
cd data
mkdir logs

7.修改配置文件名称

cd conf
mv zoo_sample.cfg zoo.cfg

8.配置每一个Zookeeper 的配置文件zoo.cfg

修改dataDir, clientPort

clientPort=2181
dataDir=/zkcluster/zookeeper01/data
dataLogDir=/zkcluster/zookeeper01/data/logs
clientPort=2182
dataDir=/zkcluster/zookeeper02/data
dataLogDir=/zkcluster/zookeeper02/data/logs
clientPort=2183
dataDir=/zkcluster/zookeeper03/data
dataLogDir=/zkcluster/zookeeper03/data/logs

9.配置集群

(1)在每个zookeeper的data目录下创建⼀个 myid 文件,内容分别是1、2、3 。这个文件就是记录每个服务器的ID。

touch myid

(2)在每一个zookeeper的zoo.cfg配置客户端访问端口(clientPort)和集群服务器IP列表。

#server.服务器ID=服务器IP地址:服务器之间通信端⼝:服务器之间投票选举端⼝
server.1=localhost:2222:3881
server.2=localhost:3333:3882
server.3=localhost:4444:3883

10.启动集群

依次启动三个zk实例