zookeeper-3.4.5集群的配置

一、zookeeper-3.4.5集群的配置


1 、服务器介绍
三台服务器 分别是 Master.Hadoop、Slave1.Hadoop、Slave2.Hadoop、

Slave3.Hadoop
其中Hadoop 的NameNode 部署在 Master.Hadoop上
使用的 hadoop用户:由root用户创建
useradd hadoop

2、下载对应版本的zookeeper
官网下载
解压后, mv 到hadoop 目录下zookeeper
chown -R hadoop:hadoop zookeeper


3、配置zoo.cfg
b) 修改zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/hadoop/zookeeper/pid
clientPort=2181
server.1=Master.Hadoop:2888:3888
server.2=Slave1.Hadoop:2888:3888
server.3=Slave2.Hadoop:2888:3888
server.4=Slave3.Hadoop:2888:3888

#注释: 集群的 节点配置 必须是 server.X=Host:2888:3888
其中   :2888、3888用于zookeeper之间的通讯
server.X 中的 X 用于下面myid中的值


4、 创建myid
分别依次进入到三个服务器下 根据配置的 server.X 来设置myid的内容
myid 位于上面我们配置的dataDir中文件夹下
a) cd /usr/hadoop/zookeeper/pid
b)echo 1 > myid
注意: echo 1 中的 1 对应着server.X中的X的值


5、编辑/etc/profile
a) su
b) vim /etc/profile
在最后追加:
      export ZOOKEEPER_HOME=${HADOOP_HOME}/zookeeper
     export PATH=${PATH}:${ZOOKEEPER_HOME}/bin
由于实例将zookeeper的放在了 Hadoop下 所以使用了 ${HADOOP_HOME},具体设置

以zookeeper的路径为准。
c) source /etc/profile


6、启动zookeeper server
进入到hadoop用户
a)su - hadoop
b)zkServer.sh start
start #开启 stop #关闭
 开启之后,会在pwd也就是当前目录下,产生一个zookeeper.out的文件,

用more zookeeper.out打开这个文件,可以看到启动的信息
 如下:
 2014-02-15 02:56:23,196 [myid:1] - WARN  [WorkerSender

[myid=1]:QuorumCnxManager@
368] - Cannot open channel to 4 at election address

Slave3.Hadoop/192.168.1.5:38
88
java.net.ConnectException: Connection refused
 ...
 等信息,这是因为其他的服务器还没有开启zookeeper服务,接下来就是

用zkServer.sh start依次开启Slave1.Hadoop、Slave2.Hadoop、Slave3.Hadoop的

服务。
 之后异常信息便会被正常信息给覆盖。

c) zkServer.sh status 查看状态
[hadoop@Master ~]$ zkServer.sh status
JMX enabled by default
Using config: /usr/zookeeper/bin/../conf/zoo.cfg
Mode: follower

[hadoop@Slave1 ~]$ zkServer.sh status
JMX enabled by default
Using config: /usr/zookeeper/bin/../conf/zoo.cfg
Mode: follower

[hadoop@Slave2 ~]$ zkServer.sh status
JMX enabled by default
Using config: /usr/zookeeper/bin/../conf/zoo.cfg
Mode: leader

[hadoop@Slave3 ~]$ zkServer.sh status
JMX enabled by default
Using config: /usr/zookeeper/bin/../conf/zoo.cfg
Mode: follower

发现leader有一个(随机),follower有三个。

c) 进入到zkClient
zkCli.sh

需要注意的事项有:
1.四台服务器的系统时间在保持一致,否则实验也有可能会失败,之前做实验的时

间,有两台时间相差了几天,这是必错的。因为zookeeper.out文件会同步,如果

时间不一致,将不会同步最新信息。准备地来讲,这不错,我们从zookeeper.out

查看到的错只是一种假像,只是没有同步而已。
2.防火墙一定要关:
本人linux:CenOS6.5:
需要关两个东西:
要vi /etc/selinux/confing改成SELINUX=disabled;
chkconfig iptables off
3.配置完后,如果不放心,先重启。


二、有关zookper的shell操作:
zkCli.sh
[zk: localhost:2181(CONNECTED) 0] jf
ZooKeeper -server host:port cmd args
        connect host:port
        get path [watch]
        ls path [watch]
        set path data [version]
        rmr path
        delquota [-n|-b] path
        quit
        printwatches on|off
        create [-s] [-e] path data acl
        stat path [watch]
        close
        ls2 path [watch]
        history
        listquota path
        setAcl path acl
        getAcl path
        sync path
        redo cmdno
        addauth scheme auth
        delete path [version]
        setquota -n|-b val path

zookeeper中也有一个类似与文件系统的目录结构,它被称为“节点”,这些结点

可以添加,删除等。

[zk: localhost:2181(CONNECTED) 2] ls /
[zookeeper]
[zk: localhost:2181(CONNECTED) 3] ls /zookeeper
[quota]
[zk: localhost:2181(CONNECTED) 4] ls /zookeeper/quota
[]
[zk: localhost:2181(CONNECTED) 5] create /arlanhon hadoop
Created /arlanhon
[zk: localhost:2181(CONNECTED) 6] ls /
[arlanhon, zookeeper]
[zk: localhost:2181(CONNECTED) 7] get /arlanhon
hadoop
cZxid = 0x400000004
ctime = Sat Feb 15 23:55:32 CST 2014
mZxid = 0x400000004
mtime = Sat Feb 15 23:55:32 CST 2014
pZxid = 0x400000004
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 6
numChildren = 0

关于zookeeper的一致性:

'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值