一、环境配置
1.配置环境变量/etc/profile
#新增以下内容:
export ZOOKEEPER_HOME=/root/dev/zookeeper/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin
source /etc/profile 执行命令使生效
2.在解压包目录$ZOOKEEPER_HOME中创建data和log文件夹
make data && make log
在创建好的data目录vim $ZOOKEEPER_HOME/data下创建文件myid 并且在里面追加数字
集群下每个机器的数字要不同
# touch命令创建文件
touch myid
#当主节点崩溃数字大的更有几率当选主节点
echo 1 > myid
3.编辑zookeeper配置文件cd $ZOOKEEPER_HOME/conf/zoo.cfg
复制或者重命名zookeeper配置文件名称
mv zoo_sample.cfg zoo.cfg
编辑zoo.cfg文件:
vim zoo.cfg
#进入conf目录,复制zoo-sample.cfg重命名为zoo.cfg,通过修改zoo.cfg来对zookeeper进行配置。这个 名字固定写死,因为zookeeper启动会检查这个文件,根据这个配置文件里的信息来启动服务
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=/root/dev/zookeeper/zookeeper/data
#日志目录
dataLogDir=/root/dev/zookeeper/zookeeper/log
# the port at which the clients will connect
clientPort=2181#分片式伪集群
#server.1=0.0.0.0:2287:3887
#server.2=0.0.0.0:2288:3888
#server.3=0.0.0.0:2289:3889#配置三台以上的奇数台可用机器主机名或者IP(集群), 2888是通信端口(广播端口), 3888是选举通信端口(选举端口)
#注意:一定要跟自己的myid配置对应上,否则集群一直处于非正常状态 myid文件中就是N,则对应zoo.cfg 中server.{N}
#分布式集群:多台机器各自配置
server.1=node01:2888:3888
server.2=node02:2888:3888
server.3=node03:2888:3888
server.4=node04:2888:3888
3.#开放端口
firewall-cmd --zone=public --add-port=2281/tcp --permanent
firewall-cmd --zone=public --add-port=2888/tcp --permanent
firewall-cmd --zone=public --add-port=3888/tcp --permanent
4.#重载防火墙
firewall-cmd --reload
5.#查看开放端口列表
firewall-cmd --zone=public --list-ports
二、启动
1.进入 $ZOOKEEPER_HOME/bin/目录
#命令 描述
zkServer.sh start #启动
zkServer.sh restart #重启
zkServer.sh stop #停止
zkServer.sh status #查看状态