CentOS下ZooKeeper单机模式、集群模式安装
2017-09-01 11:12
507 查看
本文环境如下:
操作系统:CentOS 6 32位
ZooKeeper版本:3.4.8
可以参考:
CentOS 6使用rpm方式安装JDK8
2
3
2
3
Zookeeper提供了一份默认的配置文件,复制为zoo.cfg打开后,我们需要修改数据存放的路径:
2
如果运行无报错,说明Zookeeper启动成功了。
为了以后操作方便,我们可以将Zookeeper/bin添加到path
在末尾添加:
2
更新配置:
2
打开后,修改为:
2
3
4
5
6
7
8
server后面跟的数字就是该节点的标号,我们需要将这个编号写入名为
例如上面的slave1节点,对应的
2
拷贝完成后,记得修改对应服务器的
2
3
4
5
6
7
8
9
10
11
12
13
出现这个异常,可能是zookeeper节点的防火墙是开启状态并且没有打开相应端口(2888,3888);也可能是有节点未启动或者挂掉了。
操作系统:CentOS 6 32位
ZooKeeper版本:3.4.8
0. 环境需求
Zookeeper需要JDK1.6以上版本的Java环境可以参考:
CentOS 6使用rpm方式安装JDK8
1. 下载软件包
到ZooKeeper官网上http://zookeeper.apache.org/下载软件包,例如:
wget "http://apache.opencas.org/zookeeper/stable/zookeeper-3.4.8.tar.gz" tar -xzvf zookeeper-3.4.8.tar.gz mv zookeeper-3.4.8 /opt1
2
3
2. 单机模式
2.1 修改配置文件
cd /opt/zookeeper-3.4.8/conf/ cp zoo_sample.cfg zoo.cfg vi zoo.cfg1
2
3
Zookeeper提供了一份默认的配置文件,复制为zoo.cfg打开后,我们需要修改数据存放的路径:
dataDir=/opt/zookeeper-3.4.8/data1
2.2 运行Zookeeper
cd /opt/zookeeper-3.4.8/bin/ ./zkServer.sh start1
2
如果运行无报错,说明Zookeeper启动成功了。
为了以后操作方便,我们可以将Zookeeper/bin添加到path
vi /etc/profile1
在末尾添加:
ZOOKEEPER_HOME=/opt/zookeeper-3.4.8 PATH=$PATH:$ZOOKEEPER_HOME/bin1
2
更新配置:
source /etc/profile1
3. 集群模式
单机模式非常方便,适合开发、测试场景,但是在生产环境中,应该运行一个集群模式。集群模式至少应该有3个节点,并且强烈建议是奇数个节点,每个节点应该有相同的配置文件。3.1 修改配置文件
cd /opt/zookeeper-3.4.8/conf/ vi zoo.cfg1
2
打开后,修改为:
tickTime=2000 dataDir=/opt/zookeeper-3.4.8/data clientPort=2181 initLimit=5 syncLimit=2 server.1=master:2888:3888 server.2=slave1:2888:3888 server.3=slave2:2888:38881
2
3
4
5
6
7
8
server后面跟的数字就是该节点的标号,我们需要将这个编号写入名为
myid的文件。该文件应该存放在前面配置的dataDir指向的目录下。
例如上面的slave1节点,对应的
data/myid文件中应该写入
2。
3.2 拷贝文件夹
scp -r /opt/zookeeper-3.4.8 root@slave1:/opt/ scp -r /opt/zookeeper-3.4.8 root@slave2:/opt/1
2
拷贝完成后,记得修改对应服务器的
myid文件。
3.3 启动服务
需要到每个节点上启动Zookeeper服务,每个节点启动后可以用zkServer.sh status查看当前节点的启动状态以及是leader节点还是follower节点。
4. 异常分析
运行日志文件默认在程序目录下的zookeeper.out。
4.1 无法连接
2016-04-13 05:18:21,531 [myid:1] - WARN [WorkerSender[myid=1]:QuorumCnxManager@400] - Cannot open channel to 2 at election address slave1/5.2.8.5:3888 java.net.ConnectException: Connection refused at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:381) at org.apache.zookeeper.server.quorum.QuorumCnxManager.toSend(QuorumCnxManager.java:354) at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.process(FastLeaderElection.java:452) at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.run(FastLeaderElection.java:433) at java.lang.Thread.run(Thread.java:745)1
2
3
4
5
6
7
8
9
10
11
12
13
出现这个异常,可能是zookeeper节点的防火墙是开启状态并且没有打开相应端口(2888,3888);也可能是有节点未启动或者挂掉了。
相关文章推荐
- CentOS下ZooKeeper单机模式、集群模式安装
- Zk笔记(一):Zookeeper的两种安装和配置(Windows):单机模式与集群模式
- centos 下zookeeper 集群模式的安装和配置
- CentOS6.5下安装ZooKeeper3.4.8单机模式(Standalone mode)
- zookeeper单机模式,伪分布式,集群模式安装教程(按照步骤来,100%能成功)
- Centos7 zookeeper单机/集群安装详解和开机自启
- CentOS上zookeeper集群模式安装配置
- centos单机安装zookeeper 3.4.9
- CentOS 7下安装集群Zookeeper-3.4.9
- zookeeper 分布式集群模式安装
- zookeeper 集群模式安装
- centos7下zookeeper集群安装部署
- CentOS下Hive2.0.0集群模式安装详解
- CentOS 7下安装集群Zookeeper-3.4.9
- ZooKeeper安装过程(单机模式)
- 在CentOS上安装ZooKeeper集群
- zookeeper的单机安装和集群安装
- Redhat-linux下zookeeper单机及集群方式安装启动
- centos6.5环境下zookeeper-3.4.6集群环境部署及单机部署详解
- zookeeper单机模式安装