博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
zookeeper3.4.6集群部署
阅读量:4221 次
发布时间:2019-05-26

本文共 3459 字,大约阅读时间需要 11 分钟。

 

在安装Zookeeper之前,首先需要确保的就是主机名称(可选)、hosts都已经更改,并且JDK成功安装。

 

1、安装Zookeeper

使用命令“tar -zxvf”命令将gz压缩文件解压。笔者Zookeeper的安装目录为:“/home/”,解压后的Hadoop目录为/home/hadoop/zookeeper-3.4.6”,最好确保Master、Slave1、Slave2机器上的Zookeeper安装路径一致。

 

2、配置Zookeeper的环境变量

成功安装Zookeeper后,接下来要做的事情就是配置Zookeeper的环境变量,并通过命令“source “/etc/profile”命令使修改后的配置生效,如下所示:

Shell代码  
收藏代码
  1. #ZOOKEEPER  
  2. ZOOKEEPER=/home/hadoop/zookeeper-3.4.6  
  3. PATH=$PATH:$ZOOKEEPER/bin  

 

3、修改Zookeeper的配置文件

首先将/home/hadoop/zookeeper-3.4.6/conf/zoo_sample.cfg文件复制一份,并更名为zoo.cfg,如下所示:

Shell代码  
收藏代码
  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=/home/hadoop/zk/data  
  13. dataLogDir=/home/hadoop/zk/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  
  31. server.2=Slave1:3333:4444  
  32. server.3=Slave2:3333:4444  

 

server.A=B:C:D:其中 A 是一个数字,表示这个是第几号服务器;B 是这个服务器的 ip 地址;C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;D 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口。如果是伪集群的配置方式,由于 B 都是一样,所以不同的 Zookeeper 实例通信端口号不能一样,所以要给它们分配不同的端口号。

 

根据dataDir和dataLogDir变量创建相应的目录。

 

4、创建myid文件

在dataDir目录下创建一个myid文件,然后分别在myid文件中按照zoo.cfg文件的server.A中A的数值,在不同机器上的该文件中填写相应的值。

 

5、启动Zookeeper

执行命令“zkServer.sh start”将会启动Zookeeper。在此大家需要注意,和在Master启动Hadoop不同,不同节点上的Zookeeper需要单独启动。而执行命令“zkServer.sh stop”将会停止Zookeeper。

 

开发人员可以使用命令“JPS”查看Zookeeper是否成功启动,以及执行命令“zkServer.sh status”查看Zookeeper集群状态,如下所示:

Shell代码  
收藏代码
  1. #192.168.1.224  
  2. JMX enabled by default  
  3. Using config: /home/hadoop/zookeeper-3.4.6/bin/../conf/zoo.cfg  
  4. Mode: follower  
  5.   
  6. #192.168.1.225  
  7. JMX enabled by default  
  8. Using config: /home/hadoop/zookeeper-3.4.6/bin/../conf/zoo.cfg  
  9. Mode: leader  
  10.   
  11. #192.168.1.226  
  12. JMX enabled by default  
  13. Using config: /home/hadoop/zookeeper-3.4.6/bin/../conf/zoo.cfg  
  14. Mode: follower  

 

Zookeeper集群在启动的过程中,查阅zookeeper.out,会有如下异常:

Java代码  
收藏代码
  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。

转载地址:http://lqemi.baihongyu.com/

你可能感兴趣的文章
makefile学习网站
查看>>
C 编写lua模块(1)
查看>>
Lua教程:Lua调用C/C++函数(4)
查看>>
win下创建win32控制台工程,执行lua脚本
查看>>
cocos2dx android启动错误
查看>>
eclipse: android rename package name
查看>>
cocos2dx c++调用java思想
查看>>
cocos2dx lua Node节点 私有数据存取
查看>>
lua math.ceil math.ceil
查看>>
cocos2dx CCNode计算node的大小
查看>>
cocos2dx 布局记录(1)
查看>>
lua 多行注释和取消多行注释
查看>>
缩放系数计算
查看>>
cocos2dx --- 按钮点击居中放大
查看>>
cocos2dx menu位置计算
查看>>
cocos2dx资源加载机制(同步/异步)
查看>>
cocos2dx C++调用java -- 字符串传递
查看>>
git学习网站
查看>>
JavaScript 学习网站
查看>>
cocos2dx java调用c++ -- 字符串传递
查看>>