一、官网

https://zookeeper.apache.org/

二、下载安装

(1)下载

复制链接地址  http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz

linux中执行

wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz

(2)安装与解压

tar -zxvf zookeeper-3.4.14.tar.gz  -C /opt/apps/

结果如下

(3)复制实例

防止出问题,我们复制一份

cp ./zookeeper-3.4.14/ zookeeper1 -r

(4)复制配置文件

复制Zookeeper安装目录下的conf目录中的zoo_sample.cfg文件,并命名为zoo.cfg

cp ./zookeeper/conf/zoo_sample.cfg  zoo.cfg

(5)修改配置文件

说明:

  • 等号左边的“server.数字”,表示要设置第几个zkServer节点。数字一般从1开始计数,依次加1。
  • 等号右边的第一段,表示该zkServer节点的主机,可以是主机名,也可以是主机IP
  • 等号右边的第二段,表示连接端口号。即其它zkServer与当前主机连接的端口号。每台主机的连接端口号可以任意设置,且可不一样。
  • 等号右边的第三段,表示选举端口号。若当前的Leader宕机,各个Follower需要选举新的Leader,这些Follower之间为了选举而相互联系,就使用该端口号。每台主机的选举端口号可以任意设置,且可不一样。
  • 在第四台Server后添加了observer,用于指定其在集群中将以Observer的身份出现

(6)创建myid文件

myid的值与zoo.cfg中指定的主机编号相同。

先创建目录

mkdir -p /usr/data/zookeeper/zk1/


  1. [root@iz2zebb7s8ui8b5mmag51xz ~]# echo 1 > /usr/data/zookeeper/zk1/myid
  2. [root@iz2zebb7s8ui8b5mmag51xz ~]# echo 2 > /usr/data/zookeeper/zk2/myid
  3. [root@iz2zebb7s8ui8b5mmag51xz ~]# echo 3 > /usr/data/zookeeper/zk3/myid
  4. [root@iz2zebb7s8ui8b5mmag51xz ~]# echo 4 > /usr/data/zookeeper/zk4/myid

(7)第四台主机配置额外配置

第四台主机即为要作Observer的主机,除了要完成以上配置,修改myid为4外,还需要修改zoo.conf文件:添加peerType=observer。用于指定当前Server即为Observer。

三、操作Zookeeper

(1)启动

进入用户当前目录

依次启动服务器

./zookeeper1/bin/zkServer.sh start ./zookeeper1/conf/zoo.cfg

./zookeeper2/bin/zkServer.sh start ./zookeeper2/conf/zoo.cfg

./zookeeper3/bin/zkServer.sh start ./zookeeper3/conf/zoo.cfg

./zookeeper4/bin/zkServer.sh start ./zookeeper4/conf/zoo.cfg

(2)查看状态

./zookeeper1/bin/zkServer.sh status ./zookeeper1/conf/zoo.cfg

./zookeeper2/bin/zkServer.sh status  ./zookeeper2/conf/zoo.cfg

./zookeeper3/bin/zkServer.sh status  ./zookeeper3/conf/zoo.cfg

./zookeeper4/bin/zkServer.sh status ./zookeeper4/conf/zoo.cfg

(3)停止

./zookeeper1/bin/zkServer.sh stop ./zookeeper1/conf/zoo.cfg

./zookeeper2/bin/zkServer.sh stop  ./zookeeper2/conf/zoo.cfg

./zookeeper3/bin/zkServer.sh stop  ./zookeeper3/conf/zoo.cfg

./zookeeper4/bin/zkServer.sh stop ./zookeeper4/conf/zoo.cfg

四、安装出现的问题

问题1

因本人在阿里云服务器上操作,服务启动查看不了状态,提示连接不上。

原因:在阿里云服务器安全组需要设置入方向的端口设置

问题2

zoo.conf 中的IP进行配置时候,不要配置成公网Ip,专有网络这样是没办法链接的!

必须在不同的服务器上把对应本地的那个公网Ip改成0.0.0.0

