Zookeeper集群部署记录

2    Zookeeper集群部署
2.1    部署环境
boco201,192.168.100.201,CentOS8
boco202,192.168.100.201,CentOS8
boco203,192.168.100.201,CentOS8
2.2    软件安装
1、下载安装包
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.6.2/apache-zookeeper-3.6.2-bin.tar.gz(已编译包,应该下载这个)
2、解压缩包
tar -zxvf apache-zookeeper-3.6.2-bin.tar.gz -C /opt
3、修改配置文件
mkdir -p /data/zookeeper
cd /opt/apache-zookeeper-3.6.2/conf
cp zoo_sample.cfg zoo.cfg
zoo.cfg文件内容:
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
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=/data/zookeeper
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
## Metrics Providers
#
# https://prometheus.io Metrics Exporter
#metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider
#metricsProvider.httpPort=7000
#metricsProvider.exportJvmInfo=true
server.1=192.168.100.201:2888:3888
server.2=192.168.100.202:2888:3888
server.3=192.168.100.203:2888:3888
4、/data/zookeeper目录下增加myid文件,文件中分别为1/2/3三个数字
more /data/zookeeper/myid 
1
2.3    节点启动
将如下环境变量加入到/etc/profile文件
export ZOOKEEPER_HOME=/opt/zookeeper-3.6.2
export PATH=$PATH:$ZOOKEEPER_HOME/bin
分别在3台服务器上,/opt/apache-zookeeper-3.6.2/bin目录下执行脚本
cd /opt/apache-zookeeper-3.6.2/bin
./zkServer.sh start
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /opt/apache-zookeeper-3.6.2/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
2.4    节点状态
1、查看状态./zkServer.sh status
./zkServer.sh status
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.6.2/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: leader
====================
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.6.2/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower
2、关闭防火墙systemctl stop firewalld.service
systemctl disable firewalld.service
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
3、重启服务./zkServer.sh stop; ./zkServer.sh start
2.5    节点连接
./zkCli.sh -server boco203:2181(随意连接某个节点,端口号可省略,不带参数连本地)
/usr/bin/java
Connecting to boco203
2020-12-04 04:08:39,115 [myid:] - INFO  [main:Environment@98] - Client environment:zookeeper.version=3.6.2--803c7f1a12f85978cb049af5e4ef23bd8b688715, built on 09/04/2020 12:44 GMT
2020-12-04 04:08:39,126 [myid:] - INFO  [main:Environment@98] - Client environment:host.name=boco201
2020-12-04 04:08:39,126 [myid:] - INFO  [main:Environment@98] - Client environment:java.version=1.8.0_272
2020-12-04 04:08:39,152 [myid:] - INFO  [main:Environment@98] - Client environment:java.vendor=Red Hat, Inc.
2020-12-04 04:08:39,153 [myid:] - INFO  [main:Environment@98] - Client environment:java.home=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.272.b10-1.el8_2.x86_64/jre
2020-12-04 04:08:39,171 [myid:] - INFO  [main:Environment@98] - Client environment:java.class.path=/opt/zookeeper-3.6.2/bin/../zookeeper-server/target/classes:/opt/zookeeper-3.6.2/bin/../build/classes:/opt/zookeeper-3.6.2/bin/../zookeeper-server/target/lib/*.jar:/opt/zookeeper-3.6.2/bin/../build/lib/*.jar:/opt/zookeeper-3.6.2/bin/../lib/zookeeper-prometheus-metrics-3.6.2.jar:/opt/zookeeper-3.6.2/bin/../lib/zookeeper-jute-3.6.2.jar:/opt/zookeeper-3.6.2/bin/../lib/zookeeper-3.6.2.jar:/opt/zookeeper-3.6.2/bin/../lib/snappy-java-1.1.7.jar:/opt/zookeeper-3.6.2/bin/../lib/slf4j-log4j12-1.7.25.jar:/opt/zookeeper-3.6.2/bin/../lib/slf4j-api-1.7.25.jar:/opt/zookeeper-3.6.2/bin/../lib/simpleclient_servlet-0.6.0.jar:/opt/zookeeper-3.6.2/bin/../lib/simpleclient_hotspot-0.6.0.jar:/opt/zookeeper-3.6.2/bin/../lib/simpleclient_common-0.6.0.jar:/opt/zookeeper-3.6.2/bin/../lib/simpleclient-0.6.0.jar:/opt/zookeeper-3.6.2/bin/../lib/netty-transport-native-unix-common-4.1.50.Final.jar:/opt/zookeeper-3.6.2/bin/../lib/netty-transport-native-epoll-4.1.50.Final.jar:/opt/zookeeper-3.6.2/bin/../lib/netty-transport-4.1.50.Final.jar:/opt/zookeeper-3.6.2/bin/../lib/netty-resolver-4.1.50.Final.jar:/opt/zookeeper-3.6.2/bin/../lib/netty-handler-4.1.50.Final.jar:/opt/zookeeper-3.6.2/bin/../lib/netty-common-4.1.50.Final.jar:/opt/zookeeper-3.6.2/bin/../lib/netty-codec-4.1.50.Final.jar:/opt/zookeeper-3.6.2/bin/../lib/netty-buffer-4.1.50.Final.jar:/opt/zookeeper-3.6.2/bin/../lib/metrics-core-3.2.5.jar:/opt/zookeeper-3.6.2/bin/../lib/log4j-1.2.17.jar:/opt/zookeeper-3.6.2/bin/../lib/json-simple-1.1.1.jar:/opt/zookeeper-3.6.2/bin/../lib/jline-2.14.6.jar:/opt/zookeeper-3.6.2/bin/../lib/jetty-util-9.4.24.v20191120.jar:/opt/zookeeper-3.6.2/bin/../lib/jetty-servlet-9.4.24.v20191120.jar:/opt/zookeeper-3.6.2/bin/../lib/jetty-server-9.4.24.v20191120.jar:/opt/zookeeper-3.6.2/bin/../lib/jetty-security-9.4.24.v20191120.jar:/opt/zookeeper-3.6.2/bin/../lib/jetty-io-9.4.24.v20191120.jar:/opt/zookeeper-3.6.2/bin/../lib/jetty-http-9.4.24.v20191120.jar:/opt/zookeeper-3.6.2/bin/../lib/javax.servlet-api-3.1.0.jar:/opt/zookeeper-3.6.2/bin/../lib/jackson-databind-2.10.3.jar:/opt/zookeeper-3.6.2/bin/../lib/jackson-core-2.10.3.jar:/opt/zookeeper-3.6.2/bin/../lib/jackson-annotations-2.10.3.jar:/opt/zookeeper-3.6.2/bin/../lib/commons-lang-2.6.jar:/opt/zookeeper-3.6.2/bin/../lib/commons-cli-1.2.jar:/opt/zookeeper-3.6.2/bin/../lib/audience-annotations-0.5.0.jar:/opt/zookeeper-3.6.2/bin/../zookeeper-*.jar:/opt/zookeeper-3.6.2/bin/../zookeeper-server/src/main/resources/lib/*.jar:/opt/zookeeper-3.6.2/bin/../conf:
2020-12-04 04:08:39,171 [myid:] - INFO  [main:Environment@98] - Client environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
2020-12-04 04:08:39,172 [myid:] - INFO  [main:Environment@98] - Client environment:java.io.tmpdir=/tmp
2020-12-04 04:08:39,172 [myid:] - INFO  [main:Environment@98] - Client environment:java.compiler=<NA>
2020-12-04 04:08:39,173 [myid:] - INFO  [main:Environment@98] - Client environment:os.name=Linux
2020-12-04 04:08:39,173 [myid:] - INFO  [main:Environment@98] - Client environment:os.arch=amd64
2020-12-04 04:08:39,174 [myid:] - INFO  [main:Environment@98] - Client environment:os.version=4.18.0-193.el8.x86_64
2020-12-04 04:08:39,174 [myid:] - INFO  [main:Environment@98] - Client environment:user.name=root
2020-12-04 04:08:39,174 [myid:] - INFO  [main:Environment@98] - Client environment:user.home=/root
2020-12-04 04:08:39,175 [myid:] - INFO  [main:Environment@98] - Client environment:user.dir=/opt/zookeeper-3.6.2/bin
2020-12-04 04:08:39,176 [myid:] - INFO  [main:Environment@98] - Client environment:os.memory.free=15MB
2020-12-04 04:08:39,244 [myid:] - INFO  [main:Environment@98] - Client environment:os.memory.max=247MB
2020-12-04 04:08:39,245 [myid:] - INFO  [main:Environment@98] - Client environment:os.memory.total=21MB
2020-12-04 04:08:39,304 [myid:] - INFO  [main:ZooKeeper@1006] - Initiating client connection, connectString=boco203 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@1175e2db
2020-12-04 04:08:39,386 [myid:] - INFO  [main:X509Util@77] - Setting -D jdk.tls.rejectClientInitiatedRenegotiation=true to disable client-initiated TLS renegotiation
2020-12-04 04:08:39,524 [myid:] - INFO  [main:ClientCnxnSocket@239] - jute.maxbuffer value is 1048575 Bytes
2020-12-04 04:08:39,564 [myid:] - INFO  [main:ClientCnxn@1716] - zookeeper.request.timeout value is 0. feature enabled=false
Welcome to ZooKeeper!
2020-12-04 04:08:39,708 [myid:boco203:2181] - INFO  [main-SendThread(boco203:2181):ClientCnxn$SendThread@1167] - Opening socket connection to server boco203/192.168.100.203:2181.
2020-12-04 04:08:39,708 [myid:boco203:2181] - INFO  [main-SendThread(boco203:2181):ClientCnxn$SendThread@1169] - SASL config status: Will not attempt to authenticate using SASL (unknown error)
JLine support is enabled
2020-12-04 04:08:40,274 [myid:boco203:2181] - INFO  [main-SendThread(boco203:2181):ClientCnxn$SendThread@999] - Socket connection established, initiating session, client: /192.168.100.201:57676, server: boco203/192.168.100.203:2181
2020-12-04 04:08:40,350 [myid:boco203:2181] - INFO  [main-SendThread(boco203:2181):ClientCnxn$SendThread@1433] - Session establishment complete on server boco203/192.168.100.203:2181, session id = 0x30000ae6f6a0002, negotiated timeout = 30000
WATCHER::
WatchedEvent state:SyncConnected type:None path:null
[zk: boco203(CONNECTED) 0]
Help可查阅命令帮助
2.6    开机自启动
1、/etc/rc.d/init.d目录下新建zookeeper文件
#!/bin/bash
#chkconfig:2345 10 90
export JAVA_HOME=/usr/java/jdk1.8.0_271
export ZOOKEEPER_HOME=/opt/zookeeper-3.6.2
export ZOO_LOG_DIR=/data/zookeeper/log
case  "$1"   in
   start)            su root ${ZOOKEEPER_HOME}/bin/zkServer.sh start;;
   start-foreground) su root ${ZOOKEEPER_HOME}/bin/zkServer.sh start-foreground;;
   stop)             su root ${ZOOKEEPER_HOME}/bin/zkServer.sh stop;;
   status)           su root ${ZOOKEEPER_HOME}/bin/zkServer.sh status;;
   restart)          su root ${ZOOKEEPER_HOME}/bin/zkServer.sh restart;;
   upgrade)          su root ${ZOOKEEPER_HOME}/bin/zkServer.sh upgrade;;
   print-cmd)        su root ${ZOOKEEPER_HOME}/bin/zkServer.sh print-cmd;;
   *)                echo "requirestart|start-foreground|stop|status|restart|print-cmd";;
Esac
2、添加可执行权限,chmod +x /etc/rc.d/init.d/zookeeper
3、添加到开机启动项,chkconfig --add zookeeper
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值