一、安装环境

zookeeper:3.4.6

JDK:1.8

linux:centos6.5  64位

主机:

server0:192.168.0.224
server1:192.168.0.225
server2:192.168.0.226

二、安装

1、将ZK解压到/usr/local/zookeeper下
2、修改配置文件(配置环境变量) /etc/profile
JAVA_HOME=/usr/local/jdk1.8
ZOOKEEPER_HOME=/usr/local/zookeeper
PATH=$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME ZOOKEEPER_HOME PATH CLASSPATH
3、source /etc/profile 让配置生效
4、修改zk的配置文件名 /usr/local/zookeeper/conf/zoo_sample.cfg
[root@rocketmq-nameserver1 conf]# mv zoo_sample.cfg zoo.cfg
5、修改配置 zoo.cfg
#存放数据的路径
dataDir=/usr/local/zookeeper/data
6、在/usr/local/zookeeper 下 创建 myid文件
server0:192.168.0.224 myid=0
server1:192.168.0.225 myid=1
server2:192.168.0.226 myid=2
7、zoo.cfg 配置集群节点 在该文件末尾添加
server.0=192.168.0.224:2888:3888
server.1=192.168.0.225:2888:3888
server.2=192.168.0.226:2888:3888 8、zk的启动
对于配置环境变量的启动 :
zkServer.sh start
没有配置环境变量 可以在 zk 的bin 目录中启动
[root@rocketmq-nameserver1 bin]# ./zkServer.sh 启动这三台服务器

1、启动异常:

[root@localhost bin]# ./zkServer.sh status
JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.

如果遇到该情况试着开启2181端口(或者关闭防火墙)

 /sbin/iptables -I INPUT -p tcp --dport 2181 -j ACCEPT   写入修改
/etc/init.d/iptables save 保存修改
service iptables restart 重启防火墙,修改生效 service iptables stop 关闭防火墙

2、查看是否启动成功:三个服务器分别查看

[root@localhost bin]# ./zkServer.sh status
JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Mode: follower

三、配置文件

# The number of milliseconds of each tick
#tickTime这个时间是作为zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是说每个tickTime时间就会发送一个心跳。
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take #initLimit这个配置项是用来配置zookeeper接受客户端(这里所说的客户端不是用户连接zookeeper服务器的客户端,而是zookeeper服务器集群中连接到leader的follower 服务器)
初始化连接时最长能忍受多少个心跳时间间隔数。
#当已经超过10个心跳的时间(也就是tickTime)长度后 zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 10*2000=20秒。
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
#syncLimit这个配置项标识leader与follower之间发送消息,请求和应答时间长度,最长不能超过多少个tickTime的时间长度,总的时间长度就是5*2000=10秒。
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
#dataDir顾名思义就是zookeeper保存数据的目录,默认情况下zookeeper将写数据的日志文件也保存在这个目录里;
dataDir=/usr/local/zookeeper/data
# the port at which the clients will connect
#clientPort这个端口就是客户端连接Zookeeper服务器的端口,Zookeeper会监听这个端口接受客户端的访问请求;
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
# 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=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
#server.A=B:C:D中的A是一个数字,表示这个是第几号服务器,B是这个服务器的IP地址,C第一个端口用来集群成员的信息交换,表示这个服务器与集群中的leader服务器交换信息的端口,
D是在leader挂掉时专门用来进行选举leader所用的端口。
server.0=192.168.0.224:2888:3888
server.1=192.168.0.225:2888:3888
server.2=192.168.0.226:2888:3888

日志文件配置:cat /usr/local/zookeeper/bin/zkEnv.sh

