zookeeper生产环境搭建

Love The Way You Lie 2022-01-17 10:11 444阅读 0赞

2019/3/13 星期三

第一步 //用执行初始化模板 initialization.sh https://blog.51cto.com/12445535/2362407

  1. [root@emm-kafka01-10--174 opt]# cat /etc/redhat-release
  2. CentOS Linux release 7.5.1804 (Core)
  3. [root@emm-kafka01-10--174 opt]# free -m
  4. total used free shared buff/cache available
  5. Mem: 3790 109 3530 8 150 3474
  6. Swap: 3967 0 3967
  7. [root@emm-kafka01-10--174 opt]# df -Th
  8. Filesystem Type Size Used Avail Use% Mounted on
  9. /dev/mapper/centos-root xfs 46G 2.2G 44G 5% /
  10. devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
  11. tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
  12. tmpfs tmpfs 1.9G 8.8M 1.9G 1% /run
  13. tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
  14. /dev/sda1 xfs 497M 161M 337M 33% /boot
  15. tmpfs tmpfs 380M 0 380M 0% /run/user/0
  16. ####################################################
  17. cpu物理个数 physical_id: 4
  18. 每个cpucore的个数(即核数) cpu cores : 1
  19. 逻辑cpu的个数 processor: 4
  20. ####################################################

第二步
安装jdk 现在都要是1.8版本以上

先检查机器是否自带jdk

  1. [root@emm-kafka03-10--176 scripts]# java -version
  2. java version "1.7.0_67"
  3. Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
  4. Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)

删除已有的jdk
https://blog.csdn.net/cbcgkx123/article/details/80182584

  1. [root@emm-kafka01-10--174 usr]# rm -rf /usr/java/

安装自己的jdk

  1. [root@emm-kafka01-10--174 ins]# ll
  2. total 162156
  3. -rwxr-xr-x 1 root root 166044032 Mar 13 15:58 jdk-8u102-linux-x64.rpm
  4. [root@emm-kafka01-10--174 ins]# rpm -ivh jdk-8u102-linux-x64.rpm
  5. Preparing... ################################# [100%]
  6. Updating / installing...
  7. 1:jdk1.8.0_102-2000:1.8.0_102-fcs ################################# [100%]
  8. Unpacking JAR files...
  9. tools.jar...
  10. plugin.jar...
  11. javaws.jar...
  12. deploy.jar...
  13. rt.jar...
  14. jsse.jar...
  15. charsets.jar...
  16. localedata.jar...
  17. [root@emm-kafka01-10--174 ins]# java -version
  18. -bash: /usr/java/jdk/bin/java: No such file or directory
  19. [root@emm-kafka01-10--174 java]# vim /etc/profile
  20. #export JAVA_HOME=/usr/java/jdk
  21. #export CLASSPATH=$JAVA_HOME/jre/lib:$JAVA_HOME/lib
  22. #export PATH=$PATH:$JAVA_HOME/bin
  23. [root@emm-kafka01-10--174 java]# source /etc/profile
  24. [root@emm-kafka01-10--174 java]# java -version
  25. java version "1.8.0_102"
  26. Java(TM) SE Runtime Environment (build 1.8.0_102-b14)
  27. Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)

其他2台都是这样执行

第三步 设置/etc/hosts

  1. [root@emm-kafka01-10--174 conf]# cat /etc/hosts
  2. 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
  3. ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
  4. 10.2.10.174 emm-kafka01-10--174
  5. 10.2.10.175 emm-kafka02-10--175
  6. 10.2.10.176 emm-kafka03-10--176
  7. [root@emm-kafka01-10--174 conf]# scp /etc/hosts root@10.2.10.175:/etc/hosts
  8. hosts 100% 254 139.6KB/s 00:00
  9. [root@emm-kafka01-10--174 conf]# scp /etc/hosts root@10.2.10.176:/etc/hosts
  10. hosts

