cd /app wget https://dlcdn.apache.org/zookeeper/zookeeper-3.7.1/apache-zookeeper-3.7.1-bin.tar.gz
解压
1
tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz
运行
1 2 3 4 5 6
cd apache-zookeeper-3.7.1-bin mkdir data
cd conf cp zoo_sample.cfg zoo.cfg vim zoo.cfg
修改配置如下
1 2 3 4 5 6
# the directory where the snapshot is stored. # do not use /tmp for storage, /tmp here is just # example sakes. dataDir=/app/apache-zookeeper-3.7.1-bin/data # the port at which the clients will connect clientPort=2181
启动
1 2 3
cd .. cd bin ./zkServer.sh start
效果
1 2 3 4
➜ bin ./zkServer.sh start ZooKeeper JMX enabled by default Using config: /app/apache-zookeeper-3.7.1-bin/bin/../conf/zoo.cfg Starting zookeeper ... STARTED
查看状态
1
./zkServer.sh status
1 2 3 4 5
➜ bin ./zkServer.sh status ZooKeeper JMX enabled by default Using config: /app/apache-zookeeper-3.7.1-bin/bin/../conf/zoo.cfg Client port found: 2181. Client address: localhost. Client SSL: false. Mode: standalone
server.1=192.168.3.46:2181:2181 server.2=192.168.3.46:2182:2182 server.3=192.168.3.46:2183:2183 # server.服务器 ID=服务器 IP 地址:服务器之间通信端口:服务器之间投票选举端口
启动集群
依次启动三个集群
1 2 3
cd bin ./zkServer.sh start ./zkServer.sh status
报错解决
错误一
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
org.apache.zookeeper.server.quorum.QuorumPeerConfig$ConfigException: Client and election port must be different! Please update the configuration file on server.3 at org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer.initializeWithAddressString(QuorumPeer.java:362) at org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer.<init>(QuorumPeer.java:279) at org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer.<init>(QuorumPeer.java:274) at org.apache.zookeeper.server.quorum.flexible.QuorumMaj.<init>(QuorumMaj.java:92) at org.apache.zookeeper.server.quorum.QuorumPeerConfig.createQuorumVerifier(QuorumPeerConfig.java:658) at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parseDynamicConfig(QuorumPeerConfig.java:689) at org.apache.zookeeper.server.quorum.QuorumPeerConfig.setupQuorumPeerConfig(QuorumPeerConfig.java:663) at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parseProperties(QuorumPeerConfig.java:491) at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:194) at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:125) at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:91) Invalid config, exiting abnormally 2022-06-01 22:17:55,296 [myid:] - INFO [main:ZKAuditProvider@42] - ZooKeeper audit is disabled. 2022-06-01 22:17:55,298 [myid:] - ERROR [main:ServiceUtils@48] - Exiting JVM with code 2
➜ bin ./zkServer.sh start ZooKeeper JMX enabled by default Using config: /media/terwer/data/app/zkcluster/zookeeper01/bin/../conf/zoo.cfg Starting zookeeper ... STARTED ➜ bin ./zkServer.sh status ZooKeeper JMX enabled by default Using config: /media/terwer/data/app/zkcluster/zookeeper01/bin/../conf/zoo.cfg Client port found: 2181. Client address: localhost. Client SSL: false. Error contacting service. It is probably not running.
启动第二个之后
1 2 3 4 5 6 7 8 9
➜ bin ./zkServer.sh start ZooKeeper JMX enabled by default Using config: /media/terwer/data/app/zkcluster/zookeeper02/bin/../conf/zoo.cfg Starting zookeeper ... STARTED ➜ bin ./zkServer.sh status ZooKeeper JMX enabled by default Using config: /media/terwer/data/app/zkcluster/zookeeper02/bin/../conf/zoo.cfg Client port found: 2182. Client address: localhost. Client SSL: false. Mode: leader
启动第三个节点之后
1 2 3 4 5 6 7 8 9
➜ bin ./zkServer.sh start ZooKeeper JMX enabled by default Using config: /media/terwer/data/app/zkcluster/zookeeper03/bin/../conf/zoo.cfg Starting zookeeper ... STARTED ➜ bin ./zkServer.sh status ZooKeeper JMX enabled by default Using config: /media/terwer/data/app/zkcluster/zookeeper03/bin/../conf/zoo.cfg Client port found: 2183. Client address: localhost. Client SSL: false. Mode: follower