zookeeper搭建集群

Zookeeper搭建集群

 

1.zookeeper集群角色

zookeeper集群中的节点有三种角色

  • Leader:处理集群的所有事务请求,集群中只有一个Leader。

  • Follower:只能处理读请求,参与Leader选举。

  • Observer:只能处理读请求,提升集群读的性能,但不能参与Leader选举,

 

 

2.集群搭建

搭建4个节点,其中一个节点为Observer

1)创建4个节点的myid,并设值

在/usr/local/zookeeper/中创建以下四个文件


cd /usr/local/zookeeper/zkdata/zk1# echo 1 > myid
cd /usr/local/zookeeper/zkdata/zk2# echo 2 > myid
cd /usr/local/zookeeper/zkdata/zk3# echo 3 > myid
cd /usr/local/zookeeper/zkdata/zk4# echo 4 > myid

2) 进入conf下,创建4个zoo,


	
# 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
# 修改对应的zk1 zk2 zk3 zk4
dataDir=/usr/local/zookeeper/zkdata/zk1
# 修改对应的端口 2181 2182 2183 2184
clientPort=2181
# 2001为集群通信端口,3001为集群选举端口,observer表示不参与集群选举
server.1=192.168.63.154:2001:3001
server.2=192.168.63.154:2002:3002
server.3=192.168.63.154:2003:3003
server.4=192.168.63.154:2004:3004:observer

3)启动4台zookeeper


	
./zkServer.sh start ../conf/zoo1.cfg
./zkServer.sh start ../conf/zoo2.cfg
./zkServer.sh start ../conf/zoo3.cfg
./zkServer.sh start ../conf/zoo4.cfg

启动后查看4台的主从状态


	
[root@bogon bin]# ./zkServer.sh status ../conf/zoo1.cfg
ZooKeeper JMX enabled by default
Using config: ../conf/zoo1.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower

[root@bogon bin]# ./zkServer.sh status ../conf/zoo2.cfg
ZooKeeper JMX enabled by default
Using config: ../conf/zoo2.cfg
Client port found: 2182. Client address: localhost. Client SSL: false.
Mode: leader

[root@bogon bin]# ./zkServer.sh status ../conf/zoo3.cfg
ZooKeeper JMX enabled by default
Using config: ../conf/zoo3.cfg
Client port found: 2183. Client address: localhost. Client SSL: false.
Mode: follower

 [root@bogon bin]# ./zkServer.sh status ../conf/zoo4.cfg
ZooKeeper JMX enabled by default
Using config: ../conf/zoo4.cfg
Client port found: 2184. Client address: localhost. Client SSL: false.
Mode: observer

 

3.连接zookeeper集群


	
./zkCli.sh -server 192.168.63.154:2181,192.168.63.154:2182,192.168.63.154:2183