第四步安装zookeeper
先下载zookeeper的linux安装包 //安装zookeeper必须要先安装jdk,现在都是1.8以上的版本
//注意版本的控制,现在线上版本 zookeeper3.4.8无明显bug,生产上要控制版本

  1. [root@emm-kafka01-10--174 ins]# ll
  2. total 233044
  3. -rwxr-xr-x 1 root root 166044032 Mar 13 15:58 jdk-8u102-linux-x64.rpm
  4. -rw-r--r-- 1 root root 50326212 Mar 13 16:14 kafka_2.12-1.1.0.tgz
  5. -rw-r--r-- 1 root root 22261552 Mar 13 16:14 zookeeper-3.4.8.tar.gz
  6. [root@emm-kafka01-10--174 ins]# scp kafka_2.12-1.1.0.tgz zookeeper-3.4.8.tar.gz root@10.2.10.175:/opt/ins/
  7. kafka_2.12-1.1.0.tgz 100% 48MB 48.0MB/s 00:01
  8. zookeeper-3.4.8.tar.gz 100% 21MB 55.0MB/s 00:00
  9. [root@emm-kafka01-10--174 ins]# scp kafka_2.12-1.1.0.tgz zookeeper-3.4.8.tar.gz root@10.2.10.176:/opt/ins/
  10. kafka_2.12-1.1.0.tgz 100% 48MB 53.4MB/s 00:00
  11. zookeeper-3.4.8.tar.gz 100% 21MB 56.4MB/s 00:00
  12. [root@emm-kafka01-10--174 ins]# tar -zxvf zookeeper-3.4.8.tar.gz -C /usr/local/
  13. [root@emm-kafka01-10--174 ins]# chown -R root:root zookeeper-3.4.8/
  14. [root@emm-kafka01-10--174 local]# ln -s zookeeper-3.4.8/ zookeeper
  15. [root@emm-kafka01-10--174 zookeeper]# pwd
  16. /usr/local/zookeeper
  17. [root@emm-kafka01-10--174 zookeeper]# cd conf/
  18. [root@emm-kafka01-10--174 conf]# ll
  19. total 12
  20. -rw-rw-r-- 1 root root 535 Feb 6 2016 configuration.xsl
  21. -rw-rw-r-- 1 root root 2161 Feb 6 2016 log4j.properties
  22. -rw-rw-r-- 1 root root 922 Feb 6 2016 zoo_sample.cfg
  23. [root@emm-kafka01-10--174 conf]# mv zoo_sample.cfg zoo.cfg
  24. [root@emm-kafka01-10--174 conf]# pwd
  25. /usr/local/zookeeper/conf
  26. [root@emm-kafka01-10--174 conf]# cat zoo.cfg
  27. # The number of milliseconds of each tick
  28. tickTime=2000
  29. # The number of ticks that the initial
  30. # synchronization phase can take
  31. initLimit=10
  32. # The number of ticks that can pass between
  33. # sending a request and getting an acknowledgement
  34. syncLimit=5
  35. # the directory where the snapshot is stored.
  36. # do not use /tmp for storage, /tmp here is just
  37. # example sakes.
  38. dataDir=/usr/local/zookeeper/data
  39. # the port at which the clients will connect
  40. clientPort=2181
  41. # the maximum number of client connections.
  42. # increase this if you need to handle more clients
  43. #maxClientCnxns=60
  44. #
  45. # Be sure to read the maintenance section of the
  46. # administrator guide before turning on autopurge.
  47. #
  48. # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
  49. #
  50. # The number of snapshots to retain in dataDir
  51. #autopurge.snapRetainCount=3
  52. # Purge task interval in hours
  53. # Set to "0" to disable auto purge feature
  54. #autopurge.purgeInterval=1
  55. server.1=10.2.10.174:2888:3888
  56. server.2=10.2.10.175:2888:3888
  57. server.3=10.2.10.176:2888:3888
  58. [root@emm-kafka01-10--174 conf]# mkdir -p /usr/local/zookeeper/data/

**提示:
tickTime:这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。
dataDir:顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。
clientPort:这个端口就是客户端连接 Zookeeper 服务器的端口(2181),Zookeeper 会监听这个端口,接受客户端的访问请求。
注意点:
这里有一个坑,就是
server.1=10.2.10.174:2888:3888 //这里要写IP 不要写成server.1=emm-kafka01-10—174:2888:3888
为什么呢?
写主机名,zk能起来,kafka也能起来,但是kafka他去解析ZK的时候,他不通过etc/hosts 以后会出问题
这里面,我们就下IP,这里注意下

