Linux上Zookeeper集群搭建
一、官网
二、下载安装
(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/
-
-
[root@iz2zebb7s8ui8b5mmag51xz ~]# echo 1 > /usr/data/zookeeper/zk1/myid
-
[root@iz2zebb7s8ui8b5mmag51xz ~]# echo 2 > /usr/data/zookeeper/zk2/myid
-
[root@iz2zebb7s8ui8b5mmag51xz ~]# echo 3 > /usr/data/zookeeper/zk3/myid
-
[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集群搭建的更多相关文章
- Linux下zookeeper集群搭建
Linux下zookeeper集群搭建 部署前准备 下载zookeeper的安装包 http://zookeeper.apache.org/releases.html 我下载的版本是zookeeper ...
- Linux centos7 zookeeper集群搭建
Zookeeper集群搭建 描述:本章节主要单服务器搭建集群,在一个服务器上启动多个不同端口的zookeeper服务,非真实环境. 真实环境下zookeeper集群会搭建在多个物理服务器上,并非单一的 ...
- 分布式协调服务Zookeeper集群搭建
分布式协调服务Zookeeper集群搭建 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.安装jdk环境 1>.操作环境 [root@node101.yinzhengjie ...
- Kafka学习之(五)搭建kafka集群之Zookeeper集群搭建
Zookeeper是一种在分布式系统中被广泛用来作为:分布式状态管理.分布式协调管理.分布式配置管理.和分布式锁服务的集群.kafka增加和减少服务器都会在Zookeeper节点上触发相应的事件kaf ...
- zookeeper集群搭建及常用场景实现
本文完整源码地址 基于zookeeper的常用用法.分布式锁.分布式队列及leader选举实现 https://github.com/killianxu/zookeeper_example zooke ...
- java 学习笔记(三)ZooKeeper集群搭建实例,以及集成dubbo时的配置 (转)
ZooKeeper集群搭建实例,以及集成dubbo时的配置 zookeeper是什么: Zookeeper,一种分布式应用的协作服务,是Google的Chubby一个开源的实现,是Hadoop的分布式 ...
- Zookeeper集群搭建及原理
1 概述 1.1 简介 ZooKeeper 是 Apache 的一个顶级项目,为分布式应用提供高效.高可用的分布式协调服务,提供了诸如数据发布/订阅.负载均衡.命名服务.分布式协调/通知和分布式锁等分 ...
- 分布式架构中一致性解决方案——Zookeeper集群搭建
当我们的项目在不知不觉中做大了之后,各种问题就出来了,真jb头疼,比如性能,业务系统的并行计算的一致性协调问题,比如分布式架构的事务问题, 我们需要多台机器共同commit事务,经典的案例当然是银行转 ...
- kafka学习(二)-zookeeper集群搭建
zookeeper概念 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名 服务等.Zookeeper是h ...
随机推荐
- 2017final英文语句格式简单检查
英文书写中,句首字母通常为大写,其余为小写,单词"I"除外,单词与单词之间用一个空格隔开,句中用","断句,句末用"."结束,", ...
- Python如何格式化输出
目录 Python中的格式化输出 1.旧格式化 2.新格式format( ) 函数 Python中的格式化输出 格式化输出就是将字符串中的某些内容替换掉再输出就是格式化输出 旧格式化输出常用的有%d( ...
- SpringCloud 2020.0.4 系列之 Stream 消息出错重试 与 死信队列 的实现
1. 概述 老话说的好:出错不怕,怕的是出了错,却不去改正.如果屡次出错,无法改对,就先记下了,然后找援军解决. 言归正传,今天来聊一下 Stream 组件的 出错重试 和 死信队列. RabbitM ...
- AnnotationConfigApplicationContext(1)之初始化Scanner和Reader
AnnotationConfigApplicationContext(1)初始化Scanner和Reader 我们以AnnotationConfigApplicationContext为起点来探究Sp ...
- [cf878D]Magic Breeding
对于每一行,用一个2^12个01来表示,其中这一行就是其中所有为1的点所代表的行(i二进制中包含的行)的max的min,然后就可以支持取max和min了,查询只需要枚举答案即可 1 #include& ...
- vue3 + vite实现异步组件和路由懒加载
在 Vue2 中,异步组件和路由懒加载处理使用 import 就可以很轻松实现.但是在Vue 3.x 中异步组件的使用与 Vue 2.x 完全不同了.本文就详细讲讲vue3中异步组件和路由懒加载的实现 ...
- 【Mysql】深入理解 MVCC 多版本并发控制
MVCC MVCC(Multi-Version Concurrency Control),即多版本并发控制.是 innodb 实现事务并发与回滚的重要功能.锁机制可以控制并发操作,但是其系统开销较大, ...
- .NET Core基础篇之:依赖注入DependencyInjection
依赖注入已经不是什么新鲜话题了,在.NET Framework时期就已经出现了各种依赖注入框架,比如:autofac.unity等.只是在.net core微软将它搬上了台面,不用再依赖第三方组件(那 ...
- c++基础知识-数据类型
1.每次新建项都可需写内容 #include <iostream> using namespace std; int main() //main函数有且只有一个 { system(&quo ...
- Pollard-Rho 算法
Pollard-Rho 一种复杂度大概在 $ O(n^{\frac 1 4} \log n) $ 的分解质因数方法. Miller-Rabin 给定一个 $ 10^{18} $ 范围的数,判断质数 由 ...