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设计目 ...
 
随机推荐
- JavaScript 字符串实用常用操作
			
字符串截取1. substring()xString.substring(start,end)substring()是最常用到的字符串截取方法,它可以接收两个参数(参数不能为负值),分别是要截取的开始 ...
 - Oracle中使用透明网关链接到Sqlserver[Z]
			
Oracle中使用透明网关链接到Sqlserver 在最近项目中需要从Oracle中访问SQL Server数据库, 自然想到了透明网关. 因为Oracle数据库是Linux上的, 而Linux上的O ...
 - Block使用要点
			
Block简介 Block其实包含两个部分内容 Block执行的代码,这是在编译的时候已经生成好的: 一个包含Block执行时需要的所有外部变量值的数据结构. Block将使用到的.作用域附近到的变量 ...
 - QF——OC字符串
			
OC中的字符串: C中没有字符串类型,用字符数组和指针代替. OC中引入了字符串类型,它包括NSString 和 NSMutableString两种 NSString是不可变的,已经初始化便不能更改: ...
 - JQuery使用on绑定动态生成元素时碰到的问题
			
今天在写界面时,希望对一些由JS代码动态添加的html标签进行事件绑定,使用了jquery 1.6+才提供的on函数.我的JQ版本是1.9.2. 以下这段代码是动态生成的. <div class ...
 - Python的编码规范(PEP 8 & Google Python guide)
			
PEP 8 Python 代码规范整理 click here Goole Python 风格指南 中文版 click here 大家有取舍的看吧. 因为文章不是原创的,所以只贴地址,给大家造成麻烦了, ...
 - ACM大数模板(支持正负整数)
			
之前就保留过简陋的几个用外部数组变量实现的简单大数模板,也没有怎么用过,今天就想着整合封装一下,封装成C++的类,以后需要调用的时候也方便得多. 实现了基本的加减乘除和取模运算的操作符重载,大数除以大 ...
 - delphi 关于命名
			
请告别 TMyXXX 的命名方法吧... 程序名: Demo.exe 窗体:TFrmDemo ,窗体文件 uFrmDemo.Pas DataModule: TDMDemo, 窗体文件 uDMDemo. ...
 - shell脚本中常见的一些特殊符号和作用详解
			
这篇文章主要介绍了shell脚本中常见的一些特殊符号和它的作用详解,总结的很简洁,容易看懂,需要的朋友可以参考下 在编写Shell脚本时,我们需要会用到各种各样的特殊符号,通过这些特殊符号可以使我 ...
 - NOI2014 Day2
			
NOI2014 Day2 动物园 题目描述:给出一个字符串(长度为\(Len\)),设\(num[i]\)为字符串的前\(i\)个字符构成的子串(\(A\))中,满足\(A\)的前\(L\)个字符既是 ...
 
			
		