一、安装环境

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. R语言(自定义函数、循环语句、管道函数)

    学习R语言半年多了,以前比较注重统计方法上的学习,但是最近感觉一些基础知识也很重要.去年的参考资料是<R语言实战>,今年主要是看视频.推荐网易云课堂里的教程,很多资料都是很良心的~ 目前学 ...

  2. cgywin下 hadoop运行 问题

    1 cgywin下安装hadoop需要配置JAVA_home变量 ,  此时使用 window下安装的jdk就可以  ,但是安装路径不要带有空格.否则会不识别. 2  在Window下启动Hadoop ...

  3. 20155310 2016-2017-2《Java程序设计》课堂实践补交

    20155310 2016-2017-2<Java程序设计>课堂实践补交 第九周 程序设计中临时变量的使用 public class linshibianliang { public st ...

  4. WPF Color、String、Brush转换

    原文:WPF Color.String.Brush转换 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/BYH371256/article/detai ...

  5. [arc082F]Sandglass

    Description 传送门 Solution 这题是真的666啊... 以下是本题最关键最关键的结论:如果ai<=aj,则在某个时间t,前者的A中沙子克数(记为t(ai))一定大于等于t(a ...

  6. Django模型层:单表操作

    一 ORM简介 查询数据层次图解:如果操作mysql,ORM是在pymysq之上又进行了一层封装

  7. sql server 批量备份数据库

    很多时候,我们都需要将数据库进行备份,当服务器上数据库较多时,不可能一个数据库创建一个定时任务进行备份,这时,就需要进行批量的数据库备份操作,好了,废话不多说,具体实现语句如下: --开启文件夹权限 ...

  8. Linux 安装ActiveMQ(使用Mac远程访问)

    阅读本文需要安装JDK 一 ActiveMQ简介 activemq是用java语言编写的一款开源消息总线 activemq是apache出品 activemq消息的传递有两种类型 一种是点对点: 即一 ...

  9. 二、Django快速安装

    一.安装Python 作为一个Python Web框架,Django依赖Python.从Django适用于哪些版本的Python可以获取更多信息.较新版本的Python内置一个轻量级的数据库SQLit ...

  10. Python+MySQL开发医院网上预约系统(课程设计)一

    一:开发环境的配置 1:桌面环境为cnetos7+python2.7 2:MySQL的安装与配置 1)MySQL的安装 MySQL官方文档: http://dev.mysql.com/doc/mysq ...