经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 大数据/云/AI » Zookeeper » 查看文章
zookeeper集群搭建
来源:cnblogs  作者:奋斗的菜鸡  时间:2018/12/20 9:29:13  对本文有异议

一、java环境安装

1.下载jdk

jdk下载地址下载或者在服务器中用命令下载

  1. wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" https://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jdk-8u191-linux-x64.tar.gz

注意,以上jdk-8u191-linux-x64.tar.gz的地址是会变的,所以下载地址需要替换成自己的。

2.安装

创建目录

  1. cd /usr/local/
  2. mkdir java
  3. cd java

接着把安装包上传到java文件夹中,解压

  1. tar zxvf jdk-8u191-linux-x64.tar.gz

       配置环境变量

       vi /etc/profile 

       在文件的末尾输入

  1. export JAVA_HOME=/usr/local/java/jdk1.8.0_191
  2. export PATH=$PATH:$JAVA_HOME/bin

这里注意自己的是不是jdk1.8.0_191

      使环境变量在当前bash中生效

      source /etc/profile 

 

二、zookeeper安装

1.下载

zookeeper下载地址下载安装包

或者命令下载

  1. cd /usr/local
  2. mkdir zookeeper
  3. cd zookeeper
  4. wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz
    tar zxvf zookeeper-3.4.13.tar.gz 

     2.配置

创建data文件夹,打开配置文件

  1. cd zookeeper-3.4.13
    mkdir data
    cd conf
  2. mv zoo_sample.cfg zoo.cfg
  3. vi 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/zookeeper/zookeeper-1/data
  13. dataLogDir=/usr/local/zookeeper/zookeeper-1/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. server.1=47.105.232.148:2888:3888
  20. server.2=47.105.232.148:2889:3889
  21. server.3=47.105.232.148:2890:3890
  22. #
  23. # Be sure to read the maintenance section of the
  24. # administrator guide before turning on autopurge.
  25. #
  26. # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
  27. #
  28. # The number of snapshots to retain in dataDir
  29. #autopurge.snapRetainCount=3
  30. # Purge task interval in hours
  31. # Set to "0" to disable auto purge feature
  32. #autopurge.purgeInterval=1

  33. quorumListenOnAllIPs=true

以上红色的需要注意,因为我用的是一台服务器,所以三个zookeeper这里配置应该不同,不然会冲突,黄色部分也要确保 server.1、server.2和server.3端口不冲突,如果是三台服务器的话就不需要了。

这里还需要注意的是,如果是在云服务器上部署的,需要配置quorumListenOnAllIPs=true,用以监听所有网卡,这个和云服务器的一些虚拟技术有关,否则的话会抛异常

  1. [myid:0] - ERROR [/47.94.204.115:3888:QuorumCnxManager$Listener@763] - Exception while listening
  2. java.net.BindException: 无法指定被请求的地址 (Bind failed)
  3.         at java.net.PlainSocketImpl.socketBind(Native Method)
  4.         at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387)
  5.         at java.net.ServerSocket.bind(ServerSocket.java:375)
  6.         at java.net.ServerSocket.bind(ServerSocket.java:329)
  7.         at org.apache.zookeeper.server.quorum.QuorumCnxManager$Listener.run(QuorumCnxManager.java:742)

回到zookeeper目录下

  1. cp -r zookeeper-3.4.13/ zookeeper-1
  2. cp -r zookeeper-3.4.13/ zookeeper-2
  3. cp -r zookeeper-3.4.13/ zookeeper-3

接着依次修改配置文件中 dataDir dataLogDir clientPort

最后记得创建各自的myid

  1. echo "1" > zookeeper-1/data/myid
  2. echo "2" > zookeeper-2/data/myid
  3. echo "3" > zookeeper-4/data/myid

依次启动

  1. ./zookeeper-1/bin/zkServer.sh start
  2. ./zookeeper-2/bin/zkServer.sh start
  3. ./zookeeper-3/bin/zkServer.sh start

查看是否成功

这个是显示失败了,这里可能是配置文件出错或者有什么防火墙

我这里是因为云主机的安全组给挡住了

修改好之后先关闭

  1. ./zookeeper-1/bin/zkServer.sh stop
  2. ./zookeeper-2/bin/zkServer.sh stop
  3. ./zookeeper-3/bin/zkServer.sh stop

再次启动,成功

 

 

 

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号