centos下zookeeper集群搭建
单机模式:
1) 首先下载zookeeper压缩包, 这里采用zookeeper3.4.8....
wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.8/zookeeper-3.4.8.tar.gz
2) 解压缩
首先创建文件夹,这里放到/user/zookeeper/文件夹下
mkdir zookeeper1
mkdir zookeeper2
mkdir zookeeper3
创建三个文件夹用于存放三个实例,下面解压到目标文件夹,找到压缩包存放路径,执行下面命令
tar -zxvf zookeeper-3.4.8.tar.gz -C /usr/zookeeper/zookeeper1
tar -zxvf zookeeper-3.4.8.tar.gz -C /usr/zookeeper/zookeeper2
tar -zxvf zookeeper-3.4.8.tar.gz -C /usr/zookeeper/zookeeper3
3)运行单价环境
先来整下zookeeper1这个实例,首先
cd zookeeper1/
利用ll命令, 显示所有文件详情,
drwxr-xr-x. 2 1000 1000 4096 Mar 17 17:27 bin
-rw-rw-r--. 1 1000 1000 83235 Feb 6 11:46 build.xml
-rw-rw-r--. 1 1000 1000 88625 Feb 6 11:46 CHANGES.txt
drwxr-xr-x. 2 1000 1000 4096 Mar 17 17:21 conf
drwxr-xr-x. 10 1000 1000 4096 Feb 6 11:46 contrib
drwxr-xr-x. 2 1000 1000 4096 Feb 6 11:50 dist-maven
drwxr-xr-x. 6 1000 1000 4096 Feb 6 11:49 docs
-rw-rw-r--. 1 1000 1000 1953 Feb 6 11:46 ivysettings.xml
-rw-rw-r--. 1 1000 1000 3498 Feb 6 11:46 ivy.xml
drwxr-xr-x. 4 1000 1000 4096 Feb 6 11:49 lib
-rw-rw-r--. 1 1000 1000 11938 Feb 6 11:46 LICENSE.txt
-rw-rw-r--. 1 1000 1000 171 Feb 6 11:46 NOTICE.txt
-rw-rw-r--. 1 1000 1000 1770 Feb 6 11:46 README_packaging.txt
-rw-rw-r--. 1 1000 1000 1585 Feb 6 11:46 README.txt
drwxr-xr-x. 5 1000 1000 4096 Feb 6 11:46 recipes
drwxr-xr-x. 8 1000 1000 4096 Feb 6 11:49 src
-rw-rw-r--. 1 1000 1000 1360961 Feb 6 11:46 zookeeper-3.4.8.jar
-rw-rw-r--. 1 1000 1000 819 Feb 6 11:50 zookeeper-3.4.8.jar.asc
-rw-rw-r--. 1 1000 1000 33 Feb 6 11:46 zookeeper-3.4.8.jar.md5
-rw-rw-r--. 1 1000 1000 41 Feb 6 11:46 zookeeper-3.4.8.jar.sha1
cp下配置文件,
mv conf/zoo_sample.cfg conf/zoo.cfg
启动zk,
./bin/zdServer.sh start
4) 使用java 客户端连接ZooKeeper
./bin/zkCli.sh -server 127.0.0.1:2181
然后就可以使用各种命令了,跟文件操作命令很类似,输入help
可以看到所有命令。
5) 关闭
./bin/zdServer.sh stop
分布式模式(Replicated mode)
ZooKeeper集群一般被称为ZooKeeper ensemble,或者 quorum.
因为我们这里只有一台机器,通过不同端口号,做成伪集群的方式,如果你机器比较多,可以在每个机器上安装一个zk,配置方式是类似。
所谓 “伪分布式集群” 就是在,在一台PC中,启动多个ZooKeeper的实例。“完全分布式集群” 是每台PC,启动一个ZooKeeper实例。
ZooKeeper不存在明显的master/slave关系,各个节点都是服务器,leader挂了,会立马从follower中选举一个出来作为leader.
由于没有主从关系,也不用配置SSH无密码登录了,各个zk服务器是自己启动的,互相之间通过TCP端口来交换数据
将zookeeper2,zookeeper3的配置文件改下,因为zookeeper1在我们做单机时候,已经修改过,在zookeeper2,zookeeper3 conf文件夹下,执行
mv zoo_sample.cfg zoo.cfg
创建环境目录
切换到var/zookeeper路径下,新建三个文件夹zookeeper1,zookeeper2,zookeeper3....用于存放pid
mkdir /var/zookeeper/zookeeper1
mkdir /var/zookeeper/zookeeper2
mkdir /var/zookeeper/zookeeper3
分别在 zookeeper1,zookeeper2,zookeeper3 ,新建三个文件 myid
~ echo "1" > /var/zookeeper/zookeeper1/myid
~ echo "2" > /var/zookeeper/zookeeper2/myid
~ echo "3" > /var/zookeeper/zookeeper3/myid
注意myid只能为数字,因为我试验了下,包含英文的话zk启动不起来,抛出异常
分别修改配置文件
修改:dataDir,clientPort
增加:集群的实例,server.X,”X”表示每个目录中的myid的值
vi /usr/zookeeper/zookeeper1/conf/zoo.cfg
# The number of milliseconds of each tick
tickTime=
# The number of ticks that the initial
# synchronization phase can take
initLimit=
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/var/zookeeper/zookeeper1
# the port at which the clients will connect
clientPort=
server.=127.0.0.1::
server.=127.0.0.1::
server.=127.0.0.1::
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=
# Purge task interval in hours
# Set to "" to disable auto purge feature
#autopurge.purgeInterval=
以下只贴出不同部分,其他和zk1相同
vi /usr/zookeeper/zookeeper2/conf/zoo.cfg
dataDir=/var/zookeeper/zookeeper2
clientPort=2182
vi /user/zookeeper/zookeeper3/conf/zoo.cfg
dataDir=/var/zookeeper/zookeeper3
clientPort=2182
启动每台机器
/usr/zookeeper/zookeeper1/bin/zkServer.sh start
/usr/zookeeper/zookeeper2/bin/zkServer.sh start
/usr/zookeeper/zookeeper3/bin/zkServer.sh start
查看启动状态
centos下zookeeper集群搭建的更多相关文章
- Linux下zookeeper集群搭建
Linux下zookeeper集群搭建 部署前准备 下载zookeeper的安装包 http://zookeeper.apache.org/releases.html 我下载的版本是zookeeper ...
- Linux环境下ZooKeeper集群环境搭建关键步骤
ZooKeeper版本:zookeeper-3.4.9 ZooKeeper节点:3个节点 以下为Linux环境下ZooKeeper集群环境搭建关键步骤: 前提条件:已完成在Linux环境中安装JDK并 ...
- Centos6下zookeeper集群部署记录
ZooKeeper是一个开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等. Zookeeper设计目的 最终一致性:client不论 ...
- java 学习笔记(三)ZooKeeper集群搭建实例,以及集成dubbo时的配置 (转)
ZooKeeper集群搭建实例,以及集成dubbo时的配置 zookeeper是什么: Zookeeper,一种分布式应用的协作服务,是Google的Chubby一个开源的实现,是Hadoop的分布式 ...
- 分布式架构中一致性解决方案——Zookeeper集群搭建
当我们的项目在不知不觉中做大了之后,各种问题就出来了,真jb头疼,比如性能,业务系统的并行计算的一致性协调问题,比如分布式架构的事务问题, 我们需要多台机器共同commit事务,经典的案例当然是银行转 ...
- kafka学习(二)-zookeeper集群搭建
zookeeper概念 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名 服务等.Zookeeper是h ...
- 分布式协调服务Zookeeper集群搭建
分布式协调服务Zookeeper集群搭建 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.安装jdk环境 1>.操作环境 [root@node101.yinzhengjie ...
- Zookeeper 集群搭建--单机伪分布式集群
一. zk集群,主从节点,心跳机制(选举模式) 二.Zookeeper集群搭建注意点 1.配置数据文件 myid 1/2/3 对应 server.1/2/3 2.通过./zkCli.sh -serve ...
- Zookeeper集群搭建以及python操作zk
一.Zookeeper原理简介 ZooKeeper是一个开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等. Zookeeper设计目 ...
随机推荐
- ubuntu系统下设置静态IP
改动 /etc/network/interfaces文件 加入下面内容 # The loopback network interface auto lo eth0 iface lo inet loop ...
- 产品专家Marty Cagan:不做仅仅会编码的人
Marty Cagan是享有世界声誉的产品管理专家,曾担任Netscape副总裁.eBay产品管理及设计高级副总裁. 近日,记者在"PM-China首届产品经理高峰论坛"上对他做了 ...
- 关于MySQL的Myisam和Innodb的一些比较总结
总结一下MySQL的Myisam和Innodb引擎的一些差别,权当复习了. 首先二者在文件构成上: Myisam会存储三个文件:.frm 存储表结构,.MYD存储表的数据,.MYI文件存储表的索引:所 ...
- C# in Depth阅读笔记3:C#3特性
1.隐式类型 var a=new Dictionary<string ,list<person>>();可以简化代码,增强可读性. 2.简化初始化 (1)设置简单属性 Pers ...
- 常用的sql server规范
常见的字段类型选择1.字符类型建议采用varchar/nvarchar数据类型2.金额货币建议采用money数据类型3.科学计数建议采用numeric数据类型4. 自增长标识建议采用bigint数据类 ...
- SSIS之数据转换用法
当SSIS报错为:“无法在unicode和非unicode字符串数据类型之间转换”,可以考虑用数据转换器实现,很简单,如下图: 第一步,找到数据转换器: 第二步,编辑数据转换器: 第三步:编辑目标映射 ...
- Login failed for user 'NT AUTHORITY\NETWORK SERVICE'的解决方法
1.打开SQL Server Manegement Studio 2.在 Security - logins 中 NETWORK SERVICE 3.双击该用户 Server Roles 中 勾选 ...
- Mantis 缺陷管理系统配置与安装[Z]
什么是Mantis MantisBT is a free popular web-based bugtracking system (feature list). It is written in t ...
- FPGA开发(1)
`timescale ns / ns module system_ctrl ( //globol clock input clk, input rst_n, //synced signal outpu ...
- Django Url编码问题
Django Url编码问题 最近在学习Django,写一个blog程序练练手手.对于一个才开始接触web开发的来说,难免会遇到一些问题. 有一个这样的模板: {%for k,v in cat ...