当前位置:   article > 正文

Linux环境下部署Zookeeper3.9.2(最新版)集群部署

Linux环境下部署Zookeeper3.9.2(最新版)集群部署

软件下载地址

Index of /apache/zookeeper/zookeeper-3.9.2

1、解压

  1. cd /usr/local/soft/
  2. tar -zxvf apache-zookeeper-3.9.2-bin.tar.gz

2、创建数据文件和目录文件

在zookeeper的跟目录下创建两个文件夹data和log

  1. cd /usr/local/soft/apache-zookeeper-3.9.2-bin/
  2. mkdir data
  3. mkdir log

3、拷贝配置文件

  1. cd /usr/local/soft/apache-zookeeper-3.9.2-bin/conf/
  2. cp zoo_sample.cfg zoo.cfg

配置文件更改

  1. # The number of milliseconds of each tick
  2. tickTime=2000
  3. # The number of ticks that the initial
  4. # synchronization phase can take
  5. initLimit=10
  6. # The number of ticks that can pass between
  7. # sending a request and getting an acknowledgement
  8. syncLimit=5
  9. # the directory where the snapshot is stored.
  10. # do not use /tmp for storage, /tmp here is just
  11. # example sakes.
  12. dataDir=/usr/local/soft/apache-zookeeper-3.9.2-bin/data
  13. dataLogDir=/usr/local/soft/apache-zookeeper-3.9.2-bin/log
  14. # the port at which the clients will connect
  15. clientPort=2181
  16. # the maximum number of client connections.
  17. # increase this if you need to handle more clients
  18. #maxClientCnxns=60
  19. #
  20. # Be sure to read the maintenance section of the
  21. # administrator guide before turning on autopurge.
  22. #
  23. # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
  24. #
  25. # The number of snapshots to retain in dataDir
  26. #autopurge.snapRetainCount=3
  27. # Purge task interval in hours
  28. # Set to "0" to disable auto purge feature
  29. #autopurge.purgeInterval=1
  30. server.1=node11:2888:3888
  31. server.2=node12:2888:3888
  32. server.3=node13:2888:3888

4、创建服务器myid

在data目录下创建一个myid的文件,里面的值可以给个任意的值,但要和上述服务起server.x对应

  1. cd /usr/local/soft/apache-zookeeper-3.9.2-bin/data/
  2. touch myid

内容添加1

集群系统环境变量添加:vi /etc/profile

  1. export ZOOKEEPER_HOME=/usr/local/soft/apache-zookeeper-3.9.2-bin
  2. export PATH=$PATH:$ZOOKEEPER_HOME/bin

保存系统环境变量:source /etc/profile

5、集群拷贝

拷贝文件

  1. scp -r /usr/local/soft/apache-zookeeper-3.9.2-bin root@node12:/usr/local/soft/apache-zookeeper-3.9.2-bin
  2. scp -r /usr/local/soft/apache-zookeeper-3.9.2-bin root@node13:/usr/local/soft/apache-zookeeper-3.9.2-bin

拷贝环境变量

  1. scp /etc/profile root@node12:/etc/profile
  2. scp /etc/profile root@node13:/etc/profile

6、集群myid更改

进入到每个节点,修改/usr/local/soft/apache-zookeeper-3.9.2-bin/data/myid值

其中node12节点中myid文件内容改成2

其中node13节点中myid文件内容改成3

并执行

source /etc/profile

关闭集群防火墙

7、集群启动(推荐8)

进入到每个节点启动

  1. cd /usr/local/soft/apache-zookeeper-3.9.2-bin
  2. bin/zkServer.sh start
  3. bin/zkServer.sh status

8、集群设置脚本启动

cd /usr/local/soft/apache-zookeeper-3.9.2-bin/bin/

执行文件创建及授权

创建文件

  1. touch zkStart.sh
  2. touch zkStop.sh
  3. touch zkStatus.sh

授权

  1. chmod +x zkStart.sh
  2. chmod +x zkStop.sh
  3. chmod +x zkStatus.sh

zkStart.sh中添加

  1. #!/bin/bash
  2. echo "zookeeper start 11,12,13..."
  3. ssh node11 "source /etc/profile;zkServer.sh start"
  4. ssh node12 "source /etc/profile;zkServer.sh start"
  5. ssh node13 "source /etc/profile;zkServer.sh start"

zkStop.sh中添加

  1. #!/bin/bash
  2. echo "zookeeper start 11,12,13..."
  3. ssh node11 "source /etc/profile;zkServer.sh stop"
  4. ssh node12 "source /etc/profile;zkServer.sh stop"
  5. ssh node13 "source /etc/profile;zkServer.sh stop"

zkStatus.sh中添加

  1. #!/bin/bash
  2. echo "zookeeper start 11,12,13..."
  3. ssh node11 "source /etc/profile;zkServer.sh status"
  4. ssh node12 "source /etc/profile;zkServer.sh status"
  5. ssh node13 "source /etc/profile;zkServer.sh status"

集群启动:zkStart.sh

集群关闭:zkStop.sh

集群状态查看:zkStatus.sh

注意启动的时候出现Client SSL: false.这并不是错误。可以忽略

在 ZooKeeper 中,启动时看到 "Client SSL: false" 的信息,意味着 ZooKeeper 服务器没有启用客户端 SSL/TLS 加密。这意味着客户端与 ZooKeeper 服务器之间的通信不是加密的,这可能会带来安全风险,尤其是在生产环境中。学习阶段可以不用配置,如果配置了会导致后续连接复杂,不建议配置,如果想配置可参考本文FAQ 问题2

10、zkCli连接验证

zkCli.sh -server 192.168.1.11:2181

FAQ

1、启动脚本被占用

/bin/bash: bad interpreter: Text file busy

解决办法:

fuser 命令名称

找到进程号,kill查杀 

ced3552e77f94ddbb1f2c112f3c4e9d6.png

2、Client SSL: false解析

在 ZooKeeper 中,启动时看到 "Client SSL: false" 的信息,意味着 ZooKeeper 服务器没有启用客户端 SSL/TLS 加密。这意味着客户端与 ZooKeeper 服务器之间的通信不是加密的,这可能会带来安全风险,尤其是在生产环境中。

如果你希望启用客户端 SSL/TLS 加密来增强安全性,你需要进行以下几步操作(初学者不建议操作):

具体可参照:https://blog.51cto.com/u_13236892/5507601

  1. 生成密钥库和信任库
    你需要生成一个 Java 密钥库(keystore)来存储服务器的私钥和证书,以及一个信任库(truststore)来存储客户端信任的 CA 证书。这些证书可以是自签名的,也可以是由受信任的证书颁发机构(CA)签发的。

  2. 配置 ZooKeeper 服务器
    在 ZooKeeper 的配置文件(通常是 zoo.cfg)中,你需要设置几个属性来启用 SSL。这些属性包括 secureClientPort(一个用于 SSL/TLS 通信的端口号,通常是不同于非加密通信的端口),ssl.keystore.location(密钥库的路径),ssl.keystore.password(访问密钥库的密码),ssl.truststore.location(信任库的路径),以及 ssl.truststore.password(访问信任库的密码)。

 secureClientPort=2182
ssl.keystore.location=/path/to/keystore.jks
ssl.keystore.password=keystore_password
ssl.truststore.location=/path/to/truststore.jks
ssl.truststore.password=truststore_password

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/983206
推荐阅读
相关标签
  

闽ICP备14008679号