博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【zookeeper】 zookeeper 集群搭建
阅读量:6991 次
发布时间:2019-06-27

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

集群搭建环境:

发行版:CentOS-6.6 64bit

内核:2.6.32-504.el6.x86_64

CPU:intel-i7 3.6G

内存:2G

集群搭建步骤:

1. 确保机器安装了jdk

[root@rocket ~]# java -version

openjdk version "1.8.0_51"

OpenJDK Runtime Environment (build 1.8.0_51-b16)

OpenJDK 64-Bit Server VM (build 25.51-b03, mixed mode)

如果找不到jdk,可以通过yum进行安装,如果发行版不是CentOS,请自行搜索对应发行版的安装方法。

[root@rocket local]# yum -y install java

2. 下载zookeeper,选一个合适的版本

在官网找一个合适的镜像进行下载。这里使用北理的镜像进行下载。

[root@rocket local]#  \

wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz

下载完成之后分别解压到

[root@rocket local]# tar -zxvf zookeeper-3.4.6.tar.gz zookeeper-server1

[root@rocket local]# tar -zxvf zookeeper-3.4.6.tar.gz zookeeper-server2

[root@rocket local]# tar -zxvf zookeeper-3.4.6.tar.gz zookeeper-server3

3. 拷贝配置文件

[root@rocket local]# cd /usr/local/zookeeper-server1/;cp conf/zoo_sample.cfg conf/zoo_test.cfg

[root@rocket local]# cd /usr/local/zookeeper-server2/;cp conf/zoo_sample.cfg conf/zoo_test.cfg

[root@rocket local]# cd /usr/local/zookeeper-server3/;cp conf/zoo_sample.cfg conf/zoo_test.cfg

4. 修改配置文件

zookeeper-server1

# The number of milliseconds of each tick

tickTime=2000

# The number of ticks that the initial

# synchronization phase can take

initLimit=10

# The number of ticks that can pass between

# sending a request and getting an acknowledgement

syncLimit=5

dataDir=/tmp/zookeeper-server1/data

dataLogDir=/tmp/zookeeper-server1/logs

# the port at which the clients will connect

clientPort=2181

server.1=127.0.0.1:8880:7770

server.2=127.0.0.1:8881:7770

server.3=127.0.0.1:8882:7770

 

zookeeper-server2

# The number of milliseconds of each tick

tickTime=2000

# The number of ticks that the initial

# synchronization phase can take

initLimit=10

# The number of ticks that can pass between

# sending a request and getting an acknowledgement

syncLimit=5

dataDir=/tmp/zookeeper-server2/data

dataLogDir=/tmp/zookeeper-server2/logs

# the port at which the clients will connect

clientPort=3181

server.1=127.0.0.1:8880:7770

server.2=127.0.0.1:8881:7770

server.3=127.0.0.1:8882:7770

 

zookeeper-server3

# The number of milliseconds of each tick

tickTime=2000

# The number of ticks that the initial

# synchronization phase can take

initLimit=10

# The number of ticks that can pass between

# sending a request and getting an acknowledgement

syncLimit=5

dataDir=/tmp/zookeeper-server3/data

dataLogDir=/tmp/zookeeper-server3/logs

# the port at which the clients will connect

clientPort=4181

server.1=127.0.0.1:8880:7770

server.2=127.0.0.1:8881:7770

server.3=127.0.0.1:8882:7770

5. 建立zookeeper运行目录,data目录和log目录

[root@rocket local]# mkdir -p zookeeper-server1/logs zookeeper-server1/data

[root@rocket local]# mkdir -p zookeeper-server2/logs zookeeper-server2/data

[root@rocket local]# mkdir -p zookeeper-server3/logs zookeeper-server3/data

查看当前运行目录情况:

[root@rocket tmp]# tree

├── zookeeper-server1

│   ├── data

│   └── logs

├── zookeeper-server2

│   ├── data

│   └── logs

└── zookeeper-server3

    ├── data

└── logs

 

6. 在data目录中创建文件 myid 文件,每个文件中分别写入当前机器的server id

[root@rocket tmp]# echo "1" > zookeeper-server1/data/myid

[root@rocket tmp]# echo "2" > zookeeper-server2/data/myid

[root@rocket tmp]# echo "3" > zookeeper-server3/data/myid

7. 在每个目录中启动zookeeper

[root@rocket local]# cd /usr/local/zookeeper-server1/;bin/zkServer.sh start

[root@rocket local]# cd /usr/local/zookeeper-server2/;bin/zkServer.sh start

[root@rocket local]# cd /usr/local/zookeeper-server3/;bin/zkServer.sh start

查看启动状态

[root@iZ257w5531qZ bin]# ./zkServer.sh start

ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

 

注意,这里如果提示

Error contacting service. It is probably not running.

说明进程启动失败或集群未建立成功,这时需要查看对应目录中的zookeeper.out日志去找到相应的原因并去解决它。

8. 测试连接zookeeper集群

[root@rocket local]# cd zookeeper-server1;bin/zkCli.sh -server localhost:2181

 

可以看到这里已经连接成功了,而且能查看节点情况,说明zookeeper集群已经开始工作了。

 

参考:    

 
 

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

你可能感兴趣的文章
ibatis中的安全问题
查看>>
基于Java的四大开源测试工具
查看>>
ASP.NET输出PNG图片时出现GDI+一般性错误的解决方法
查看>>
LayoutInflater的使用
查看>>
android文件的写入与读取---简单的文本读写context.openFileInput() context.openFileOutput()...
查看>>
解析LayoutSubviews
查看>>
【Hybrid App】Hybrid App开发 四大主流移平台分析
查看>>
【编程题目】寻找丑数
查看>>
Leetcode--Remove Duplicates from Sorted Array
查看>>
【Java】ArrayList和LinkedList的区别
查看>>
Java面试题收集学习整理1
查看>>
[原创]测试职业发展,换工作要考虑什么?
查看>>
ASP.Net中自定义Http处理及应用之HttpModule篇
查看>>
无锁算法CAS 概述
查看>>
【SQL 代码】Sql分页(自用)
查看>>
Java的递归算法
查看>>
浅谈android4.0开发之GridLayout布局
查看>>
struts开发<struts中的action详细配置. 二>
查看>>
SQL语句技巧:查询存在一个表而不在另一个表中的数据记录
查看>>
[jPlayer]一分钟部署jPlayer
查看>>