立即注册 登录
About云-梭伦科技 返回首页

XUELANG的个人空间 https://www.aboutyun.com/?50482 [收藏] [复制] [分享] [RSS]

日志

大数据之zookper安装(二)

热度 1已有 972 次阅读2016-11-8 13:48

zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,是GoogleChubby一个开源的实现,是HadoopHbase的重要组件。必须部署奇数节点。

zookeeper的下载:

http://mirrors.hust.edu.cn/apache/zookeeper/

将下载的安装包zookeeper-3.4.8传到hadoop集群服务器上。

[hadoop@hadoop1 ~]$ scp zookeeper-3.4.8.tar.gz  hadoop@hadoop2:/home/hadoop/

[hadoop@hadoop1 ~]$ scp zookeeper-3.4.8.tar.gz  hadoop@hadoop3:/home/hadoop/

 

解包:

[hadoop@hadoop1 ~]$ tar -zxvf zookeeper-3.4.8.tar.gz

[hadoop@hadoop2 ~]$ tar -zxvf zookeeper-3.4.8.tar.gz

[hadoop@hadoop3 ~]$ tar -zxvf zookeeper-3.4.8.tar.gz

 

修改配置:

 

修改配置文件

vi conf/zoo.cfg

tickTime=2000

#连接leader的等待的最长时间()

initLimit=10

#标识 Leader Follower 之间发送消息,请求和应答时间最长时间

syncLimit=5

dataDir=/home/hadoop/zookeeper-3.4.8/tmp/data

 

#需要创建对应的tmp/data目录

clientPort=2181

#server.A=BCD:其中 A 是一个数字,表示这个是第几号服务器;B 是这个服务器的 ip 地址;C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;D 表示的是万一集群中的

#Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口。如果是伪集群的配置方式,由于 B 都是一样,所以不同的

#Zookeeper 实例通信端口号不能一样,所以要给它们分配不同的端口号。server.1=192.168.72.131:2287:3387

server.2=192.168.72.132:2287:3387

server.3=l92.168.72.133:2287:3387

将第一节点的配置复制到其他节点

 

增加myid文件

 

并在data目录下放置myid文件:(上面zoo.cfg中的dataDir)

vi myid

myid指明自己的id,对应上面zoo.cfgserver.后的数字,第一台的内容为1,第二台的内容为2,内容如下:

myid

1

 

启动zookeeper

在各节点上执行:zkServer.sh start   并通过jps可以看到:启动了QuorumpeerMain进程。

[hadoop@hadoop1 bin]$ ./zkServer.sh start

 

查看服务:

[hadoop@hadoop2 bin]$ jps

7144 DataNode

8938 Jps

8911 QuorumPeerMain

7248 NodeManager

此时可以通过zkServer.sh  status 命令来查看节点的启动状态。

 

这里需要注意点,只有当至少启动了三个节点之后,该命令才会产生结果。否则会显示:zookeeper Error contacting service. It is probably not running错误,如果节点都启动了,还是报这样的错误,很有可能是防火墙的问题,将防火墙关闭。

#查看防火墙状态

   service iptables status

#查看防火墙开机启动状态

   chkconfig iptables --list

 [root@hadoop1 ~]#  /etc/init.d/iptables stop

[root@hadoop1 ~]# chkconfig iptables off

 

当你启动了至少三个节点之后,执行该命令可以看到:

[hadoop@hadoop2 bin]$ ./zkServer.sh status

ZooKeeper JMX enabled by default

Using config: /home/hadoop/zookeeper-3.4.8/bin/../conf/zoo.cfg

Mode: follower

 

测试zk服务

[hadoop@hadoop1 bin]$ zkCli.sh -server 192.168.72.131:2181

 

############################################################

HBaseZooKeeper

 

HBase内置有ZooKeeper,也可以使用外部ZooKeeper

 

HBase使用一个已有的不被HBase托管的Zookeep集群,需要设置 conf/hbase env sh文件中的HBASE_MANAGES_ZK 属性为 false

 

... # Tell HBase whether it should manage it's own instance of Zookeeper or not. export HBASE_MANAGES_ZK=false

 

接下来,指明Zookeeperhost和端口。可以在 hbase-site.xml中设置, 也可以在HBaseCLASSPATH下面加一个zoo.cfg配置文件。 HBase 会优先加载 zoo.cfg 里面的配置,把hbase-site.xml里面的覆盖掉.

 

HBase托管ZooKeeper的时候,Zookeeper集群的启动是HBase启动脚本的一部分。但你需要自己去运行。你可以这样做

 

${HBASE_HOME}/bin/hbase-daemons sh {start,stop} zookeeper

 

你可以用这条命令启动ZooKeeper而不启动HBase.


路过

雷人
1

握手

鲜花

鸡蛋

刚表态过的朋友 (1 人)

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 立即注册

关闭

推荐上一条 /2 下一条