• zookeeper centos分布式安装使用


     1. 请先安装jdk和下载zookeeper。ssh免密登录请自行配置。大家可以到官网下载或我的网盘。

    网盘地址:

    共3台机器c0,c1,c2 

    192.168.132.148 c0
    192.168.132.144 c1
    192.168.132.149 c2

    2. 上传到centos服务器上,我的路径是~/soft/download/文件夹下面。zookeeper-3.4.14,

    并解压

    tar -zxvf zookeeper-3.4.14.tar.gz

    复制到指定目录: ~/soft/java/,我习惯安装程序放这个目录,大家可以用其它名称。

    mv zookeeper-3.4.14 ~/soft/java/

    3. 修改配置文件。增加ZK_HOME, 每台机器都需要修改。

    vi /etc/profile
    export ZK_HOME=/home/xiaozw/soft/java/zookeeper-3.4.14
    export PATH=$PATH:${JAVA_PATH}:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZK_HOME/bin

    刷新

    source /etc/profile

    修改zookeeper配置文件zoo.cfg,进入conf/目录下面。复制配置文件出来,并修改。

    cp zoo_sample.cfg zoo.cfg

    tickTime 心跳周期。

    dataDir 数据目录。根据自己实际情况修改。我的目录:/home/xiaozw/soft/tmp/zookeeper

    clientPort server供客户端连接端口。

     在dataDir目录下新建myid文件,并写入0. 如果目录不存在,请先创建。

    c0:

    echo 0 > myid

    c1:

    echo 0 > myid 

    c2:

    echo 0 > myid 

    server.0=c0:2888:3888
    server.1=c1:2888:3888
    server.2=c2:2888:3888

     4. 启动zookeeper.

    --启动zk需要每台机器都启动。

    zkServer.sh start

    --查看zk状态。

    zkServer.sh status

    先启动然后查看状态。

    客户端程序使用。

    zkCli.sh c1:2181

    创建节点。

    create /root helloworld

    private static final String conString ="192.168.1.102:2181,192.168.1.103:2181,192.168.1.105:2181";
    
        /**
         * 获取数据
         * @throws Exception
         */
        @Test
        public void test1() throws Exception{
            ZooKeeper zk=new ZooKeeper(conString,2000,null);
            Stat stat=new Stat();
            byte[] bytes= zk.getData("/root/s1",null,stat);
            System.out.println("返回:"+new String(bytes));
        }
    
        /**
         * 创建路径
         * @throws Exception
         */
        @Test
        public void createPath() throws Exception{
            ZooKeeper zk=new ZooKeeper(conString,2000,null);
            String path="/root/s7";
            Stat stat=new Stat();
            String re= zk.create(path,"s7_data".getBytes(),ZooDefs.Ids.OPEN_ACL_UNSAFE,CreateMode.EPHEMERAL);
            System.out.println("返回:"+re);
        }
    
        /**
         * 删除路径
         * @throws Exception
         */
        @Test
        public void deletePath() throws Exception{
            ZooKeeper zk=new ZooKeeper(conString,2000,null);
            String path="/root/s4";
            zk.delete(path,0);
            System.out.println("返回:");
        }
    
        /**
         * 设置数据
         * @throws Exception
         */
        @Test
        public void setData() throws Exception{
            ZooKeeper zk=new ZooKeeper(conString,2000,null);
            String path="/root/s1";
            Stat stat= zk.setData(path,"zzzzz".getBytes(),0);
            System.out.println("返回:"+stat);
        }
    
        /**
         * 获取children
         * @throws Exception
         */
        @Test
        public void getChildren() throws Exception{
            ZooKeeper zk=new ZooKeeper(conString,2000,null);
            String path="/root/s1";
           List<String> list=zk.getChildren("/root",null);
           list.forEach(a->{
               System.out.println("返回:"+a);
           });
        }

    网盘测试项目代码和配置下载:

    链接:https://pan.baidu.com/s/11Bu9KoQ_1W_hacSjS2kkyw
    提取码:3sa3

  • 相关阅读:
    从表达式到变量:一行scheme代码之所见
    document 文挡对象详解(JavaScript脚本语言描述)
    开源Linux系统成为微软Vista竞争对手
    Java下的框架编程(5)cglib的应用
    如何做好职业规划(乾卦)
    Asianux将成为最先进的安全Linux操作系统
    开发人员行走Unix的随身四艺
    Java中类初始化的顺序
    用Java线程获取优异性能(II)——使用同步连载线程访问关键代码部份
    prototype.js的扩展
  • 原文地址:https://www.cnblogs.com/xiaozw/p/11157388.html
Copyright © 2020-2023  润新知