docker安装zookeeper单机版

1、查看zookeeper镜像

执行命令 docker search zookeeper

[root@iz2zei0x4t16rv0e5buzvhz /]# docker search zookeeper
NAME                                DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
zookeeper                           Apache ZooKeeper is an open-source server wh…   544                 [OK]                
jplock/zookeeper                    Builds a docker image for Zookeeper version …   162                                     [OK]
mesoscloud/zookeeper                ZooKeeper                                       73                                      [OK]
wurstmeister/zookeeper                                                              65                                      [OK]
confluentinc/cp-zookeeper           Official Confluent Docker Image for Zookeeper   39                                      
mbabineau/zookeeper-exhibitor                                                       23                                      [OK]
digitalwonderland/zookeeper         Latest Zookeeper - clusterable                  18                                      [OK]
[root@iz2zei0x4t16rv0e5buzvhz /]# 

2、运行安装命令:

docker run -d \
-p 2181:2181 \
-v /mysoft/zookeeper/data/:/data/ \
--name=zookeeper  \
--privileged zookeeper

3、 查看 zookeeper进程

[root@iz2zei0x4t16rv0e5buzvhz /]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                                                                   NAMES
3a7e6e62ba6c        zookeeper           "/docker-entrypoint.…"   7 seconds ago       Up 7 seconds        2888/tcp, 0.0.0.0:2181->2181/tcp, 3888/tcp                                              zookeeper
[root@iz2zei0x4t16rv0e5buzvhz /]# 

4、进入zkCli.sh

在这里插入图片描述

5、ZooInspector客户端连接

命令:java -jar zookeeper-dev-ZooInspector.jar
操作步骤:

C:\Users\Administrator>cd D:\develop_tools\apache\zookeeper\ZooInspector\build
C:\Users\Administrator>d:
D:\develop_tools\apache\zookeeper\ZooInspector\build>java -jar zookeeper-dev-ZooInspector.jar

在这里插入图片描述

输入地址:
在这里插入图片描述

等10多秒后,
在这里插入图片描述

6、Curator 测试

<!-- 原生zookeeper -->
<dependency>
    <groupId>org.apache.zookeeper</groupId>
    <artifactId>zookeeper</artifactId>
    <version>3.4.6</version>
</dependency>

<!--Apache Curator-->
<dependency>
    <groupId>org.apache.curator</groupId>
    <artifactId>curator-framework</artifactId>
    <version>2.9.0</version>
</dependency>

<!-- zkclient -->
<dependency>
    <groupId>com.101tec</groupId>
    <artifactId>zkclient</artifactId>
    <version>0.9</version>
</dependency>

<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>

CuratorTest .java

import java.util.List;

import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.framework.CuratorFrameworkFactory;
import org.apache.curator.framework.api.CuratorWatcher;
import org.apache.curator.retry.RetryNTimes;
import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.WatchedEvent;
import org.apache.zookeeper.ZooDefs;

public class CuratorTest {
	
    public static void main(String[] args) throws Exception{
    	
        CuratorFramework client = CuratorFrameworkFactory.newClient("xx.xx.xx:2181", new RetryNTimes(10, 5000));
        client.start();// 连接
        // 获取子节点,顺便监控子节点
        List<String> children = client.getChildren().usingWatcher(new CuratorWatcher() {
            public void process(WatchedEvent event) throws Exception
            {
                System.out.println("监控: " + event);
            }
        }).forPath("/");
        System.out.println("children = "+children);
		
        // 创建节点
		String result = client.create().withMode(CreateMode.PERSISTENT).withACL(ZooDefs.Ids.OPEN_ACL_UNSAFE).forPath("/test", "Data".getBytes());
        
		System.out.println("result = "+result);
        // 设置节点数据
        client.setData().forPath("/test", "111".getBytes());
        client.setData().forPath("/test", "222".getBytes());
        // 删除节点
        //System.out.println(client.checkExists().forPath("/test"));
        /*client.delete().withVersion(-1).forPath("/test");
        System.out.println(client.checkExists().forPath("/test"));*/
        client.close();
        System.out.println("OK!");
    }
}

执行代码后,日志如下:
在这里插入图片描述

刷新ZooInspector 后,看开添加的节点和节点的值。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/xiaojin21cen/article/details/85028326
今日推荐