【zookeeper】 zookeeper 集群搭建
集群搭建环境:
发行版: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 集群搭建的更多相关文章
- 分享知识-快乐自己:zookeeper 伪集群搭建
1):单一 zookeeper 搭建步骤 2):zookeeper 伪集群搭建 1):新建一个集群目录 [root@zoodubbo opt]# mkdir zookeeper_cluster 2) ...
- zookeeper伪集群搭建
zookeeper伪集群搭建 1. 下载zookeeper: https://zookeeper.apache.org/ 2. 解压: tar -zxvf zookeeper-3.4.14.tar.g ...
- Zookeeper分布式集群搭建
实验条件:3台安装linux的机子,配置好Java环境. 步骤1:下载并分别解包到每台机子的/home/iHge2k目录下,附上下载地址:http://mirrors.cnnic.cn/apache/ ...
- 初始zookeeper与集群搭建实例
zookeeper是什么 Zookeeper,一种分布式应用的协作服务,是Google的Chubby一个开源的实现,是Hadoop的分布式协调服务,它包含一个简单的原语集,应用于分布式应用的协作服务, ...
- Zookeeper + Kafka 集群搭建
第一步:准备 1. 操作系统 CentOS-7-x86_64-Everything-1511 2. 安装包 kafka_2.12-0.10.2.0.tgz zookeeper-3.4.9.tar.gz ...
- [dubbo实战] dubbo+zookeeper伪集群搭建
zookeeper作为注册中心,服务器和客户端都要访问,如果有大量的并发,肯定会有等待.所以可以通过zookeeper集群解决. 一.为什么需要zookeeper呢? 大部分分布式应用需要一个主控.协 ...
- [dubbo实战] dubbo+zookeeper伪集群搭建 (转)
zookeeper作为注册中心,服务器和客户端都要访问,如果有大量的并发,肯定会有等待.所以可以通过zookeeper集群解决. 一.为什么需要zookeeper呢? 大部分分布式应用需要一 个主控. ...
- 初识ZooKeeper与集群搭建实例
原文链接:http://www.linuxidc.com/Linux/2015-02/114230.htm zookeeper是什么 Zookeeper,一种分布式应用的协作服务,是Google的Ch ...
- Zookeeper+ActiveMQ集群搭建
搭建三台虚拟机安装centos7.要提前安装好jdk环境 1.环境准备,搭建三台虚拟机ip分别是 192.168.192.130 192.168.192.131 192.168.192.134 Zoo ...
- JAVAEE——宜立方商城08:Zookeeper+SolrCloud集群搭建、搜索功能切换到集群版、Activemq消息队列搭建与使用
1. 学习计划 1.solr集群搭建 2.使用solrj管理solr集群 3.把搜索功能切换到集群版 4.添加商品同步索引库. a) Activemq b) 发送消息 c) 接收消息 2. 什么是So ...
随机推荐
- C++ string的用法
之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够.字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是 ...
- python @property使用详解
1.@property,@xx.setter的作用把方法变成属性@property获取属性@xx.setter设置属性 2.使用示例 #@property使用 class Lang(object): ...
- python ——面向对象进阶(反射,双下线方法,静态方法,类方法)
属性 如果你已经了解Python类中的方法,那么属性就非常简单了,因为Python中的属性其实是普通方法的变种. 哎,其实就是这样,我们看一下当我们想查看税后工资的时候,这其实是一个人的属性,但是它却 ...
- Centos7 squid安装与配置
装squid yum install -y squid 安装httpd(用于后面生成密码文件) yum install -y httpd 或者 yum install httpd-tools -y 配 ...
- ssm项目开发通用base模块和工具
controller层日期转换通用类 package cn.itcast.jk.controller; import java.text.DateFormat; import java.text.Si ...
- 采用Filter的方法解决Servlet的编码问题
这样比你自己在Servlet代码中硬编码request.setCharacterEncoding, response.setCharacterEncoding方便多了 总之,如果你添加了这个filte ...
- Python中的相对文件路径的调用
先让我们来看看一个用到相对文件路径的函数调用的问题.假设现在有两个脚本文件main.py和func.py,他们的路径关系是: . |--dir1 |--main.py |--dir2 |--func. ...
- iOS开发之Xcode常见错误
一."file/file.h" file not found 如果遇到这种类型的问题报错,可以分为三部来解决,由简到复杂一步一步来,直到解决问题位置.1. 点击Xcode -> ...
- MapReduce的集群行为和框架
MapReduce的集群行为 MapReduce的集群行为包括: 1.任务调度与执行MapReduce任务由一个JobTracker和多个TaskTracker两类节点控制完成.(1)JobTrack ...
- SQL Server 禁止和启用约束
Alter Table XXX nocheck constraint xxx Alter Table XXX check constraint xxx