Zookeeper集群部署和使用

Zookeeper 由 Apache Hadoop 的 Zookeeper 子项目发展而来,Google Chubby的一个开源实现。它是一个分布式应用程序协调服务,提供的功能包括:配置管理,名字服务,提供分布式同步、队列管理、集群管理等。 从设计模式角度来看,是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper 就将负责通知已经在 Zookeeper 上注册的那些观察者做出相应的反应,从而实现集群中类似 Master/Slave 管理模式。

Zookeeper有两种运行模式:

独立模式(standalone mode):只运行在一台服务器上,适合测试环境。
复制模式(replicated mode):运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble)

复制模式的Zookeeper通过复制来实现高可用性,只要集合体中半数以上的机器处于可用状态,它就能够保证服务继续。这跟Zookeeper的复制策略有关:Zookeeper确保对znode树的每一个修改都会被复制到集合体中超过半数的机器上。
Zookeeper服务有两个角色,一个是leader,负责写服务和数据同步,剩下的是follower,提供读服务,leader失效后会在follower中重新选举新的leader。在整个Zookeeper集群模式下,整个集群是一个整体,在集群中的任何一个Zookeeper节点共享整个集群的服务。

  • 环境:

    操作系统:CentOS Linux release 7.3.1611 (Core)

    Zookeeper:zookeeper-3.4.12
    IP:10.55.2.81-83
    Zookeeper下载地址:http://zookeeper.apache.org/releases.html#download

  • 部署:
    1、修改配置
    [[email protected] soft]# tar -xvf zookeeper-3.4.12.tar.gz
    [[email protected] soft]# mv zookeeper-3.4.12 zookeeper
    [[email protected] soft]# mv zookeeper /app
    [[email protected] soft]# cd /app/zookeeper
    [[email protected] zookeeper]# mkdir data
    [[email protected] zookeeper]# mv conf/zoo_sample.cfg  conf/zoo.cfg
    [[email protected] zookeeper]# vim conf/zoo.cfg
    # The number of milliseconds of each tick
    tickTime=2000   //Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,每隔tickTime时间就会发送一个心跳
    # The number of ticks that the initial
    # synchronization phase can take
    initLimit=10    //配置 Zookeeper 接受客户端(此客户端不是用户连接 Zookeeper 服务器的客户端,而是 Zookeeper 服务器集群中连接到 Leader 的 Follower 服务器)初始化连接时最长能忍受多少个心跳时间间隔数。当已超过initLimit个tickTime长度后 Zookeeper 服务器还没有收到客户端的返回信息,则表明客户端连接失败。总的时间长度就是 initLimit * tickTime 秒。
    # The number of ticks that can pass between
    # sending a request and getting an acknowledgement
    syncLimit=5     //配置 Leader 与 Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度,总的时间长度就是 syncLimit * tickTime 秒
    # the directory where the snapshot is stored.
    # do not use /tmp for storage, /tmp here is just
    # example sakes.
    dataDir=/app/zookeeper/data     //Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里
    dataLogDir=/app/zookeeper/logs  //若没提供的话则用dataDir。zookeeper的持久化都存储在这两个目录里。dataLogDir里是放到的顺序日志(WAL),指定的目录下有version-2文件夹(下有log.1文件)。而dataDir里放的是内存数据结构的snapshot,便于快速恢复。为了达到性能最大化,一般建议把dataDir和dataLogDir分到不同的磁盘上,以充分利用磁盘顺序写的特性。
    # the port at which the clients will connect
    clientPort=2181     //Zookeeper服务器监听的端口,以接受客户端的访问请求。
    # 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.1=10.55.2.81:2888:3888
    server.2=10.55.2.82:2888:3888
    server.3=10.55.2.83:2888:3888
    // server.n n是一个数字,表示这个是第几号服务器;“=”号后面是对应几号服务器的IP地址,2888是这个服务器与集群中的 Leader 服务器交换信息的端口;3888表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,此端口就是用来执行选举时服务器相互通信的端口。

    每个节点的zoo.cfg配置都一样,直接复制过去就可以。
    2、添加myid文件
    除了修改 zoo.cfg 配置文件,集群模式下还要配置一个文件 myid,这个文件在zoo.cfg里dataDir指定的目录下,这个文件里面就只有一个数字,这个数字和server.n的n保持一致,Zookeeper 启动时会读取这个文件,拿到里面的数据与 zoo.cfg 里面的配置信息比较从而判断到底是那个 server。

    [[email protected] zookeeper]# echo "2">data/myid

    其他两个节点类似
    3、安装jdk

    [[email protected] soft]# rpm -ivh jdk-8u151-linux-x64.rpm  

    4、启动服务

    [[email protected] zookeeper]# cd bin/
    [[email protected] bin]# ls
    README.txt  zkCleanup.sh  zkCli.cmd  zkCli.sh  zkEnv.cmd  zkEnv.sh  zkServer.cmd  zkServer.sh  zookeeper.out
    [[email protected] bin]# ./zkServer.sh start
    ZooKeeper JMX enabled by default
    Using config: /app/zookeeper/bin/../conf/zoo.cfg
    Error contacting service. It is probably not running.       //少于三台不会正常工作,三台都启动次,然后删除pid文件再启动, zookeeper.out里有很多有用的提示
    [[email protected] bin]# rm -rf ../conf/zoo_sample.cfg
    [[email protected] bin]# ./zkServer.sh start
    ZooKeeper JMX enabled by default
    Using config: /app/zookeeper/bin/../conf/zoo.cfg
    Starting zookeeper ... STARTED
    [[email protected] bin]#

    使用jps -m可以查询进程,Zookeeper的进程为QuorumPeerMain

    [[email protected] bin]# jps -m
    1744 WrapperSimpleApp CloudResetPwdUpdateAgent
    2528 QuorumPeerMain /app/zookeeper/bin/../conf/zoo.cfg
    21745 Jps -m
    [[email protected] bin]#

    5、节点状态查看

