当前位置: 首页 > news >正文

在CentOS7部署zookeeper集群以及简单API使用

一.部署zookeeper集群   http://www.cnblogs.com/cyfonly/p/5626532.html

zookeeper是一个针对大型分布式系统的协调系统,提供的功能有统一名称服务、分布式同步等。

1.上传zk安装包到CentOS4

2.解压     tar -xzvf zookeeper-3.4.10.tar.gz -C app/

3.配置(先在一台节点上配置)

    3.1添加一个zoo.cfg配置文件

   进入配置文件目录: cd /home/koushengrui/app/zookeeper-3.4.10/conf/

   复制现有的配置文件模板,并命名为zoo.cfg:cp  zoo_sample.cfg zoo.cfg

    3.2修改配置文件(zoo.cfg)

  dataDir=/home/koushengrui/app/zookeeper-3.4.10/data
  server.1=CentOS4:2888:3888
  server.2=CentOS5:2888:3888
  server.3=CentOS6:2888:3888

    其中2888是leader与follower通信的端口,3888是选举通信的端口

    3.3在dataDir目录中创建一个myid文件,里面内容是server.N中的N(server.2里面内容为2)

        echo 1 > myid

    3.4将配置好的zk拷贝到其他节点

        scp -r /home/koushengrui/app/zookeeper-3.4.10 CentOS5:/home/koushengrui/app/

        scp -r /home/koushengrui/app/zookeeper-3.4.10 CentOS6:/home/koushengrui/app/

    3.5注意:在其他节点上一定要修改myid的内容

        在CentOS5上应该将myid的内容改为2 (echo 2 > myid)

        在CentOS5上应该将myid的内容改为3 (echo 3 > myid)

4.启动集群

在三台机器上分别运行 ./zkServer.sh start,这个时候若严格按照上面步骤部署,且已经关闭防火墙的话,则zooKeeper集群应该可以正常启动。

用 ./zkServer.sh status 命令看各节点的角色,会显示为leader或者follower。

在任一台机器上运行

./zkCli.sh

将连接到本机的zooKeeper节点,用 help 命令可以看到所有支持的命令,其中 ls path 可以看到某节点下的子节点,用 get path 可以看到某节点下的数据,用 set path data 设置某节点下的数据

二.zooKeeper简单概念

zooKeeper的每个节点称为znode,znode除了本身能够包含一部分数据外,还能拥有子节点。znode的数据主要是协调的数据,如状态、配置等信息,当znode的数据发生变化或者子节点发生变化时,基于Watcher机制,会发出相应的通知给订阅其状态变化的客户端。

转载于:https://www.cnblogs.com/koushr/p/5873390.html

相关文章:

  • Spring3.0核心组件的源码简单分析
  • 核心动画——弹簧动画二
  • 不能修改数据
  • 春招面试小记
  • poj 3468(线段树+lazy思想)
  • 算法系列15天速成——第五天 五大经典查找【中】
  • Mac OS 安装phpMyAdmin
  • 用PHP抓取淘宝商品的用户晒单评论+图片实例
  • c语言小练习(蛮好玩的)
  • Android上传头像代码,相机,相册,裁剪
  • [ Algorithm ] N次方算法 N Square 动态规划解决
  • Memcached 安装及启动脚本
  • kafka 源码调研系列1 特色
  • 小型数据库
  • JQuery在线手册
  • ----------
  • [译]前端离线指南(上)
  • 【mysql】环境安装、服务启动、密码设置
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • CSS进阶篇--用CSS开启硬件加速来提高网站性能
  • iOS小技巧之UIImagePickerController实现头像选择
  • isset在php5.6-和php7.0+的一些差异
  • Java知识点总结(JavaIO-打印流)
  • node学习系列之简单文件上传
  • PermissionScope Swift4 兼容问题
  • Python学习之路16-使用API
  • SQLServer之索引简介
  • Zepto.js源码学习之二
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 可能是历史上最全的CC0版权可以免费商用的图片网站
  • 嵌入式文件系统
  • 如何实现 font-size 的响应式
  • 体验javascript之美-第五课 匿名函数自执行和闭包是一回事儿吗?
  • 硬币翻转问题,区间操作
  • 如何用纯 CSS 创作一个货车 loader
  • 新年再起“裁员潮”,“钢铁侠”马斯克要一举裁掉SpaceX 600余名员工 ...
  • 整理一些计算机基础知识!
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • #数学建模# 线性规划问题的Matlab求解
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (Java)【深基9.例1】选举学生会
  • (转)LINQ之路
  • (转)ObjectiveC 深浅拷贝学习
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端
  • .NET Core跨平台微服务学习资源
  • .NET Core中Emit的使用
  • .net获取当前url各种属性(文件名、参数、域名 等)的方法
  • @Autowired和@Resource装配
  • [ vulhub漏洞复现篇 ] JBOSS AS 4.x以下反序列化远程代码执行漏洞CVE-2017-7504
  • [100天算法】-实现 strStr()(day 52)
  • [20160902]rm -rf的惨案.txt
  • [AIGC] 如何建立和优化你的工作流?
  • [C++]指针与结构体
  • [Contest20180313]灵大会议