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

原文地址:https://www.cnblogs.com/xiaozw/p/11157388.html