yanchuen 发表于 2015-11-21 13:45:50

zookeeper简介与安装过程

  zookeeper是一个为分布式应用所设计的开源协调服务。设计目的是为了减轻分布式应用程序所承担的协调服务。
  zookeeper的设计目标:(1)简单化。(2)健壮性。(3)有序性。(4)速度优势。
  

  zookeeper安装:
  (1)准备环境 安装好jdk 搭建好集群环境

  (2)官网下载zookeeper安装包 http://zookeeper.apache.org/
  (3)在集群中的一台电脑上进行操作,进入安装目录,本人这边安装在 /app 下cd /app
  解压安装包tar zxf zookeeper-3.4.6.tar.gz
  (4)修改配置文件在/app/zookeeper-3.4.6/conf 目录下有cgf的模板,将zoo_sample.cfg拷贝一份命名为zoo.cfg,也放在conf目录下。在文本的最后加上几个值
  server.1=hadoop1:2888:3888
server.2=hadoop2:2888:3888
server.3=hadoop3:2888:3888
server.4=hadoop4:2888:3888
server.5=hadoop5:2888:3888
server.6=hadoop6:2888:3888
  集群有几台电脑即添加几行,只需修改ip映射地址即可。即将hadoop1,hadoop2.。。等替换成自己电脑的ip地址或者映射地址。
  还需要修改的地方就是dataDir的值,配置文件中默认为dataDir=/tmp/zookeeper/    修改完之后在相应的地方创建相应的文件夹mkdir指令
  如本人设置dataDir=/app/zookeeper-3.4.6/tmp/zookeeper   即需要创建tmp文件夹和tmp下的zookeeper文件夹。
  (5)在dataDir目录下新建文本,命名为myid,文本内容为数字,其数字值与配置文件zoo.cgf中server冒号后的值相同。
  (6)单台机子操作完成,将文件夹传到其他台电脑的相应位置,例如 scp -r/app/zookeeper-3.4.6/    hadoop@hadoop2:/app/
  之后采用ssh无密码登录其他集群的机子,或者其他方法,修改之前dataDir目录下myid里文本的值,修改成相应的数字,用来标识当前主机,conf/zoo.cfg文件中配置的server.X中X为什么数字,则myid文件中就修改成这个数字。
  以上安装过程完成,可以开始启动集群。
  

  在每台机子上执行启动ZooKeeper服务的脚本   bin/zkServer.sh start如果没有设置环境变量或者没有进入安装目录,代码前还需要加入zookeeper的完整路径
  执行后,结果如下
  $ /app/zookeeper-3.4.6/bin/zkServer.sh start
JMX enabled by default
Using config: /app/zookeeper-3.4.6/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

该台节点启动成功,陆续执行所有的节点。
  全部执行之后,即可查看每台zookeeper的状态指令为 bin/zkServer.sh status
  $ /app/zookeeper-3.4.6/bin/zkServer.sh status
JMX enabled by default
Using config: /app/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: follower

此时则会看到该台计算机节点是follower还是leader。
  至此,安装成功。
  同时可以通过客户端节点登录zookeeper集群,指令为 /app/zookeeper-3.4.6/bin/zkCli.sh hadoop3:2181

  $ /app/zookeeper-3.4.6/bin/zkCli.sh hadoop3:2181
Connecting to localhost:2181
2015-09-21 10:22:31,133 - INFO - Client environment:zookeeper.version=3.4.6-1569965, built on 02/20/2014 09:09 GMT
2015-09-21 10:22:31,136 - INFO - Client environment:host.name=hadoop2
2015-09-21 10:22:31,136 - INFO - Client environment:java.version=1.7.0_21
2015-09-21 10:22:31,137 - INFO - Client environment:java.vendor=Oracle Corporation
2015-09-21 10:22:31,137 - INFO - Client environment:java.home=/app/software/jdk1.7.0_21/jre
2015-09-21 10:22:31,137 - INFO - Client environment:java.class.path=/app/zookeeper-3.4.6/bin/../build/classes:/app/zookeeper-3.4.6/bin/../build/lib/*.jar:/app/zookeeper-3.4.6/bin/../lib/slf4j-log4j12-1.6.1.jar:/app/zookeeper-3.4.6/bin/../lib/slf4j-api-1.6.1.jar:/app/zookeeper-3.4.6/bin/../lib/netty-3.7.0.Final.jar:/app/zookeeper-3.4.6/bin/../lib/log4j-1.2.16.jar:/app/zookeeper-3.4.6/bin/../lib/jline-0.9.94.jar:/app/zookeeper-3.4.6/bin/../zookeeper-3.4.6.jar:/app/zookeeper-3.4.6/bin/../src/java/lib/*.jar:/app/zookeeper-3.4.6/bin/../conf:.:/app/software/jdk1.7.0_21/lib:/app/software/jdk1.7.0_21/lib/tools.jar
2015-09-21 10:22:31,138 - INFO - Client environment:java.library.path=/usr/java/packages/lib/i386:/lib:/usr/lib
2015-09-21 10:22:31,138 - INFO - Client environment:java.io.tmpdir=/tmp
2015-09-21 10:22:31,138 - INFO - Client environment:java.compiler=<NA>
2015-09-21 10:22:31,138 - INFO - Client environment:os.name=Linux
2015-09-21 10:22:31,138 - INFO - Client environment:os.arch=i386
2015-09-21 10:22:31,138 - INFO - Client environment:os.version=2.6.32-358.el6.i686
2015-09-21 10:22:31,138 - INFO - Client environment:user.name=hadoop
2015-09-21 10:22:31,138 - INFO - Client environment:user.home=/home/hadoop
2015-09-21 10:22:31,138 - INFO - Client environment:user.dir=/home/hadoop
2015-09-21 10:22:31,139 - INFO - Initiating client connection, connectString=localhost:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@1392356



  

  

  

  

  

  

  

  

  

  
页: [1]
查看完整版本: zookeeper简介与安装过程