大家好,又见面了,我是全栈君。
ZooKeeper是Apache提供的。分布式服务协调系统,应用比較广泛。
由于项目中使用Kafka MQ,而Kafka全然使用ZooKeeper实现Kafka各组件的服务协调,包含Broker、Consumer等。
文档中的Linux命令,以#開始的为root用户的操作。以$開始的为zk用户的操作。
创建zk用户
# groupadd zk
# useradd -g zk zk
# passwd zk
准备安装文件夹
- 创建ZooKeeper数据存储文件夹:
# mkdir -p /data/zookeeper
# chown -R zk:zk/data/zookeeper
- 通过zk用户创建数据和日志文件夹:
$ mkdir/data/zookeeper/data
安装ZooKeeper
- 解压缩ZooKeeper二进制包:
# cd /usr/local/src
# tar -zxvfzookeeper-3.4.6.tar.gz -C /usr/local/
# chown -R zk:zk /usr/local/zookeeper-3.4.6
- 改动ZooKeeper配置文件:
$ cd/usr/local/zookeeper-3.4.6/conf
$ cp zoo_sample.cfg zoo.cfg
$ vi zoo.cgf
改动配置见下图。包含dataDir, dataLogDir及三个ZooKeeper的server列表。
$ vi log4j.properties
改动zookeeper.log.dir,配置见下图,
- 创建ZooKeeperServerId文件
在ZooKeeper的data文件夹中创建名称为myid文件,内容为ServerId编号,如上配置文件里,三台的ZooKeeper的myid内容分布为1, 2, 3。
$ cd /data/zookeeper/data
$ cat > myid
输入
1
,按
Enter
键,再按
Ctrl+d
结束。
- 改动zk用户的环境变量:
在文件里添加红框部分:
反复以上步骤。安装ZooKeeper到另外2台。构建一个三台的ZooKeeper集群。
启动ZooKeeper
集群中的全部ZooKeeper都能够通过以下的命令启动:
正常情况下显示:
JMX enabled by default
Using config:/usr/local/zookeeper-3.4.6/bin/../conf/zoo.cfg
Starting zookeeper … STARTED
通过以下的命令查看ZooKeeper是否启动成功:
假设启动成功,则在Leader的机器上显示:
在Follower的机器上显示:
停止
$ zkServer.sh stop
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/116615.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...