(其中2181代表:客户端与服务器连接所用的端口)
(其中2888代表:leader与follower之间的通信用的端口)
(其中3888代表:follower之间选举投票用的端口)**

要在data这里面创建一个文件,里面写一个这台服务器在zookeeper里面的编号
echo 1 > myid(必须叫myid不能用别的名字)

  1. [root@emm-kafka01-10--174 data]# pwd
  2. /usr/local/zookeeper/data
  3. [root@emm-kafka01-10--174 data]# echo 1 > myid
  4. [root@emm-kafka01-10--174 data]# ll
  5. total 4
  6. -rw-r--r-- 1 root root 4 Mar 13 17:23 myid
  7. [root@emm-kafka01-10--174 data]# cat myid
  8. 1

其他2个节点同上,只不过,需要在/usr/local/zookeeper/data/ 目录下 的myid不一样

  1. [root@emm-kafka01-10--174 conf]# pwd
  2. /usr/local/zookeeper/conf
  3. [root@emm-kafka01-10--174 conf]# scp zoo.cfg root@10.2.10.175:/usr/local/zookeeper/conf/
  4. zoo.cfg 100% 1026 531.1KB/s 00:00
  5. [root@emm-kafka01-10--174 conf]# scp zoo.cfg root@10.2.10.176:/usr/local/zookeeper/conf/
  6. zoo.cfg 100% 1026 531.1KB/s 00:00
  7. [root@emm-kafka02-10--175 data]# pwd
  8. /usr/local/zookeeper/data
  9. [root@emm-kafka02-10--175 data]# echo 2 > myid
  10. [root@emm-kafka03-10--176 data]# echo 3 > myid

以上就是安装配置好了zookeeper

修改zookeeper的启动内存大小
进入zk的bin目录下
vim /app/zpy/zookeeper/bin/zkServer.sh (修改zk的启动脚本)
添加:JVMPARAM=”-Xms1G -Xmx4G -Xmn2G” //这个是8G 物理内存的标准
参数解释说明:
java -Xmx3550m -Xms3550m -Xmn2g -Xss128k
-Xmx3550m:设置JVM最大可用内存为3550M。
-Xms3550m:设置JVM初始内存为3550m。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。
-Xmn2g:设置年轻代大小为2G。整个JVM内存大小=年轻代大小 + 年老代大小 + 持久代大小。持久代一般固定大小为64m,所以增大年轻代后,将会减小年老代大小。此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8。
-Xss128k:设置每个线程的堆栈大小。JDK5.0以后每个线程堆栈大小为1M,以前每个线程堆栈大小为256K。更具应用的线程所需内存大小进行调整。在相同物理内存下,减小这个值能生成更多的线程。但是操作系统对一个进程内的线程数还是有限制的,不能无限生成,经验值在3000~5000左右。

我们是4G的物理内存
JVMPARAM=”-Xms512M -Xmx2G -Xmn1G”

zookeeper生产环境搭建

zookeeper生产环境搭建

设置成如下:

  1. [root@emm-kafka01-10--174 bin]# pwd
  2. /usr/local/zookeeper/bin
  3. [root@emm-kafka01-10--174 bin]# vim zkServer.sh
  4. ZOOBIN="${BASH_SOURCE-$0}"
  5. ZOOBIN="$(dirname "${ZOOBIN}")"
  6. ZOOBINDIR="$(cd "${ZOOBIN}"; pwd)"
  7. JVMPARAM="-Xms512M -Xmx2G -Xmn1G" //添加这个
  8. 改动的第二处为:
  9. nohup "$JAVA" "-Dzookeeper.log.dir=${ZOO_LOG_DIR}" "-Dzookeeper.root.logger=${ZOO_LOG4J_PROP}" \
  10. -cp "$CLASSPATH" $JVMFLAGS $JVMPARAM $ZOOMAIN "$ZOOCFG" > "$_ZOO_DAEMON_OUT" 2>&1 < /dev/null &
  11. [root@emm-kafka01-10--174 bin]# ll
  12. total 36
  13. -rwxr-xr-x 1 root root 232 Feb 6 2016 README.txt
  14. -rwxr-xr-x 1 root root 1937 Feb 6 2016 zkCleanup.sh
  15. -rwxr-xr-x 1 root root 1056 Feb 6 2016 zkCli.cmd
  16. -rwxr-xr-x 1 root root 1534 Feb 6 2016 zkCli.sh
  17. -rwxr-xr-x 1 root root 1628 Feb 6 2016 zkEnv.cmd
  18. -rwxr-xr-x 1 root root 2696 Feb 6 2016 zkEnv.sh
  19. -rwxr-xr-x 1 root root 1089 Feb 6 2016 zkServer.cmd
  20. -rwxr-xr-x 1 root root 6817 Mar 13 18:36 zkServer.sh
  21. -rw-r--r-- 1 root root 10195 Mar 13 18:36 zookeeper.out
  22. [root@emm-kafka01-10--174 bin]# scp zkServer.sh root@10.2.10.175:/usr/local/zookeeper/bin/
  23. zkServer.sh 100% 6807 2.9MB/s 00:00
  24. [root@emm-kafka01-10--174 bin]# scp zkServer.sh root@10.2.10.176:/usr/local/zookeeper/bin/
  25. zkServer.sh 100% 6807 2.6MB/s 00:00

