CentOS6.3搭建ZooKeeper伪集群
1. 将zookeeper安装包移动至/home, 解压后改名为zookeeper

相关命令
# 解压
tar –zxvf zookeeper-3.4..tar.gz
# 重命名
mv zookeeper-3.4. zookeeper
2. 进入zookeeper/conf/目录下,将改目录下的zoo_sample.cfg配置文件拷贝4份,依次为zoo.cfg zoo1.cfg zoo2.cfg zoo3.cfg
zoo.cfg为备份文件, 我们将使用zoo1.cfg zoo2.cfg zoo3.cfg来搭建ZooKeeper伪集群

3. 使用vim编辑zoo1.cfg zoo2.cfg zoo3.cfg
zoo1.cfg修改内容如下:

zoo2.cfg修改内容如下:

zoo3.cfg修改内容如下:

4.dataDir目录开始不存在,需要手动创建,并在各data文件下创建名为myid的文件,文件内容对应服务器编号
分别创建下面三个文件
/home/tmp/zookeeper/server1/data/myid
/home/tmp/zookeeper/server2/data/myid
/home/tmp/zookeeper/server3/data/myid
三个文件内容分别为
echo > /home/tmp/zookeeper/server1/data/myid
echo > /home/tmp/zookeeper/server2/data/myid
echo > /home/tmp/zookeeper/server3/data/myid
5. 分别启动三个zookeeper
bin/zkServer.sh start zoo1.cfg
bin/zkServer.sh start zoo2.cfg
bin/zkServer.sh start zoo3.cfg
6. 查看三个zookeeper状态
bin/zkServer.sh status zoo1.cfg
bin/zkServer.sh status zoo2.cfg
bin/zkServer.sh status zoo3.cfg
三个zookeeper的关系如图所示

7. 测试连通性
测试server2(leader,其他服务同理)是否连通
./zkCli.sh -server 127.0.0.1:
效果如图所示:

8. 使用Java客户端连接Zookeeper
/**
* Created by IntelliJ IDEA.
*
* @Auther: ShaoHsiung
* @Date: 2018/9/8 21:34
* @Title:
* @Description: Java客户端无法连接Zookeeper是因为Linux上的防火墙没有关闭
*/
public class ZookeeperDemo { private static final String CONNECTION_STRING = "192.168.131.25:2181";
private static final int SESSION_TIMEOUT = 5000; private static CountDownLatch latch = new CountDownLatch(1); public static void main(String[] args) throws IOException, InterruptedException {
ZooKeeper zk = new ZooKeeper(CONNECTION_STRING, SESSION_TIMEOUT, new Watcher() {
public void process(WatchedEvent watchedEvent) {
if (watchedEvent.getState() == Event.KeeperState.SyncConnected) {
latch.countDown();
}
}
});
latch.await(); // 获取Zookeeper客户端
System.out.println(zk);
}
}
9. 执行效果

