Chinaunix首页 | 论坛 | 博客
  • 博客访问: 910057
  • 博文数量: 91
  • 博客积分: 803
  • 博客等级: 准尉
  • 技术积分: 1051
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-24 13:42
文章分类

全部博文(91)

文章存档

2021年(1)

2020年(4)

2019年(4)

2018年(9)

2017年(11)

2016年(11)

2015年(6)

2014年(3)

2013年(28)

2012年(14)

分类: 大数据

2018-05-09 18:19:38

安装jdk,并且配置jdk的环境变量
下载zookeeper的安装包,上传到linux集群环境下
下载地址:
解压安装包:tar -zxvf zookeeper-3.4.7.tar.gz -C path
进入conf目录,复制zoo-sample.cfg为zoo.cfg,通过修改zoo.cfg来对zookeeper进行配置
修改1:dataDir 指定zookeeper将数据保存在哪个目录下,如果不修改,默认在/tmp下,这个目录下的数据有可能会在磁盘空间不足或服务器重启时自动被linux清理,所以一定要修改这个地址
修改2:修改服务器列表
    单机模式:在zoo.cfg中只配置一个server.id就是单机模式了
    伪分布式:在zoo.cfg中配置多个server.id,其中ip都是当前机器,而端口各部相同,启动时就是伪集群模式了
    完全分布式:多台机器各自配置
    server.1=xxx.xxx.xxx.xxx:2888:3888    
    server.2=xxx.xxx.xxx.xxx:2888:3888    
    server.3=xxx.xxx.xxx.xxx:2888:3888
    (观察者可以直接在服务器配置后面添加:observer,即以观察者角色启动)
修改3:到之前配置的zookeeper数据文件所在的目录下生成一个文件叫myid,其中写上一个数字表明当前机器是哪一个编号的机器
启动zookeeper
    启动ZK服务:        bin/zkServer.sh start
    停止ZK服务:        bin/zkServer.sh stop
    重启ZK服务:        bin/zkServer.sh restart
    查看ZK服务状态:    bin/zkServer.sh status

zookeeper的数据模型
    zookeeper中可以保存数据,正是利用zookeeper可以保存数据这一特点,我们的集群通过在zookeeper里存取数据来进行消息的传递。
    zookeeper中保存数据的结构非常类似于文件系统。都是由节点组成的树形结构。不同的是文件系统是由文件夹和文件来组成的树,而zookeeper中是由ZNODE来组成的树。
    每一个ZNODE里都可以存放一段数据,ZNODE下还可以挂载零个或多个子ZNODE节点,从而组成一个树形结构。

                    顺序节点        普通节点
        临时节点    顺序临时节点    普通临时节点    
        持久节点    顺序持久节点    普通持久节点

    顺序节点:指定叫什么,除了前缀是指定的名字外,在名字后会会自带一个独一无二自动增长的的编号 普通节点:指定叫什么就叫什么
    临时节点:一个客户端连接创建的临时节点,会在当客户端会话结束时立即自动删除。 持久节点:创建出来后只要不删除就不会消失,无论客户端是否连接。

zookeeper的shell下操作
        执行bin/zkCli.sh [-server ip:port] #如不指定,则连接本机

        列出:
            ls path [watch]    #列出所有数据节点

            练习:列出根目录下所有数据节点
                ls /

        创建:
            create [-s] [-e] path data acl #创建数据节点
                --其中 -s表示顺序节点 -e表示临时节点,两个都不加则是持久节点
                --acl 指定权限控制,不赋值则不进行任何权限控制

            练习:创建/zk-book 其中数据为123
                Create /zk-book 123

        获取:
            get path [watch]

            练习:列出 /zk-book中的数据
                get /zk-book

        更新:
            set path data [version]
                --data 为要更新的内容 version指定要基于哪个版本的数据进行更新

        删除:
            delete path [version]
                --path 为要删除的路径 version指定要基于哪个版本进行删除
                --注意,要删除的节点下必须没有任何子节点才能删除成功
阅读(1504) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~