同时启动3台zookeeper

  1. [root@emm-kafka03-10--176 data]# cd /usr/local/zookeeper/bin
  2. [root@emm-kafka03-10--176 bin]# ll
  3. total 36
  4. -rwxr-xr-x 1 root root 232 Feb 6 2016 README.txt
  5. -rwxr-xr-x 1 root root 1937 Feb 6 2016 zkCleanup.sh
  6. -rwxr-xr-x 1 root root 1056 Feb 6 2016 zkCli.cmd
  7. -rwxr-xr-x 1 root root 1534 Feb 6 2016 zkCli.sh
  8. -rwxr-xr-x 1 root root 1628 Feb 6 2016 zkEnv.cmd
  9. -rwxr-xr-x 1 root root 2696 Feb 6 2016 zkEnv.sh
  10. -rwxr-xr-x 1 root root 1089 Feb 6 2016 zkServer.cmd
  11. -rwxr-xr-x 1 root root 6817 Mar 13 18:36 zkServer.sh
  12. -rw-r--r-- 1 root root 10195 Mar 13 18:36 zookeeper.out
  13. [root@emm-kafka01-10--174 bin]# ./zkServer.sh start
  14. ZooKeeper JMX enabled by default
  15. Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
  16. Starting zookeeper ... STARTED
  17. [root@emm-kafka01-10--174 bin]# jps
  18. 7849 Jps
  19. [root@emm-kafka01-10--174 bin]# cat zookeeper.out //报错信息
  20. nohup: failed to run command ‘/usr/java/jdk/bin/java’: No such file or directory
  21. [root@emm-kafka01-10--174 local]# cd /usr/java/
  22. [root@emm-kafka01-10--174 java]# ll
  23. total 4
  24. lrwxrwxrwx 1 root root 16 Mar 13 15:58 default -> /usr/java/latest
  25. drwxr-xr-x 9 root root 4096 Mar 13 15:58 jdk1.8.0_102
  26. lrwxrwxrwx 1 root root 22 Mar 13 15:58 latest -> /usr/java/jdk1.8.0_102
  27. [root@emm-kafka01-10--174 java]# ln -s jdk1.8.0_102/ jdk
  28. [root@emm-kafka01-10--174 java]# ll
  29. total 4
  30. lrwxrwxrwx 1 root root 16 Mar 13 15:58 default -> /usr/java/latest
  31. lrwxrwxrwx 1 root root 13 Mar 13 17:48 jdk -> jdk1.8.0_102/
  32. drwxr-xr-x 9 root root 4096 Mar 13 15:58 jdk1.8.0_102
  33. lrwxrwxrwx 1 root root 22 Mar 13 15:58 latest -> /usr/java/jdk1.8.0_102

