Zookeeper搭建集群
zookeeper集群中的节点有三种角色
-
Leader:处理集群的所有事务请求,集群中只有一个Leader。
-
Follower:只能处理读请求,参与Leader选举。
-
搭建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
./zkServer.sh start ../conf/zoo1.cfg ./zkServer.sh start ../conf/zoo2.cfg ./zkServer.sh start ../conf/zoo3.cfg ./zkServer.sh start ../conf/zoo4.cfg
[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
./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集群搭建成功!
未完待续!