zoukankan      html  css  js  c++  java
  • Zookeeper3.4.10集群部署

    在安装Zookeeper之前,首先需要确保的就是主机名称(可选)、hosts都已经更改,并且JDK成功安装。
    #vim /etc/hosts
    添加zookeeper服务器IP、主机名,例如: 113.106.77.50 zookeeper-1
     
    1、安装Zookeeper
    使用命令“tar -zxvf”命令将gz压缩文件解压。,解压后的目录为/app/zookeeper-3.4.10,最好确保Master、Slave1、Slave2机器上的Zookeeper安装路径一致。
     
    2、配置Zookeeper的环境变量
    成功安装Zookeeper后,接下来要做的事情就是配置Zookeeper的环境变量,并通过命令“source “/etc/profile”命令使修改后的配置生效,如下所示:
     
    vim /root/.bash_profile
    #zookeeper env
    export ZOOKEEPER_HOME=/app/zookeeper-3.4.10
    export PATH=$ZOOKEEPER_HOME/bin:$PATH
     
    3、修改Zookeeper的配置文件
    首先将/app/zookeeper-3.4.10/conf/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=/service/zookeeper-3.4.10/data #需创建data目录
    13. dataLogDir=/app/zookeeper-3.4.10/log #需创建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=Master:3333:4444 单机版zookeeper此处配置一个
    31. server.3=Slave2:3333:4444
     
    server.A=B:C:D:其中 A 是一个数字,表示这个是第几号服务器;B 是这个服务器的 ip 地址;C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;D 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口。如果是伪集群的配置方式,由于 B 都是一样,所以不同的 Zookeeper 实例通信端口号不能一样,所以要给它们分配不同的端口号。
     
    根据dataDir和dataLogDir变量创建相应的目录。
    mkdir /app/zookeeper-3.4.10/data
    mkdir /app/zookeeper-3.4.10/log
     
    4、创建myid文件(单机版也需要创建myid文件)
    在dataDir目录下创建一个myid文件,然后分别在myid文件中按照zoo.cfg文件的server.A中A的数值,在不同机器上的该文件中填写相应的值。
    vim /app/zookeeper-3.4.10/data/myid
     
    5、启动Zookeeper
    执行命令“zkServer.sh start”将会启动Zookeeper。在此大家需要注意,和在Master启动Hadoop不同,不同节点上的Zookeeper需要单独启动。而执行命令“zkServer.sh stop”将会停止Zookeeper。
     
    开发人员可以使用命令“JPS”查看Zookeeper是否成功启动,以及执行命令“zkServer.sh status”查看Zookeeper集群状态,也可使用四字命令(如 echo stat | netcat localhost 2181 )快速确定节点状态如下所示:
     
    1. #192.168.1.224
    2. JMX enabled by default
    3. Using config: /app/zookeeper-3.4.10/bin/../conf/zoo.cfg
    4. Mode: follower
    5. #192.168.1.225
    6. JMX enabled by default
    7. Using config: /app/zookeeper-3.4.10/bin/../conf/zoo.cfg
    8. Mode: leader
    9. #192.168.1.226
    10. JMX enabled by default
    11. Using config: /app/zookeeper-3.4.10/bin/../conf/zoo.cfg
    12. Mode: follower
     
    Zookeeper集群在启动的过程中,查阅zookeeper.out,会有如下异常:
     
    1. java.net.ConnectException: Connection refused
    2. at java.net.PlainSocketImpl.socketConnect(Native Method)
    3. at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
    4. at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
    5. at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
    6. at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    7. at java.net.Socket.connect(Socket.java:579)
    8. at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:368)
    9. at org.apache.zookeeper.server.quorum.QuorumCnxManager.toSend(QuorumCnxManager.java:341)
    10. at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.process(FastLeaderElection.java:449)
    11. at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.run(FastLeaderElection.java:430)
    12. at java.lang.Thread.run(Thread.java:745)
     
    上述异常可以忽略,因为集群环境中某些子节点还没有启动zookeeper。
     
    配置zookeeper开机启动,编辑/etc/rc.local文件,加入
    su -root -c ' /app/zookeeper-3.4.10/data/bin/zkServer.sh start'
    (此配置对zookeeper集群无效)
     
     
     
     
  • 相关阅读:
    arthas命令ognl视频演示
    arthas命令sc和sm视频演示
    混合Java函数和Groovy闭包
    Mock System.in和检查System.out
    arthas命令logger动态修改日志级别--视频演示
    删除List中null的N种方法--最后放大招
    ovs安装教程
    win10中安装与配置maven
    win10系统中按顺序安装jdk、tomcat
    win10系统中按顺序安装jdk、tomcat
  • 原文地址:https://www.cnblogs.com/snowwhitecityofsky/p/9177028.html
Copyright © 2011-2022 走看看