zookeeper学习笔记:zookeeper安装配置

来源:互联网 发布:linux就该这么学作者 编辑:程序博客网 时间:2024/06/08 06:54

zookeeper学习笔记:zookeeper安装配置


ZooKeeper介绍
  
ZooKeeper 是性能分布式应用的协调系统。提供如:命名、配置管理、同步、组服务等公共服务。具体看官方详细说明:http://hadoop.apache.org/zookeeper


这篇先记录运行 zookeeper 服务器或服务器组。不介绍用在那种场景(它是 hadoop 项目提炼出来的,hadoop 也在用它)。


下载 zookeeper-3.3.1.tar.gz 解压到如 D:\zookeeper-3.3.1


进到 D:\zookeeper-3.3.1 目录,改下 conf/zoo.cfg 文件,内容如:


   1. tickTime=2000  
   2. initLimit=10  
   3. syncLimit=5  
   4. dataDir=D:/data/zookeeper/alone  
   5. clientPort=2181  


tickTime=2000
initLimit=10
syncLimit=5
dataDir=D:/data/zookeeper/alone
clientPort=2181


运行(单机模式),服务器。


   1. sh bin/zkServer.sh start  


sh bin/zkServer.sh start


客户端:


   1. sh bin/zkCli.sh  


sh bin/zkCli.sh


回车,可以看到: [zk: localhost:2181(CONNECTED) 0] 提示


可以输入 ls /
它是列出 / 目录内容,如同文件系统。输入 help 可以看到可用的命令:


    [zk: localhost:2181(CONNECTED) 2] help
    ZooKeeper -server host:port cmd args
    connect host:port
    get path [watch]
    ls path [watch]
    set path data [version]
    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


写数据:


    [zk: localhost:2181(CONNECTED) 3] create /my_data "data.chenlb.com"
    Created /my_data
    [zk: localhost:2181(CONNECTED) 4] get /my_data
    "data.chenlb.com"
    cZxid = 0x2
    ctime = Thu Jul 22 20:57:23 CST 2010
    mZxid = 0x2
    mtime = Thu Jul 22 20:57:23 CST 2010
    pZxid = 0x2
    cversion = 0
    dataVersion = 0
    aclVersion = 0
    ephemeralOwner = 0x0
    dataLength = 17
    numChildren = 0


用 set 命令可以改数据。


运行多机模式:
在 conf 目录下创建文件如 zoo1.cfg,zoo2.cfg,zoo3.cfg。
zoo1.cfg 内容如下:


   1. tickTime=2000  
   2. initLimit=10  
   3. syncLimit=5  
   4. dataDir=D:/data/zookeeper/d_1  
   5. clientPort=2181  
   6. server.1=localhost:2887:3887  
   7. server.2=localhost:2888:3888  
   8. server.3=localhost:2889:3889  


tickTime=2000
initLimit=10
syncLimit=5
dataDir=D:/data/zookeeper/d_1
clientPort=2181
server.1=localhost:2887:3887
server.2=localhost:2888:3888
server.3=localhost:2889:3889


zoo2.cfg 和 zoo3.cfg 文件内容基本一样,只是把 dataDir 和 clientPort 对应改下。这三个 zookeeper 都在同一机器所以要改,如果在三个独立的机器上,只要加:


   1. server.1=ip1:2888:3888  
   2. server.2=ip2:2888:3888  
   3. server.3=ip3:2888:3888  


server.1=ip1:2888:3888
server.2=ip2:2888:3888
server.3=ip3:2888:3888


开三个终端分别运行:


   1. sh bin/zkServer.sh start zoo1.cfg  
   2. sh bin/zkServer.sh start zoo2.cfg  
   3. sh bin/zkServer.sh start zoo3.cfg  


sh bin/zkServer.sh start zoo1.cfg
sh bin/zkServer.sh start zoo2.cfg
sh bin/zkServer.sh start zoo3.cfg


提示:运行第一个服务时,会有报错输出,没事的,接着运行剩下的。就不会报错了。


用三个客户端终端连接分别连接它们:


   1. sh bin\zkCli.sh -server localhost:2181  
   2. sh bin\zkCli.sh -server localhost:2182  
   3. sh bin\zkCli.sh -server localhost:2183  


sh bin\zkCli.sh -server localhost:2181
sh bin\zkCli.sh -server localhost:2182
sh bin\zkCli.sh -server localhost:2183


可以在第一客户端创建内容,第二个客户端查看,第三个客户端修改,再第一客户端,可以看到改变后的内容。


这样看起来 zookeeper 有点像分布式 key/value 系统。当然它只用来存储小数据内容,如配置信息。


推荐zookeeper安装配置教程:国内首部:Zookeeper从入门到精通(开发详解,案例实战,Web界面监控)
zookeeper安装配置学习地址:http://www.ibeifeng.com/goods-380.html

0 0
原创粉丝点击