再起起来之后,出现报错,原因是174这样设置是不行的myid 所以我们要改成 1 2 3 这样的myid

  1. [root@emm-kafka01-10--174 bin]# vim zookeeper.out
  2. 2019-03-13 17:49:41,175 [myid:] - INFO [main:QuorumPeer$QuorumServer@149] - Resolved hostname: 10.2.10.176 to
  3. address: /10.2.10.176
  4. 2019-03-13 17:49:41,176 [myid:] - INFO [main:QuorumPeer$QuorumServer@149] - Resolved hostname: 10.2.10.175 to
  5. address: /10.2.10.175
  6. 2019-03-13 17:49:41,176 [myid:] - INFO [main:QuorumPeerConfig@331] - Defaulting to majority quorums
  7. 2019-03-13 17:49:41,179 [myid:174] - INFO [main:DatadirCleanupManager@78] - autopurge.snapRetainCount set to 3
  8. 2019-03-13 17:49:41,180 [myid:174] - INFO [main:DatadirCleanupManager@79] - autopurge.purgeInterval set to 0
  9. 2019-03-13 17:49:41,180 [myid:174] - INFO [main:DatadirCleanupManager@101] - Purge task is not scheduled.
  10. 2019-03-13 17:49:41,193 [myid:174] - INFO [main:QuorumPeerMain@127] - Starting quorum peer
  11. 2019-03-13 17:49:41,206 [myid:174] - INFO [main:NIOServerCnxnFactory@89] - binding to port 0.0.0.0/0.0.0.0:218
  12. 1
  13. 2019-03-13 17:49:41,215 [myid:174] - INFO [main:QuorumPeer@1019] - tickTime set to 2000
  14. 2019-03-13 17:49:41,215 [myid:174] - INFO [main:QuorumPeer@1039] - minSessionTimeout set to -1
  15. 2019-03-13 17:49:41,215 [myid:174] - INFO [main:QuorumPeer@1050] - maxSessionTimeout set to -1
  16. 2019-03-13 17:49:41,215 [myid:174] - INFO [main:QuorumPeer@1065] - initLimit set to 10
  17. 2019-03-13 17:49:41,224 [myid:174] - **ERROR** [main:QuorumPeer@231] - Setting LearnerType to PARTICIPANT but 174 n
  18. ot in QuorumPeers.
  19. 2019-03-13 17:49:41,228 [myid:174] - INFO [main:QuorumPeer@533] - currentEpoch not found! Creating with a reas
  20. onable default of 0. This should only happen when you are upgrading your installation
  21. 2019-03-13 17:49:41,234 [myid:174] - INFO [main:QuorumPeer@548] - acceptedEpoch not found! Creating with a rea
  22. sonable default of 0. This should only happen when you are upgrading your installation
  23. **2019-03-13 17:49:41,237 [myid:174] - ERROR [main:QuorumPeerMain@89] - Unexpected exception, exiting abnormally**
  24. java.lang.RuntimeException: My id 174 not in the peer list
  25. at org.apache.zookeeper.server.quorum.QuorumPeer.startLeaderElection(QuorumPeer.java:583)
  26. at org.apache.zookeeper.server.quorum.QuorumPeer.start(QuorumPeer.java:502)
  27. at org.apache.zookeeper.server.quorum.QuorumPeerMain.runFromConfig(QuorumPeerMain.java:153)
  28. at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:111)
  29. at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:78)

[root@emm-kafka01-10—174 bin]# jps //启动成功
8292 Jps
8159 QuorumPeerMain

[root@emm-kafka01-10—174 bin]# ./zkServer.sh stop