启动成功:


	
[root@bogon bin]# ./zkCli.sh -server 192.168.63.154:2181,192.168.63.154:2182,192.168.63.154:2183
Connecting to 192.168.63.154:2181,192.168.63.154:2182,192.168.63.154:2183
2024-09-13 15:21:56,765 [myid:] - INFO  [main:o.a.z.Environment@98] - Client environment:zookeeper.version=3.8.4-9316c2a7a97e1666d8f4593f34dd6fc36ecc436c, built on 2024-02-12 22:16 UTC
2024-09-13 15:21:56,767 [myid:] - INFO  [main:o.a.z.Environment@98] - Client environment:host.name=bogon
2024-09-13 15:21:56,767 [myid:] - INFO  [main:o.a.z.Environment@98] - Client environment:java.version=1.8.0_231
2024-09-13 15:21:56,767 [myid:] - INFO  [main:o.a.z.Environment@98] - Client environment:java.vendor=Oracle Corporation
2024-09-13 15:21:56,767 [myid:] - INFO  [main:o.a.z.Environment@98] - Client environment:java.home=/usr/local/software/javajdk/jre
2024-09-13 15:21:56,767 [myid:] - INFO  [main:o.a.z.Environment@98] - Client environment:java.class.path=/usr/local/zookeeper/zkp/bin/../zookeeper-server/target/classes:/usr/local/zookeeper/zkp/bin/../build/classes:/usr/local/zookeeper/zkp/bin/../zookeeper-server/target/lib/*.jar:/usr/local/zookeeper/zkp/bin/../build/lib/*.jar:/usr/local/zookeeper/zkp/bin/../lib/zookeeper-prometheus-metrics-3.8.4.jar:/usr/local/zookeeper/zkp/bin/../lib/zookeeper-jute-3.8.4.jar:/usr/local/zookeeper/zkp/bin/../lib/zookeeper-3.8.4.jar:/usr/local/zookeeper/zkp/bin/../lib/snappy-java-1.1.10.5.jar:/usr/local/zookeeper/zkp/bin/../lib/slf4j-api-1.7.30.jar:/usr/local/zookeeper/zkp/bin/../lib/simpleclient_servlet-0.9.0.jar:/usr/local/zookeeper/zkp/bin/../lib/simpleclient_hotspot-0.9.0.jar:/usr/local/zookeeper/zkp/bin/../lib/simpleclient_common-0.9.0.jar:/usr/local/zookeeper/zkp/bin/../lib/simpleclient-0.9.0.jar:/usr/local/zookeeper/zkp/bin/../lib/netty-transport-native-unix-common-4.1.105.Final.jar:/usr/local/zookeeper/zkp/bin/../lib/netty-transport-native-epoll-4.1.105.Final.jar:/usr/local/zookeeper/zkp/bin/../lib/netty-transport-classes-epoll-4.1.105.Final.jar:/usr/local/zookeeper/zkp/bin/../lib/netty-transport-4.1.105.Final.jar:/usr/local/zookeeper/zkp/bin/../lib/netty-resolver-4.1.105.Final.jar:/usr/local/zookeeper/zkp/bin/../lib/netty-handler-4.1.105.Final.jar:/usr/local/zookeeper/zkp/bin/../lib/netty-common-4.1.105.Final.jar:/usr/local/zookeeper/zkp/bin/../lib/netty-codec-4.1.105.Final.jar:/usr/local/zookeeper/zkp/bin/../lib/netty-buffer-4.1.105.Final.jar:/usr/local/zookeeper/zkp/bin/../lib/metrics-core-4.1.12.1.jar:/usr/local/zookeeper/zkp/bin/../lib/logback-core-1.2.13.jar:/usr/local/zookeeper/zkp/bin/../lib/logback-classic-1.2.13.jar:/usr/local/zookeeper/zkp/bin/../lib/jline-2.14.6.jar:/usr/local/zookeeper/zkp/bin/../lib/jetty-util-ajax-9.4.53.v20231009.jar:/usr/local/zookeeper/zkp/bin/../lib/jetty-util-9.4.53.v20231009.jar:/usr/local/zookeeper/zkp/bin/../lib/jetty-servlet-9.4.53.v20231009.jar:/usr/local/zookeeper/zkp/bin/../lib/jetty-server-9.4.53.v20231009.jar:/usr/local/zookeeper/zkp/bin/../lib/jetty-security-9.4.53.v20231009.jar:/usr/local/zookeeper/zkp/bin/../lib/jetty-io-9.4.53.v20231009.jar:/usr/local/zookeeper/zkp/bin/../lib/jetty-http-9.4.53.v20231009.jar:/usr/local/zookeeper/zkp/bin/../lib/javax.servlet-api-3.1.0.jar:/usr/local/zookeeper/zkp/bin/../lib/jackson-databind-2.15.2.jar:/usr/local/zookeeper/zkp/bin/../lib/jackson-core-2.15.2.jar:/usr/local/zookeeper/zkp/bin/../lib/jackson-annotations-2.15.2.jar:/usr/local/zookeeper/zkp/bin/../lib/commons-io-2.11.0.jar:/usr/local/zookeeper/zkp/bin/../lib/commons-cli-1.5.0.jar:/usr/local/zookeeper/zkp/bin/../lib/audience-annotations-0.12.0.jar:/usr/local/zookeeper/zkp/bin/../zookeeper-*.jar:/usr/local/zookeeper/zkp/bin/../zookeeper-server/src/main/resources/lib/*.jar:/usr/local/zookeeper/zkp/bin/../conf:/usr/local/software/javajdk/jre/lib/ext:/usr/local/software/javajdk/lib/tools.jar
2024-09-13 15:21:56,767 [myid:] - INFO  [main:o.a.z.Environment@98] - Client environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
2024-09-13 15:21:56,767 [myid:] - INFO  [main:o.a.z.Environment@98] - Client environment:java.io.tmpdir=/tmp
2024-09-13 15:21:56,767 [myid:] - INFO  [main:o.a.z.Environment@98] - Client environment:java.compiler=<NA>
2024-09-13 15:21:56,768 [myid:] - INFO  [main:o.a.z.Environment@98] - Client environment:os.name=Linux
2024-09-13 15:21:56,768 [myid:] - INFO  [main:o.a.z.Environment@98] - Client environment:os.arch=amd64
2024-09-13 15:21:56,768 [myid:] - INFO  [main:o.a.z.Environment@98] - Client environment:os.version=3.10.0-1160.119.1.el7.x86_64
2024-09-13 15:21:56,768 [myid:] - INFO  [main:o.a.z.Environment@98] - Client environment:user.name=root
2024-09-13 15:21:56,768 [myid:] - INFO  [main:o.a.z.Environment@98] - Client environment:user.home=/root
2024-09-13 15:21:56,768 [myid:] - INFO  [main:o.a.z.Environment@98] - Client environment:user.dir=/usr/local/zookeeper/zkp/bin
2024-09-13 15:21:56,768 [myid:] - INFO  [main:o.a.z.Environment@98] - Client environment:os.memory.free=46MB
2024-09-13 15:21:56,768 [myid:] - INFO  [main:o.a.z.Environment@98] - Client environment:os.memory.max=247MB
2024-09-13 15:21:56,769 [myid:] - INFO  [main:o.a.z.Environment@98] - Client environment:os.memory.total=58MB
2024-09-13 15:21:56,772 [myid:] - INFO  [main:o.a.z.ZooKeeper@637] - Initiating client connection, connectString=192.168.63.154:2181,192.168.63.154:2182,192.168.63.154:2183 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@1593948d
2024-09-13 15:21:56,777 [myid:] - INFO  [main:o.a.z.c.X509Util@78] - Setting -D jdk.tls.rejectClientInitiatedRenegotiation=true to disable client-initiated TLS renegotiation
2024-09-13 15:21:56,788 [myid:] - INFO  [main:o.a.z.ClientCnxnSocket@239] - jute.maxbuffer value is 1048575 Bytes
2024-09-13 15:21:56,804 [myid:] - INFO  [main:o.a.z.ClientCnxn@1747] - zookeeper.request.timeout value is 0. feature enabled=false
Welcome to ZooKeeper!
JLine support is enabled
2024-09-13 15:21:56,870 [myid:192.168.63.154:2183] - INFO  [main-SendThread(192.168.63.154:2183):o.a.z.ClientCnxn$SendThread@1177] - Opening socket connection to server bogon/192.168.63.154:2183.
2024-09-13 15:21:56,870 [myid:192.168.63.154:2183] - INFO  [main-SendThread(192.168.63.154:2183):o.a.z.ClientCnxn$SendThread@1179] - SASL config status: Will not attempt to authenticate using SASL (unknown error)
2024-09-13 15:21:56,875 [myid:192.168.63.154:2183] - INFO  [main-SendThread(192.168.63.154:2183):o.a.z.ClientCnxn$SendThread@1013] - Socket connection established, initiating session, client: /192.168.63.154:58030, server: bogon/192.168.63.154:2183
2024-09-13 15:21:56,894 [myid:192.168.63.154:2183] - INFO  [main-SendThread(192.168.63.154:2183):o.a.z.ClientCnxn$SendThread@1453] - Session establishment complete on server bogon/192.168.63.154:2183, session id = 0x300007530140001, negotiated timeout = 30000

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
[zk: 192.168.63.154:2181,192.168.63.154:2182,192.168.63.154:2183(CONNECTED) 0] 

 

至此,Zookeeper集群搭建成功!

未完待续!

 

相关推荐

    查看当前目录下各子目录的大小(按大小排序)

    查看当前目录下各子目录的大小(按大小排序)

    利用Curator客户端操作Zookeeper(二)

    利用Curator客户端操作Zookeeper(二)

    Centos下Zookeeper安装部署(一)

    Centos下Zookeeper安装部署(一)