集群搭建环境:

发行版: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,选一个合适的版本

在官网http://zookeeper.apache.org/releases.html找一个合适的镜像进行下载。这里使用北理的镜像进行下载。

[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集群已经开始工作了。

参考:zookeeper集群搭建    zookeeper配置详解

 
 

【zookeeper】 zookeeper 集群搭建的更多相关文章

  1. 分享知识-快乐自己:zookeeper 伪集群搭建

    1):单一 zookeeper  搭建步骤 2):zookeeper 伪集群搭建 1):新建一个集群目录 [root@zoodubbo opt]# mkdir zookeeper_cluster 2) ...

  2. zookeeper伪集群搭建

    zookeeper伪集群搭建 1. 下载zookeeper: https://zookeeper.apache.org/ 2. 解压: tar -zxvf zookeeper-3.4.14.tar.g ...

  3. Zookeeper分布式集群搭建

    实验条件:3台安装linux的机子,配置好Java环境. 步骤1:下载并分别解包到每台机子的/home/iHge2k目录下,附上下载地址:http://mirrors.cnnic.cn/apache/ ...

  4. 初始zookeeper与集群搭建实例

    zookeeper是什么 Zookeeper,一种分布式应用的协作服务,是Google的Chubby一个开源的实现,是Hadoop的分布式协调服务,它包含一个简单的原语集,应用于分布式应用的协作服务, ...

  5. Zookeeper + Kafka 集群搭建

    第一步:准备 1. 操作系统 CentOS-7-x86_64-Everything-1511 2. 安装包 kafka_2.12-0.10.2.0.tgz zookeeper-3.4.9.tar.gz ...

  6. [dubbo实战] dubbo+zookeeper伪集群搭建

    zookeeper作为注册中心,服务器和客户端都要访问,如果有大量的并发,肯定会有等待.所以可以通过zookeeper集群解决. 一.为什么需要zookeeper呢? 大部分分布式应用需要一个主控.协 ...

  7. [dubbo实战] dubbo+zookeeper伪集群搭建 (转)

    zookeeper作为注册中心,服务器和客户端都要访问,如果有大量的并发,肯定会有等待.所以可以通过zookeeper集群解决. 一.为什么需要zookeeper呢? 大部分分布式应用需要一 个主控. ...

  8. 初识ZooKeeper与集群搭建实例

    原文链接:http://www.linuxidc.com/Linux/2015-02/114230.htm zookeeper是什么 Zookeeper,一种分布式应用的协作服务,是Google的Ch ...

  9. Zookeeper+ActiveMQ集群搭建

    搭建三台虚拟机安装centos7.要提前安装好jdk环境 1.环境准备,搭建三台虚拟机ip分别是 192.168.192.130 192.168.192.131 192.168.192.134 Zoo ...

  10. JAVAEE——宜立方商城08:Zookeeper+SolrCloud集群搭建、搜索功能切换到集群版、Activemq消息队列搭建与使用

    1. 学习计划 1.solr集群搭建 2.使用solrj管理solr集群 3.把搜索功能切换到集群版 4.添加商品同步索引库. a) Activemq b) 发送消息 c) 接收消息 2. 什么是So ...

随机推荐

  1. iOS开发之地域选择

    代码地址: https://github.com/boundlessocean/AreaPickViewDome.git 效果:   第一步: 将BLAreaPickerView 导入工程     第 ...

  2. JS模块的写法

    该文章转自阮一峰个人网站,仅做学习之用: 一.原始写法 模块就是实现特定功能的一组方法. 只要把不同的函数(以及记录状态的变量)简单地放在一起,就算是一个模块. function m1(){ //.. ...

  3. python 集合比较(交集、并集,差集)集合方法大全

    python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交), difference(差)和 ...

  4. dp之二维背包poj1837(天平问题 推荐)

    题意:给你c(2<=c<=20)个挂钩,g(2<=g<=20)个砝码,求在将所有砝码(砝码重1~~25)挂到天平(天平长  -15~~15)上,并使得天平平衡的方法数..... ...

  5. 在mac电脑上写入文件到NTFS格式的移动硬盘的解决办法

    需求背景: 今天我在Mac电脑A上下载了11G的资料,想传给Mac电脑B,试用了AirPort.文件共享.远程操作等,传输速度都慢得要死,虽然是在同一个局域网下,两台电脑挨的非常的近,但是还是传得超级 ...

  6. Jdbc获取oracle中guid主键

    上代码 String sql = "BEGIN insert into itil_task_plan (PLAN_CODE) values (?) returning id into ?; ...

  7. DataGridView使用技巧八:设置单元格的ToolTip

    ToolTip属性用来设置当鼠标移动到单元格上面时的提示内容. DataGridView.ShowCellToolTips=True的情况下,单元格的ToolTip可以表示出来.对于单元格窄小,无法完 ...

  8. Ajax轮询——“定时的通过Ajax查询服务端”

    Ajax轮询——"定时的通过Ajax查询服务端". 概念: 轮询(polling):客户端按规定时间定时像服务端发送ajax请求,服务器接到请求后马上返回响应信息并关闭连接. 百闻 ...

  9. file文件与base64字符串的相互转换

    今天心情不好,不想说话. /** * 文件转base64字符串 * @param file * @return */ public static String fileToBase64(File fi ...

  10. jQuery实现点击单选按钮切换选中状态效果

    实现效果:第一次点击单选按钮时选中该按钮,再次点击时取消选中该单选按钮. 关键就是要将单选按钮原来的值保存起来,第二次点击时.如果原来选中则取消,否则选中. 看代码吧,是用jQuery实现的,功能虽小 ...