IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Zookeeper基本操作,安装,客户端,java代码内容发布,消息订阅 -> 正文阅读

[大数据]Zookeeper基本操作,安装,客户端,java代码内容发布,消息订阅

网页右边,向下滑有目录索引,可以根据标题跳转到你想看的内容
如果右边没有就找找左边
Zookeeper
  1. 分布式管理软件,常用它作为注册中心(依赖zookeeper的发布/订阅功能)、配置文件中心、分布式锁配置、集群管理等。
  2. zookeeper一共就有两个版本。主要使用的是java语言编写

一、安装下载运行Zookeeper

学习Zookeeper之前,需要你拥有一个Linux虚拟机,或Linux云服务器,并安装java的JDK环境

https://blog.csdn.net/grd_java/article/details/115693312

  1. 上面这篇博客从无到有,搭建了大数据的开发环境,你只需要参考这篇文章里面的安装虚拟机,安装系统,安装JDK,远程工具的使用即可,无需克隆虚拟机,也无需搭建集群
下载Zookeeper并将其传输到虚拟机解压
  1. 百度Zookeeper官网,进入后点击下载
    在这里插入图片描述
    在这里插入图片描述
  2. 选择版本下载
    在这里插入图片描述
    在这里插入图片描述
  3. 将其传输到虚拟机安装
    在这里插入图片描述
    在这里插入图片描述
tar -zxvf apache-zookeeper-3.5.9-bin.tar.gz -C /opt/module/
创建数据目录(Zookeeper硬性要求,需要有这样一个目录)
  1. 进入我们刚解压后的zookeeper文件夹
    在这里插入图片描述
修改zookeeper配置文件
  1. 我们需要名为zoo.cfg的配置文件,但是zookeeper提供的是名字为zoo_sample.cfg的,所以我们需要复制一份改名
    在这里插入图片描述
cp zoo_sample.cfg zoo.cfg
  1. 修改配置文件
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
启动zookeeper
  1. 进入bin目录
    在这里插入图片描述
  2. 运行
    在这里插入图片描述
./zkServer.sh start
  1. 查看运行状态
    在这里插入图片描述
./zkServer.sh status

二、Zookeeper客户端操作命令

  1. 运行命令,进入客户端模式
    在这里插入图片描述
    在这里插入图片描述
./zkCli.sh
  1. 常用命令
  1. ls

    1. ls [参数] /path:显示指定路径信息,可指定参数
      • 参数-s: 罗列出详细信息
      • 参数-R:当前目录和子目录中内容都罗列出来
        在这里插入图片描述
  2. create

    1. create /path [data]:创建,[data]表示包含内容,
      • 举例:create /demo: 创建/demo目录
        在这里插入图片描述
  3. get

    1. get [-s] /path:查看指定路径下内容
    2. 参数-s:列出详细参数
      在这里插入图片描述
      在这里插入图片描述
  4. set

    1. set /path data:想指定路径下设置内容,就是放数据到指定目录,想象目录是数据库表,内容是数据
      在这里插入图片描述
  5. delete

    1. delete /path:删除节点
      在这里插入图片描述

三、java代码内容发布到zookeeper服务器

先在客户端创建好路径

在这里插入图片描述

创建Maven项目开始编写代码
  1. 创建maven项目引入依赖,创建发送内容类
    在这里插入图片描述
    在这里插入图片描述
<dependency>
    <groupId>org.apache.zookeeper</groupId>
    <artifactId>zookeeper</artifactId>
    <version>3.5.9</version>
</dependency>
  1. 编写代码,查看运行效果
    在这里插入图片描述在这里插入图片描述在这里插入图片描述
import org.apache.zookeeper.*;
import java.io.IOException;
public class SendContext {
    public static void main(String[] args) {
        try {
            /**
             * 1. 创建Zookeeper对象 new Zookeeper(ip地址+端口号,访问超时设置,通过观察者模式发出访问恢复就是获取连接后的提示)
             */
            ZooKeeper zooKeeper = new ZooKeeper("192.168.10.105:2181", 100000, new Watcher() {
                @Override
                public void process(WatchedEvent watchedEvent) {
                    System.out.println("获取连接");
                }
            });
            /**
             * 向zookeeper服务器发送内容 create(发送的文件,发送的内容,权限,内容的模式)
             *  CreateMode.PERSISTENT_SEQUENTIAL,每次发送同名文件,会自动创建标号,上次的是1,这次的是2,不会删除原来文件,就是不覆盖
             *  而是通过序列号区分每次上次的不同文件
             */
            String s = zooKeeper.create("/demo/rmi-address", "lakdsjflkasjfklads".getBytes(),
                    ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT_SEQUENTIAL);
            System.out.println(s);
        } catch (IOException e) {
            e.printStackTrace();
        } catch (InterruptedException e) {
            e.printStackTrace();
        } catch (KeeperException e) {
            e.printStackTrace();
        }
    }
}

四、java代码消息订阅,获取服务器内容

  1. 创建类编写代码,查看运行效果
    在这里插入图片描述
import org.apache.zookeeper.*;
import java.io.IOException;
import java.util.List;

public class ReciveContext {
    public static void main(String[] args) {
        try {
            /**
             * 1. 创建Zookeeper对象 new Zookeeper(ip地址+端口号,访问超时设置,通过观察者模式发出访问恢复就是获取连接后的提示)
             */
            ZooKeeper zooKeeper = new ZooKeeper("192.168.10.105:2181", 100000, new Watcher() {
                @Override
                public void process(WatchedEvent watchedEvent) {
                    System.out.println("获取连接");
                }
            });
            /**
             * 从Zookeeper中获取内容
             */
            // 1. 获取节点
            List<String> children = zooKeeper.getChildren("/demo", false);
            System.out.println("/demo路径下有:"+children);
            //2. 获取内容
            for (String child:children){
                byte[] data = zooKeeper.getData("/demo/" + child, false, null);
                System.out.println(child+"节点内容为:"+new String(data));
            }
        } catch (IOException e) {
            e.printStackTrace();
        } catch (InterruptedException e) {
            e.printStackTrace();
        } catch (KeeperException e) {
            e.printStackTrace();
        }
    }
}
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-08-02 10:53:03  更:2021-08-02 10:54:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/22 8:27:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码