备注: 需要先关闭Linux上的防火墙, 否则Java客户端无法连接到Linux上的ZooKeeper
附上Linux临时操作防火墙命令
即时生效,重启后失效
开启:service iptables start
关闭:service iptables stop
CentOS6.3搭建ZooKeeper伪集群的更多相关文章
- win10环境下搭建zookeeper伪集群
一.下载zookeeper https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/ 这里笔者下载的是zookeeper-3.3.6 二.配置zoo ...
- zookeeper伪集群的搭建
由于公司服务器数量的限制,我们往往没有那么多的服务器用来搭建zookeeper的集群,所以产生了伪集群的搭建,也就是将多个zookeeper搭建在同一台机器上. 准备工作: 1,一台服务器,我们这里用 ...
- 分享知识-快乐自己:zookeeper 伪集群搭建
1):单一 zookeeper 搭建步骤 2):zookeeper 伪集群搭建 1):新建一个集群目录 [root@zoodubbo opt]# mkdir zookeeper_cluster 2) ...
- ZooKeeper伪集群环境搭建
1.从官网下载程序包. 2.解压. [dev@localhost software]$ tar xzvf zookeeper-3.4.6.tar.gz 3.进入zookeeper文件夹后创建data文 ...
- zookeeper伪集群搭建
zookeeper伪集群搭建 1. 下载zookeeper: https://zookeeper.apache.org/ 2. 解压: tar -zxvf zookeeper-3.4.14.tar.g ...
- 【分布式】Zookeeper伪集群安装部署
zookeeper:伪集群安装部署 只有一台linux主机,但却想要模拟搭建一套zookeeper集群的环境.可以使用伪集群模式来搭建.伪集群模式本质上就是在一个linux操作系统里面启动多个zook ...
- (原) 1.2 Zookeeper伪集群安装
本文为原创文章,转载请注明出处,谢谢 Zookeeper伪集群安装 zookeeper单机安装配置可以查看 1.1 zookeeper单机安装 1.复制三份zookeeper,分别为zookeeper ...
- 虚拟机搭建Zookeeper服务器集群完整笔记
虚拟机搭建Zookeeper服务器集群完整笔记 本笔记主要记录自己搭建Zookeeper服务器的全过程,默认已经安装部署好Centos7. 一.虚拟机下Centos无法联网解决方案 1.首先调整虚拟机 ...
- 搭建zookeeper+kafka集群
搭建zookeeper+kafka集群 一.环境及准备 集群环境: 软件版本: 部署前操作: 关闭防火墙,关闭selinux(生产环境按需关闭或打开) 同步服务器时间,选择公网ntpd服务器或 ...
随机推荐
- 事件绑定addEventListener
通过addEventListener监听函数实现的dom事件绑定 addEventListener可以为当前dom添加一个事件(这个事件可以是个已有的事件),这就无法避免我们在写代码的时候重复去绑定同 ...
- getmapping等无法解析
版本要改一下,4.1.6没有<dependency> <groupId>org.springframework</groupId> <artifactId&g ...
- 使用Docker创建数据容器
使用Docker创建数据容器 翻译自: Data-only container madness 1.什么是数据容器? 数据容器就是本身只创建一个volume供其他容器共享,创建完后即退出,不执行任何任 ...
- 去掉Word 标题编号变成黑框
问题: 在使用Word编写文档时,提前拟好的标题编号会突然变成黑框(黑色的方框,黑色的矩形),如下图 解决方案: 1.将光标定位到标题中,紧邻黑框的右侧 2.按键盘左方向键使方框变成黑色 3.按键盘的 ...
- unittest(1)
一.unittest核心概念 1.unittest四个核心概念 unittest四个核心概念包括:TestCase.TestSuite.TestRunner.Test Fixture TestCase ...
- selenium基础-跳过验证码
selenium基础-跳过验证码 一.方法 设置万能验证码或者屏蔽验证码(最常用的方法) 使用验证码识别工具识别验证码 通过selenium操作cookies 直接使用配置文件的webdriver 二 ...
- 【noi.ac-CSP-S全国模拟赛第三场】#705. mmt
给定数组a[],b[] 求$$c_i=\sum_{j=1}^{i} a_{\left \lfloor \frac{n}{j} \right \rfloor}·b_{i \bmod j}$$ 大概就是对 ...
- The linux command 之 扩展
echo * " * "字符意味着匹配文件名中的任意字符,shell会在执行echo命令之前把*扩展成其他内容. 一.路径扩展(pathname Expansion) 通过使用通配 ...
- iloc,loc,ix,df[]
总结一. iloc可以把i当做第几个,所以是按行序号;其他的就清楚了. import pandas df = pandas.DataFrame({'a': [1, 2, 3, 4],'b': [5, ...
- C++: string<-->char
1. char*.char[] 与 std::string 之间的区别: char*是一个指向字符的指针,是一个内置类型.可以指向一个字符,也可以表示字符数组的首地址(首字符的地址).我们更多的时候是 ...