验证

  1. [root@emm-kafka01-10--174 bin]# ./zkServer.sh status
  2. ZooKeeper JMX enabled by default
  3. Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
  4. Mode: follower
  5. [root@emm-kafka02-10--175 bin]# ./zkServer.sh status
  6. ZooKeeper JMX enabled by default
  7. Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
  8. Mode: leader
  9. [root@emm-kafka03-10--176 bin]# ./zkServer.sh status
  10. ZooKeeper JMX enabled by default
  11. Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
  12. Mode: follower
  13. [root@emm-kafka01-10--174 bin]# ps -ef |grep zookeeper|grep 512
  14. root 8892 1 1 18:02 pts/0 00:00:01 /usr/java/jdk/bin/java -Dzookeeper.log.dir=. -Dzookeeper.root.logger=INFO,CONSOLE -cp /usr/local/zookeeper/bin/../build/classes:/usr/local/zookeeper/bin/../build/lib/*.jar:/usr/local/zookeeper/bin/../lib/slf4j-log4j12-1.6.1.jar:/usr/local/zookeeper/bin/../lib/slf4j-api-1.6.1.jar:/usr/local/zookeeper/bin/../lib/netty-3.7.0.Final.jar:/usr/local/zookeeper/bin/../lib/log4j-1.2.16.jar:/usr/local/zookeeper/bin/../lib/jline-0.9.94.jar:/usr/local/zookeeper/bin/../zookeeper-3.4.8.jar:/usr/local/zookeeper/bin/../src/java/lib/*.jar:/usr/local/zookeeper/bin/../conf:/usr/java/jdk/jre/lib:/usr/java/jdk/lib -Xms512M -Xmx2G -Xmn1G -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=false org.apache.zookeeper.server.quorum.QuorumPeerMain /usr/local/zookeeper/bin/../conf/zoo.cfg

会看到-Xms512M -Xmx2G -Xmn1G

  1. [root@emm-kafka01-10--174 bin]# ps -ef|grep zookeeper|grep 512
  2. root 11417 1 8 18:36 pts/0 00:00:01 java -Dzookeeper.log.dir=. -Dzookeeper.root.logger=INFO,CONSOLE -cp /usr/local/zookeeper/bin/../build/classes:/usr/local/zookeeper/bin/../build/lib/*.jar:/usr/local/zookeeper/bin/../lib/slf4j-log4j12-1.6.1.jar:/usr/local/zookeeper/bin/../lib/slf4j-api-1.6.1.jar:/usr/local/zookeeper/bin/../lib/netty-3.7.0.Final.jar:/usr/local/zookeeper/bin/../lib/log4j-1.2.16.jar:/usr/local/zookeeper/bin/../lib/jline-0.9.94.jar:/usr/local/zookeeper/bin/../zookeeper-3.4.8.jar:/usr/local/zookeeper/bin/../src/java/lib/*.jar:/usr/local/zookeeper/bin/../conf: -Xms512M -Xmx2G -Xmn1G -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=false org.apache.zookeeper.server.quorum.QuorumPeerMain /usr/local/zookeeper/bin/../conf/zoo.cfg

报错

  1. [root@emm-kafka01-10--174 bin]# ./zkServer.sh status
  2. ZooKeeper JMX enabled by default
  3. Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
  4. Error contacting service. It is probably not running.
  5. [root@emm-kafka01-10--174 bin]# vim zookeeper.out
  6. 2019-03-13 18:25:13,593 [myid:1] - WARN [WorkerSender[myid=1]:QuorumCnxManager@400] - Cannot open channel to 2
  7. at election address /10.2.10.175:3888

zookeeper之间没有相关关联,这个是防火墙阻挡了。
是因为iptables没有关闭
service iptables stop
chkconfig iptables off

执行
/bin/systemctl stop iptables.service
systemctl disable iptables.service**

配置环境变量
echo ‘export PATH=/usr/local/zookeeper/bin:$PATH’ >> /etc/profile
source /etc/profile

  1. [root@emm-kafka01-10--174 bin]# echo 'export PATH=/usr/local/zookeeper/bin:$PATH' >> /etc/profile
  2. [root@emm-kafka01-10--174 bin]# tail -1 /etc/profile
  3. export PATH=/usr/local/zookeeper/bin:$PATH
  4. [root@emm-kafka01-10--174 bin]# source /etc/profile
  5. [root@emm-kafka01-10--174 bin]# which zkServer.sh
  6. /usr/local/zookeeper/bin/zkServer.sh
  7. [root@emm-kafka01-10--174 bin]# cd ~
  8. [root@emm-kafka01-10--174 ~]# zkServer.sh restart
  9. ZooKeeper JMX enabled by default
  10. Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
  11. ZooKeeper JMX enabled by default
  12. Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
  13. Stopping zookeeper ... STOPPED
  14. ZooKeeper JMX enabled by default
  15. Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
  16. Starting zookeeper ... STARTED
  17. [root@emm-kafka01-10--174 ~]# zkServer.sh status
  18. ZooKeeper JMX enabled by default
  19. Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
  20. Mode: followe
  21. [root@emm-kafka01-10--174 bin]# netstat -lntup
  22. Active Internet connections (only servers)
  23. Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
  24. tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1316/master
  25. tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1102/sshd
  26. tcp6 0 0 ::1:25 :::* LISTEN 1316/master
  27. tcp6 0 0 :::2181 :::* LISTEN 11417/java
  28. tcp6 0 0 10.2.10.174:3888 :::* LISTEN 11417/java
  29. tcp6 0 0 :::40466 :::* LISTEN 11417/java
  30. tcp6 0 0 :::22 :::* LISTEN 1102/sshd
  31. [root@emm-kafka02-10--175 bin]# netstat -lntup
  32. Active Internet connections (only servers)
  33. Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
  34. tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1313/master
  35. tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1102/sshd
  36. tcp6 0 0 ::1:25 :::* LISTEN 1313/master
  37. tcp6 0 0 :::41921 :::* LISTEN 10182/java
  38. tcp6 0 0 :::2181 :::* LISTEN 10182/java
  39. tcp6 0 0 10.2.10.175:2888 :::* LISTEN 10182/java
  40. tcp6 0 0 10.2.10.175:3888 :::* LISTEN 10182/java
  41. tcp6 0 0 :::22 :::* LISTEN 1102/sshd
  42. root@emm-kafka03-10--176 bin]# netstat -lntup
  43. Active Internet connections (only servers)
  44. Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
  45. tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1316/master
  46. tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1104/sshd
  47. tcp6 0 0 ::1:25 :::* LISTEN 1316/master
  48. tcp6 0 0 :::42047 :::* LISTEN 11520/java
  49. tcp6 0 0 :::2181 :::* LISTEN 11520/java
  50. tcp6 0 0 10.2.10.176:3888 :::* LISTEN 11520/java
  51. tcp6 0 0 :::22 :::* LISTEN 1104/sshd
  52. [root@emm-kafka03-10--176 bin]#

我们发现只有leader才有2888端口,3888每个上面都有 2181 是没有zookeeper监听端口,每个都有
zookeeper安装完成

  1. zookeeper命令行客户端何用以及功能测试
  2. [root@emm-kafka01-10--174 ~]# zkCli.sh -server 10.2.10.174
  3. Connecting to 10.2.10.174
  4. 2019-03-13 19:40:04,797 [myid:] - INFO [main:Environment@100] - Client environment:zookeeper.version=3.4.8--1, built on 02/06/2016 03:18 GMT
  5. 2019-03-13 19:40:04,806 [myid:] - INFO [main:Environment@100] - Client environment:host.name=emm-kafka01-10--174
  6. 2019-03-13 19:40:04,807 [myid:] - INFO [main:Environment@100] - Client environment:java.version=1.8.0_102
  7. 2019-03-13 19:40:04,812 [myid:] - INFO [main:Environment@100] - Client environment:java.vendor=Oracle Corporation
  8. 2019-03-13 19:40:04,813 [myid:] - INFO [main:Environment@100] - Client environment:java.home=/usr/java/jdk1.8.0_102/jre
  9. 2019-03-13 19:40:04,813 [myid:] - INFO [main:Environment@100] - Client environment:java.class.path=/usr/local/zookeeper/bin/../build/classes:/usr/local/zookeeper/bin/../build/lib/*.jar:/usr/local/zookeeper/bin/../lib/slf4j-log4j12-1.6.1.jar:/usr/local/zookeeper/bin/../lib/slf4j-api-1.6.1.jar:/usr/local/zookeeper/bin/../lib/netty-3.7.0.Final.jar:/usr/local/zookeeper/bin/../lib/log4j-1.2.16.jar:/usr/local/zookeeper/bin/../lib/jline-0.9.94.jar:/usr/local/zookeeper/bin/../zookeeper-3.4.8.jar:/usr/local/zookeeper/bin/../src/java/lib/*.jar:/usr/local/zookeeper/bin/../conf:
  10. 2019-03-13 19:40:04,814 [myid:] - INFO [main:Environment@100] - Client environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
  11. 2019-03-13 19:40:04,814 [myid:] - INFO [main:Environment@100] - Client environment:java.io.tmpdir=/tmp
  12. 2019-03-13 19:40:04,814 [myid:] - INFO [main:Environment@100] - Client environment:java.compiler=<NA>
  13. 2019-03-13 19:40:04,814 [myid:] - INFO [main:Environment@100] - Client environment:os.name=Linux
  14. 2019-03-13 19:40:04,815 [myid:] - INFO [main:Environment@100] - Client environment:os.arch=amd64
  15. 2019-03-13 19:40:04,815 [myid:] - INFO [main:Environment@100] - Client environment:os.version=3.10.0-862.14.4.el7.x86_64
  16. 2019-03-13 19:40:04,815 [myid:] - INFO [main:Environment@100] - Client environment:user.name=root
  17. 2019-03-13 19:40:04,816 [myid:] - INFO [main:Environment@100] - Client environment:user.home=/root
  18. 2019-03-13 19:40:04,816 [myid:] - INFO [main:Environment@100] - Client environment:user.dir=/root
  19. 2019-03-13 19:40:04,819 [myid:] - INFO [main:ZooKeeper@438] - Initiating client connection, connectString=10.2.10.174 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@506c589e
  20. Welcome to ZooKeeper!
  21. 2019-03-13 19:40:04,883 [myid:] - INFO [main-SendThread(10.2.10.174:2181):ClientCnxn$SendThread@1032] - Opening socket connection to server 10.2.10.174/10.2.10.174:2181. Will not attempt to authenticate using SASL (unknown error)
  22. JLine support is enabled
  23. 2019-03-13 19:40:05,038 [myid:] - INFO [main-SendThread(10.2.10.174:2181):ClientCnxn$SendThread@876] - Socket connection established to 10.2.10.174/10.2.10.174:2181, initiating session
  24. 2019-03-13 19:40:05,055 [myid:] - INFO [main-SendThread(10.2.10.174:2181):ClientCnxn$SendThread@1299] - Session establishment complete on server 10.2.10.174/10.2.10.174:2181, sessionid = 0x16976d0bd810001, negotiated timeout = 30000
  25. WATCHER::
  26. WatchedEvent state:SyncConnected type:None path:null
  27. [zk: 10.2.10.174(CONNECTED) 0] ls /
  28. [zookeeper]
  29. [zk: 10.2.10.174(CONNECTED) 1] ls /zookeeper
  30. [quota]
  31. [zk: 10.2.10.174(CONNECTED) 2] ls /zookeeper/quota
  32. []
  33. [zk: 10.2.10.174(CONNECTED) 3] get /zookeeper/quota
  34. cZxid = 0x0
  35. ctime = Thu Jan 01 08:00:00 CST 1970
  36. mZxid = 0x0
  37. mtime = Thu Jan 01 08:00:00 CST 1970
  38. pZxid = 0x0
  39. cversion = 0
  40. dataVersion = 0
  41. aclVersion = 0
  42. ephemeralOwner = 0x0
  43. dataLength = 0
  44. numChildren = 0
  45. [zk: 10.2.10.174(CONNECTED) 4] get /zookeeper
  46. cZxid = 0x0
  47. ctime = Thu Jan 01 08:00:00 CST 1970
  48. mZxid = 0x0
  49. mtime = Thu Jan 01 08:00:00 CST 1970
  50. pZxid = 0x0
  51. cversion = -1
  52. dataVersion = 0
  53. aclVersion = 0
  54. ephemeralOwner = 0x0
  55. dataLength = 0
  56. numChildren = 1

zookeeper的启动脚本

  1. [root@emm-kafka03-10--176 scripts]# cat zkstart.sh
  2. #!/bin/bash
  3. source /etc/profile
  4. zkServer.sh restart
  5. sleep 1
  6. zkServer.sh status
  7. sleep 3
  8. [root@emm-kafka01-10--174 scripts]# sh /opt/scripts/zkstart.sh
  9. ZooKeeper JMX enabled by default
  10. Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
  11. ZooKeeper JMX enabled by default
  12. Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
  13. Stopping zookeeper ... no zookeeper to stop (could not find file /usr/local/zookeeper/data/zookeeper_server.pid)
  14. ZooKeeper JMX enabled by default
  15. Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
  16. Starting zookeeper ... STARTED
  17. ZooKeeper JMX enabled by default
  18. Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
  19. Mode: follower
  20. [root@emm-kafka01-10--174 scripts]# jps
  21. 7974 QuorumPeerMain
  22. 9998 Jps

可以设置开机自启动

  1. chmod +x /etc/rc.d/rc.local
  2. echo "/usr/bin/sh /opt/scripts/zkstart.sh" >> /etc/rc.d/rc.local

转载于:https://blog.51cto.com/12445535/2362585

发表评论

表情:
评论列表 (有 0 条评论,444人围观)

还没有评论,来说两句吧...

相关阅读