ZOOBINDIR="${ZOOBINDIR:-/usr/bin}"
ZOOKEEPER_PREFIX="${ZOOBINDIR}/.." if [ "x$ZOOCFGDIR" = "x" ]
then
if [ -e "${ZOOKEEPER_PREFIX}/conf" ]; then
ZOOCFGDIR="$ZOOBINDIR/../conf"
else
ZOOCFGDIR="$ZOOBINDIR/../etc/zookeeper"
fi
fi if [ -f "${ZOOCFGDIR}/zookeeper-env.sh" ]; then
. "${ZOOCFGDIR}/zookeeper-env.sh"
fi if [ "x$ZOOCFG" = "x" ]
then
ZOOCFG="zoo.cfg"
fi ZOOCFG="$ZOOCFGDIR/$ZOOCFG" if [ -f "$ZOOCFGDIR/java.env" ]
then
. "$ZOOCFGDIR/java.env"
fi if [ "x${ZOO_LOG_DIR}" = "x" ]
then
ZOO_LOG_DIR="/usr/local/zookeeper/logs"
fi if [ "x${ZOO_LOG4J_PROP}" = "x" ]
then
ZOO_LOG4J_PROP="INFO,CONSOLE"

四、常用命令

1、登录服务器  :zkCli.sh -server localhost:2181

2、查看帮助  help:

[zk: 192.168.1.13:2181(CONNECTED) 0] help
ZooKeeper -server host:port cmd args
stat path [watch]
set path data [version]
ls path [watch]
delquota [-n|-b] path
ls2 path [watch]
setAcl path acl
setquota -n|-b val path
history
redo cmdno
printwatches on|off
delete path [version]
sync path
listquota path
rmr path
get path [watch]
create [-s] [-e] path data acl
addauth scheme auth
quit
getAcl path
close
connect host:port

3、查看更目录的节点:

[zk: 192.168.1.13:2181(CONNECTED) 1] ls /
[zookeeper]

4、创建节点: 创建一个新的Znode节点"zkTest",以及和它相关内容myData,

[zk: 192.168.1.13:2181(CONNECTED) 2] create /zkTest myData
Created /zkTest

5、查看节点中的内容

[zk: 192.168.1.13:2181(CONNECTED) 4] get /zkTest
myData
cZxid = 0x300000002
ctime = Wed Aug 16 19:48:01 CST 2017
mZxid = 0x300000002
mtime = Wed Aug 16 19:48:01 CST 2017
pZxid = 0x300000002
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 6
numChildren = 0

6、修改节点内容

[zk: 192.168.1.13:2181(CONNECTED) 5] set /zkTest testSet
cZxid = 0x300000002
ctime = Wed Aug 16 19:48:01 CST 2017
mZxid = 0x300000003
mtime = Wed Aug 16 19:52:22 CST 2017
pZxid = 0x300000002
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 7
numChildren = 0

7、删除节点

[zk: 192.168.1.13:2181(CONNECTED) 7] delete /zkTest
[zk: 192.168.1.13:2181(CONNECTED) 9] ls /
[zookeeper]

zookeeper学习之集群环境搭建的更多相关文章

  1. ZooKeeper 完全分布式集群环境搭建

    1. 搭建前准备 示例共三台主机,主机IP映射信息如下: 192.168.32.101 s1 192.168.32.102 s2 192.168.32.103 s3 2.下载ZooKeeper, 以  ...

  2. ZooKeeper 介绍及集群环境搭建

    本篇由鄙人学习ZooKeeper亲自整理的一些资料 包括:ZooKeeper的介绍,我们要学习ZooKeeper的话,首先就要知道他是干嘛的对吧. 其次教大家如何去安装这个精巧的智慧品! 相信你能研究 ...

  3. Zookeeper的单机&集群环境搭建

    单机环境的安装 首先下载ZK的二进制安装包:http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/ 将安装包上传到Linux上: 进行解 ...

  4. 大数据 -- zookeeper和kafka集群环境搭建

    一 运行环境 从阿里云申请三台云服务器,这里我使用了两个不同的阿里云账号去申请云服务器.我们配置三台主机名分别为zy1,zy2,zy3. 我们通过阿里云可以获取主机的公网ip地址,如下: 通过secu ...

  5. zookeeper伪分布式集群环境搭建

    step1.下载 下载地址:http://zookeeper.apache.org/releases.html 将下载的压缩包放到用户家目录下(其他目录也可以) step2.解压 $tar –zxvf ...

  6. 大数据hadoop入门学习之集群环境搭建集合

    目录: 1.基本工作准备 1.虚拟机准备 2.java 虚拟机-jdk环境配置 3.ssh无密码登录 2.hadoop的安装与配置 3.hbase安装与配置(集成安装zookeeper) 4.zook ...

  7. 大数据 -- Hadoop集群环境搭建

    首先我们来认识一下HDFS, HDFS(Hadoop Distributed File System )Hadoop分布式文件系统.它其实是将一个大文件分成若干块保存在不同服务器的多个节点中.通过联网 ...

  8. ZooKeeper学习之路(二)—— Zookeeper单机环境和集群环境搭建

    一.单机环境搭建 1.1 下载 下载对应版本Zookeeper,这里我下载的版本3.4.14.官方下载地址:https://archive.apache.org/dist/zookeeper/ # w ...

  9. zookeeper集群环境搭建详细图文教程

    zookeeper集群环境搭建详细图文教程 zhoubang @ 2018-01-02 [文档大纲] 友情介绍 软件环境 注意点 环境安装 1. 新建用于存储安装包以及软件安装的目录 2. 下载安装z ...