[[email protected] bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /app/zookeeper/bin/../conf/zoo.cfg
Mode: leader
[[email protected] bin]#

[[email protected] bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /app/zookeeper/bin/../conf/zoo.cfg
Mode: follower
[[email protected] bin]# 

[[email protected] bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /app/zookeeper/bin/../conf/zoo.cfg
Mode: follower
[[email protected] bin]# 

日志

[[email protected] bin]# tail -500f zookeeper.out
2018-06-21 15:24:59,618 [myid:] - INFO  [main:[email protected]] - Reading configuration from: /app/zookeeper/bin/../conf/zoo.cfg
2018-06-21 15:24:59,626 [myid:] - INFO  [main:[email protected]] - Resolved hostname: 10.55.2.81 to address: /10.55.2.81
2018-06-21 15:24:59,626 [myid:] - INFO  [main:[email protected]] - Resolved hostname: 10.55.2.83 to address: /10.55.2.83
2018-06-21 15:24:59,626 [myid:] - INFO  [main:[email protected]] - Resolved hostname: 10.55.2.82 to address: /10.55.2.82
2018-06-21 15:24:59,626 [myid:] - INFO  [main:[email protected]] - Defaulting to majority quorums
2018-06-21 15:24:59,628 [myid:2] - INFO  [main:[email protected]] - autopurge.snapRetainCount set to 3
2018-06-21 15:24:59,628 [myid:2] - INFO  [main:[email protected]] - autopurge.purgeInterval set to 0
2018-06-21 15:24:59,628 [myid:2] - INFO  [main:[email protected]] - Purge task is not scheduled.
2018-06-21 15:24:59,635 [myid:2] - INFO  [main:[email protected]] - Starting quorum peer
2018-06-21 15:24:59,639 [myid:2] - INFO  [main:[email protected]] - Using org.apache.zookeeper.server.NIOServerCnxnFactory as server connection factory
2018-06-21 15:24:59,642 [myid:2] - INFO  [main:[email protected]] - binding to port 0.0.0.0/0.0.0.0:2181
2018-06-21 15:24:59,646 [myid:2] - INFO  [main:[email protected]] - tickTime set to 2000
2018-06-21 15:24:59,646 [myid:2] - INFO  [main:[email protected]] - initLimit set to 10

6、ZooKeeper访问

[[email protected] bin]# ./zkCli.sh -server 10.55.2.82:2181   //连接loader节点,写入数据验证集群
Connecting to 10.55.2.82:2181
2018-06-21 18:15:33,887 [myid:] - INFO  [main:[email protected]] - Client environment:zookeeper.version=3.4.12-e5259e437540f349646870ea94dc2658c4e44b3b, built on 03/27/2018 03:55 GMT
......
WATCHER::

WatchedEvent state:SyncConnected type:None path:null   //回车
[zk: 10.55.2.82:2181(CONNECTED) 0] ls /      //显示根目录下、文件,用ls /命令查看目录情况,发现只有一个zookeeper目录。
[zookeeper]
[zk: 10.55.2.82: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
[zk: 10.55.2.82(CONNECTED) 0] ls2 /     //显示根目录下、文件,查看当前节点数据并能看到更新次数等数据
[zookeeper, 20180621]
cZxid = 0x0
ctime = Thu Jan 01 08:00:00 CST 1970
mZxid = 0x0
mtime = Thu Jan 01 08:00:00 CST 1970
pZxid = 0x100000004
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 0
numChildren = 2
[zk: 10.55.2.82:2181(CONNECTED) 1] create /20180621 "201806211950"  //创建文件并设置初始内容,创建一个新的 znode节点“ 20180621 ”以及与它关联的字符串
Created /20180621
[zk: 10.55.2.82:2181(CONNECTED) 2] ls /
[zookeeper, 20180621]
[zk: 10.55.2.82:2181(CONNECTED) 3] get /20180621     //获取文件内容,确认 znode 是否包含我们所创建的字符串
201806211950
cZxid = 0x100000004
ctime = Thu Jun 21 19:50:05 CST 2018
mZxid = 0x100000004
mtime = Thu Jun 21 19:50:05 CST 2018
pZxid = 0x100000004
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 12
numChildren = 0
[zk: 10.55.2.82(CONNECTED) 3] set /20180621 "justin 51cto"     //修改文件内容,对 20180621 所关联的字符串进行设置
cZxid = 0x100000004
ctime = Thu Jun 21 19:50:05 CST 2018
mZxid = 0x10000000b
mtime = Thu Jun 21 20:23:43 CST 2018
pZxid = 0x100000004
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 12
numChildren = 0
[zk: 10.55.2.82(CONNECTED) 4] get /20180621
justin 51cto
cZxid = 0x100000004
ctime = Thu Jun 21 19:50:05 CST 2018
mZxid = 0x10000000b
mtime = Thu Jun 21 20:23:43 CST 2018
pZxid = 0x100000004
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 12
numChildren = 0
[zk: 10.55.2.82(CONNECTED) 5] delete /20180621    //修改文件内容,将刚才创建的 znode 删除;如果要 删除目录(即使非空)使用:rmr 目录
[zk: 10.55.2.82:2181(CONNECTED) 4] quit
Quitting...
2018-06-21 19:50:28,534 [myid:] - INFO  [main:[email protected]] - Session: 0x200004654110000 closed
2018-06-21 19:50:28,535 [myid:] - INFO  [main-EventThread:[email protected]] - EventThread shut down for session: 0x200004654110000
[[email protected] bin]# 

此时,登陆到其他节点也可以看到。在data目录里,
snapshot.0:就是我们存放数据在内存中的快照,zookeeper服务刚启动时需要用它来恢复数据
log.100000001:日志文件,默认存放在数据目录中。
6、ssh远程开启Zookeeper服务

[[email protected] bin]# ssh 10.55.2.81 "source /etc/profile;/app/zookeeper/bin/zkServer.sh status"

这样我们就可以通过脚本来同时管理3个节点了
7、四字命令
通过四字命令更方便地获取服务端信息, 四字命令的用法:echo 四字命令|netcat localhost 2181 ,常用的四字:

conf:输出Zookeeper服务器配置的详细信息
cons:输出所有连接到服务器的客户端的完全的连接/会话的详细信息。包括“接收/发送”的包数量、会话ID、操作延迟、最后的操作执行等
dump:输出未经处理的会话和临时节点
envi:输出关于服务器运行环境的详细信息
reqs:输出未经处理的请求
ruok:测试服务是否处于正确状态。若是则会返回“imok”,否则不做任何反应
stat:输出关于性能和连接的客户端的列表。(通过此命令也可查看节点是leader还是follower)
wchs:输出服务器watch的详细信息
wchc:通过session列出服务器watch的详细信息,它的输出是一个与watch相关的会话的列表
wchp:通过路径列出服务器watch的详细信息,它输出一个与session相关的路径
mntr:输出一些Zookeeper运行时信息,通过对这些返回结果的解析可以达到监控效果
netcat下载地址:http://sourceforge.net/projects/netcat/files/netcat/

[[email protected] soft]# echo conf|netcat 10.55.2.81 2181

数据及日志维护

Zookeeper的数据文件存放在配置中指定的dataDir中,每个数据文件名都以snapshot开头,每个数据文件为zookeeper某个时刻数据全量快照。在zookeeper中,对数据的更新操作,包括创建节点、更新节点内容、删除节点都会记录事务日志;客户端对ZK的更新操作都是永久的,不可回退的。为做到这点,ZK会将每次更新操作以事务日志的形式写入磁盘,写入成功后才会给予客户端响应。zookeeper在完成若干次事务日志(snapCount)后会生成一次快照,把当前zk中的所有节点的状态以文件的形式dump到硬盘中,生成一个snapshot文件。这里的事务次数是可以配置,默认是100000个。
zookeeper服务器会产生三类日志:事务日志、快照日志和log4j日志。

  • 系统日志使用log4j进行管理,log4j用于记录zookeeper集群服务器运行日志,该日志的配置地址在conf/目录下的log4j.properties文件中,该文件中有一个配置项为“zookeeper.log.dir=.”,表示log4j日志文件在与执行程序(zkServer.sh)在同一目录下。当执行zkServer.sh 时,在该文件夹下会产生zookeeper.out日志文件。
  • zoo.cfg中只有一个配置项dataDir,该配置项用于配置zookeeper快照日志和事务日志的存储地址。还可以为事务日志专门配置存储地址,配置项名称为dataLogDir,在zoo_sample.cfg中并未体现出来。在没有dataLogDir配置项的时候,zookeeper默认将事务日志文件和快照日志文件都存储在dataDir对应的目录下。建议将事务日志(dataLogDir)与快照日志(dataLog)单独配置,因为当zookeeper集群进行频繁的数据读写操作是,会产生大量的事务日志信息,将两类日志分开存储会提高系统性能,而且,可以允许将两类日志存在在不同的存储介质上,减少磁盘压力。

事务日志

事务日志指zookeeper系统在正常运行过程中,针对所有的更新操作,在返回客户端“更新成功”的响应前,zookeeper会保证已经将本次更新操作的事务日志已经写到磁盘上,只有这样,整个更新操作才会生效。
在dataLogDir指定的目录下存在一个文件夹version-2,该文件夹中保存着事物日志文件:

[[email protected] data]# cd version-2/
[[email protected] version-2]# ls
acceptedEpoch  currentEpoch  log.100000001
[[email protected] version-2]# 

日志文件的命名规则为log.表示写入该日志的第一个事务的ID,十六进制表示。

事务日志可视化

zookeeper的事务日志为二进制文件,不能通过vim等工具直接访问。可以通过zookeeper自带的jar包读取事务日志文件。执行如下命令:

[[email protected] zookeeper]# java -classpath .:lib/slf4j-api-1.7.25.jar:zookeeper-3.4.12.jar org.apache.zookeeper.server.LogFormatter data/version-2/log.100000001
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
ZooKeeper Transactional Log File with dbid 0 txnlog format version 2
6/21/18 6:15:33 PM CST session 0x1000045eba30000 cxid 0x0 zxid 0x100000001 createSession 30000

6/21/18 6:59:45 PM CST session 0x1000045eba30000 cxid 0x2 zxid 0x100000002 closeSession null
6/21/18 7:47:53 PM CST session 0x200004654110000 cxid 0x0 zxid 0x100000003 createSession 30000

6/21/18 7:50:05 PM CST session 0x200004654110000 cxid 0x1 zxid 0x100000004 create ‘/20180621,#323031383036323131393530,v{s{31,s{‘world,‘anyone}}},F,1

6/21/18 7:50:28 PM CST session 0x200004654110000 cxid 0x5 zxid 0x100000005 closeSession null
6/21/18 7:51:01 PM CST session 0x1000045eba30001 cxid 0x0 zxid 0x100000006 createSession 30000

6/21/18 7:53:30 PM CST session 0x1000045eba30001 cxid 0x4 zxid 0x100000007 closeSession null
6/21/18 8:18:55 PM CST session 0x200004654110001 cxid 0x0 zxid 0x100000008 createSession 30000

6/21/18 8:21:15 PM CST session 0x200004654110002 cxid 0x0 zxid 0x100000009 createSession 30000

6/21/18 8:21:36 PM CST session 0x200004654110001 cxid 0x0 zxid 0x10000000a closeSession null
6/21/18 8:23:43 PM CST session 0x200004654110002 cxid 0x6 zxid 0x10000000b setData ‘/20180621,#6a757374696e20353163746f,1

6/21/18 8:25:09 PM CST session 0x200004654110002 cxid 0xa zxid 0x10000000c delete ‘/20180621

6/21/18 8:34:46 PM CST session 0x200004654110002 cxid 0xb zxid 0x10000000d closeSession null
EOF reached after 13 txns.
[[email protected] zookeeper]#

快照日志

zookeeper的数据在内存中是以树形结构进行存储的,而快照就是每隔一段时间就会把整个DataTree的数据序列化后存储在磁盘中,这就是zookeeper的快照文件。在dataDir指定的目录下存在一个文件夹version-2,该文件夹中保存着快照日志文件:

[[email protected] version-2]# ls
acceptedEpoch  currentEpoch  log.100000001  snapshot.100000000
[[email protected] version-2]# 

zookeeper快照文件的命名规则为snapshot.,其中表示zookeeper触发快照的那个瞬间,提交的最后一个事务的ID。

日志清理

在zookeeper 3.4.0以后,zookeeper提供了自动清理snapshot和事务日志功能,通过配置zoo.cfg下的autopurge.snapRetainCount和autopurge.purgeInterval这两个参数实现日志文件的定时清理。
autopurge.snapRetainCount这个参数指定了需要保留的文件数目,默认保留3个;
autopurge.purgeInterval这个参数指定了清理频率,单位是小时,需要填写一个1或者更大的数据,0表示不开启自动清理功能。

[[email protected] bin]# grep -in "autopurge" ../conf/zoo.cfg
21:# administrator guide before turning on autopurge.
26:#autopurge.snapRetainCount=3
29:#autopurge.purgeInterval=1
[[email protected] bin]# 

原文地址:http://blog.51cto.com/ityunwei2017/2131509

时间: 2024-10-19 21:15:04

Zookeeper集群部署和使用的相关文章

zookeeper集群部署总结篇

前前后后各种问题不断终于实现集群部署,特做如下记录,因为zookeeper 和 kafka 都依赖于java 环境,因此需要装jdk. 通过ftp 上传   apache-zookeeper-3.5.6-bin.tar.gz   jdk-8u241-linux-x64.tar.gz  kafka_2.13-2.4.0.tgz  jdk 环境配置 1.mv jdk-8u162-linux-x64.tar.gz /usr/local 2.tar -zxvf jdk-8u162-linux-x64.t

activemq+zookeeper 集群部署基于levedb

集群图 zookeeper集群,上一篇博客写了zookeeper集群的部署 Ip 服务注册端口 主机名 192.168.56.15 2181 zk01 192.168.56.16 2181 zk02 192.168.56.17 2181 zk03 activemq部署 IP 管控台端口 集群通讯端口 消息端口 192.168.56.15 8161 61621 51511 192.168.56.16 8162 61622 51512 192.168.56.17 8163 61623 51513 h

HBase集成Zookeeper集群部署

大数据集群为了保证故障转移,一般通过zookeeper来整体协调管理,当节点数大于等于6个时推荐使用,接下来描述一下Hbase集群部署在zookeeper上的过程: 安装Hbase之前首先系统应该做通用的集群环境准备工作,这些是必须的: 1.集群中主机名必须正确配置,最好有实际意义:并且主机名都在hosts文件中对应主机IP,一一对应,不可缺少 这里集群有6台服务器:bigdata1,bigdata2,bigdata3,bigdata4,bigdata5,bigdata6 这里是3台主机,分别对

dubbo学习之dubbo管理控制台装配及集成zookeeper集群部署(1)【转】

dubbo管理控制台开源部分主要包含:路由规则,动态配置,服务降级,访问控制,权重调整,负载均衡,等管理功能. 1.下载dubbo 地址:http://code.alibabatech.com/mvn/releases/com/alibaba/dubbo-admin/2.4.1/dubbo-admin-2.4.1.war 本人将tomcat安装在/opt/目录下,先删除tomcat/webapps下自带的ROOT文件夹,将下载的war包解压到webapps/ROOT,命令如下: [plain] 

zookeeper集群部署问题排查

今天在三台虚拟机搭建zookeeper集群,一直连不通,然后进行了几个小时的斗争,做个记录. 具体部署方式网上有很多, 不在赘述.产生连接不同的问题主要有以下几个方面: 1.仔细检查配置文件. 是否有错误配置,不该有空格的地方是否出现空格这一类的错误 dataDir是否正确,myid文件是否设置正确等 2.防火墙问题: 搭建集群是需要关闭防火墙的.因为为没有这个问题,所以也不知道日志是怎么样的,不过日志应该是存在"route"一类的词汇的. 解决办法:关闭防火墙 3.域名和IP映射问题

zookeeper集群部署

选取172.16.110.17.172.16.110.137.172.16.110.138来部署zookeeper df -lh查看磁盘空间都够用 zookeeper源码下载(由于17上已部zookeeper,所以拷过去就行) 安装在/opt目录下 tar -xvf zookeeper-3.4.6.tar 修改配置文件vi /opt/zookeeper-3.4.6/conf/zoo.cfg 加入 server.1=172.16.110.17:2888:3888server.2=172.16.11

dubbo开发前戏--ZooKeeper集群部署(3.4.6)

最近在开发dubbo服务的时候一直用的是公司提供的zk平台,因为使用的人太多或者没人维护老是出问题,导致dubbo服务偶尔可以调通,偶尔调不通的情况,所以花点时间自己部署一套,后面出问题还方便看日志排查. 1 下载包上传linux服务器 zookeeper-3.4.6.tar.gz 2 解压tar -zxvf zookeeper-3.4.6.tar.gz 3 进入zookeeper-3.4.6/conf目录 4 拷贝一份zoo_sample.cfg重命名为zoo.cfg (如果你用过lts这个轻

zookeeper集群部署手册

一.  准备 1.  硬件 三台装好RHEL6.7_x64的x86服务器,机器名如下 zookeeper01 zookeeper02 zookeeper03 2.  软件 jdk-7u80-linux-x64.rpm zookeeper-3.4.8.tar.gz 二.  安装JDK(root用户执行) 1.  拷贝jdk-7u80-linux-x64.rpm到/data01/software/jdk 2.  用root登录 3.  执行以下命令 cd /data01/software/jdk r

部署Zookeeper集群

本文是针对大数据开发环境来写的,配置比较简单.zookeeper的介绍.工作原理.特点自行查阅某度百科,说的非常明白.再次需要强调一下,zookeeper集群中的机器节点数是2n-1(奇数)的. 准备工作: 下载 zookeeper-3.4.6.tar.gz http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz 虚拟机环境:(本文使用的配置) ip地址         hostname 1