Linux上Zookeeper集群搭建的更多相关文章

  1. Linux下zookeeper集群搭建

    Linux下zookeeper集群搭建 部署前准备 下载zookeeper的安装包 http://zookeeper.apache.org/releases.html 我下载的版本是zookeeper ...

  2. Linux centos7 zookeeper集群搭建

    Zookeeper集群搭建 描述:本章节主要单服务器搭建集群,在一个服务器上启动多个不同端口的zookeeper服务,非真实环境. 真实环境下zookeeper集群会搭建在多个物理服务器上,并非单一的 ...

  3. 分布式协调服务Zookeeper集群搭建

    分布式协调服务Zookeeper集群搭建 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.安装jdk环境 1>.操作环境 [root@node101.yinzhengjie ...

  4. Kafka学习之(五)搭建kafka集群之Zookeeper集群搭建

    Zookeeper是一种在分布式系统中被广泛用来作为:分布式状态管理.分布式协调管理.分布式配置管理.和分布式锁服务的集群.kafka增加和减少服务器都会在Zookeeper节点上触发相应的事件kaf ...

  5. zookeeper集群搭建及常用场景实现

    本文完整源码地址 基于zookeeper的常用用法.分布式锁.分布式队列及leader选举实现 https://github.com/killianxu/zookeeper_example zooke ...

  6. java 学习笔记(三)ZooKeeper集群搭建实例,以及集成dubbo时的配置 (转)

    ZooKeeper集群搭建实例,以及集成dubbo时的配置 zookeeper是什么: Zookeeper,一种分布式应用的协作服务,是Google的Chubby一个开源的实现,是Hadoop的分布式 ...

  7. Zookeeper集群搭建及原理

    1 概述 1.1 简介 ZooKeeper 是 Apache 的一个顶级项目,为分布式应用提供高效.高可用的分布式协调服务,提供了诸如数据发布/订阅.负载均衡.命名服务.分布式协调/通知和分布式锁等分 ...

  8. 分布式架构中一致性解决方案——Zookeeper集群搭建

    当我们的项目在不知不觉中做大了之后,各种问题就出来了,真jb头疼,比如性能,业务系统的并行计算的一致性协调问题,比如分布式架构的事务问题, 我们需要多台机器共同commit事务,经典的案例当然是银行转 ...

  9. kafka学习(二)-zookeeper集群搭建

    zookeeper概念 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名 服务等.Zookeeper是h ...

随机推荐

  1. webpack 打包html文件

    webpack 打包html文件 webpack.config.js配置文件内容为: /** * loader: 1. 下载 2. 使用(配置) * plugins:1. 下载 2. 引入 3.使用 ...

  2. 动手写一个简单的Web框架(Werkzeug路由问题)

    动手写一个简单的Web框架(Werkzeug路由问题) 继承上一篇博客,实现了HelloWorld,但是这并不是一个Web框架,只是自己手写的一个程序,别人是无法通过自己定义路由和返回文本,来使用的, ...

  3. 【JAVA】笔记(8)--- java.lang.String 精讲

    String 特性: 1.String 表示字符串类型,属于引用数据类型,所以其储存的是地址: 2.java 中规定,双引号括起来的字符串是不可变的,也就说" name "永远也只 ...

  4. linux 系统ssh超时设置

    1.修改client端的etc/ssh/ssh_config添加以下:(在没有权限改server配置的情形下) ServerAliveInterval 60 #client每隔60秒发送一次请求给se ...

  5. 微信小程序的优点(水一篇)

    - 快速的加载 - 更强大的能力 - 原生的体验 - 易用且安全的微信数据开放 - 高效和简单的开发 摘自微信官方文档 https://developers.weixin.qq.com/minipro ...

  6. 一个非常好用的IDEA插件,用于填充set

    对于对接三方接口总有一堆字段参数,如在入参时需要赋值,将请求参数封装成一个pojo实体类,然后需要为其set,调用许多setter方法,如果一行行去编写很麻烦,...能不能节省一下我仅存的生产力呀.. ...

  7. Ubuntu 18.04 WMware 编译 AOSP android-7.1.2_r33 笔记

    0 前言 问:都快2022年了,为什么还要编译 android 7.1.2 ? 答:某脱壳机特征修改或移植到其他机型(此处省略1000字...) 笔者在编译之前并没有加入专有二进制文件(后续加入了再补 ...

  8. Codeforces 375C - Circling Round Treasures(状压 dp+最短路转移)

    题面传送门 注意到这题中宝藏 \(+\) 炸弹个数最多只有 \(8\) 个,故考虑状压,设 \(dp[x][y][S]\) 表示当前坐标为 \((x,y)\),有且仅有 \(S\) 当中的物品被包围在 ...

  9. P7327 Dream and Discs

    题目传送门. 题意简述:有 \(n\) 个数 \(a_1,a_2,\cdots a_n\),等概率选取区间 \(P_1,S_1\subseteq [1,n]\),\(P_2\subseteq P_1\ ...

  10. msql_5.6.46编译问题

    初始化数据库的时候, 使用mysql_install_db 必须是再mysql安装的目录下用相对路径去进行初始化 CentOs6.9必须先把/etc/my.cnf 先改为其他名字,之后再把安装目录下s ...