随机推荐

  1. 第三次随笔——虚拟机及Linux入门

    虚拟机及Linux入门 虚拟机的安装 对于虚拟机的概念我早有接触,但是从来没有真正的实践过,借这次作业机会我终于实践了虚拟机的安装,安装的过程较为顺利,但还是出现了以下问题: 无法选择64位的系统 解 ...

  2. 20170607 JDBC课堂实践 任务四

    20170607 JDBC课堂实践 任务四 题目 查询world数据库,查询哪个国家的平均寿命最长. 码云链接 SQL语句 SELECT Code, Name, LifeExpectancy FROM ...

  3. 20155231 信息安全技术概论实验二 Windows口令破解

    20155231 信息安全技术概论实验二 Windows口令破解 实验目的 了解Windows口令破解原理 对信息安全有直观感性认识 能够运用工具实现口令破解 实验人数 每组一人 系统环境 windo ...

  4. 20155323 2016-2017-2 《Java程序设计》第9周学习总结

    20155323 2016-2017-2 <Java程序设计>第9周学习总结 教材学习内容总结 JDBC是用于执行SQL的解决方案,开发人员使用JDBC的标准接口,数据库厂商则对接口进行操 ...

  5. 20155333 2016-2017-2 《Java程序设计》第十周学习总结

    20155333 2016-2017-2 <Java程序设计>第十周学习总结 教材学习内容总结 网络概览 两台计算机用于通信的语言叫做"协议".我们只需关心应用层中的协 ...

  6. 移除VS解决方案和TFS服务器的关系

    有时候会遇到服务器IP服务器变更,甚至TFS服务器坏了,或者将项目重新上传至新的TFS区: 可以使用notepad之类的软件打开解决方案(.sln文件),删掉类似下面的部分: GlobalSectio ...

  7. Wince 中访问WCF服务

    由于本文并非WinCE开发普及篇,所以一些WinCE开发和WCF开发的基础还请移步百度和谷歌寻找答案,然后结合本文开发出WinCE中如何访问WCF,谢谢. 开发环境 IDE:Visual Studio ...

  8. php使用mysql之sql注入(功)

    sql注入就是用户通过构造sql语句,完成sql一系列操作 准备素材如下: 这是test.html <!DOCTYPE html> <html> <meta charse ...

  9. Scrapy爬去哪儿~上海一日游门票并存入MongoDB数据库

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZwAAAGGCAYAAABPDDfEAAAgAElEQVR4nOy9C3Rb1Z3/+z1Hkm35mT

  10. 心中忐忑的跨进了Python的大门!

    Hello!大家好,我是Jmmy 作为一个python初学者,抱着一种忐忑的心里走进了这扇让我有些胆怯的大门,因为零基础的缘故让我不得不再三去考虑学这门语言,英语.数学都是个渣的我,也许注定会止步门外 ...