zookeeper单机伪集群集群部署

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,118元/月
云原生网关 MSE Higress,422元/月
简介: zookeeper单机伪集群集群部署

#zookeeper是啥?角色?

我们可以把Zookeeper理解为一个精简的文件系统(和Linux文件系统结构非常相似),其每一个节点称为znode,znode下可以存放子节点,

也可以直接对节点进行赋值存值。

Zookeeper被应用与一些集群上,提高集群的高可用。它可以帮助你避免单点故障,使你的系统更加可靠。

Zookeeper的集群我们可以通俗的理解为,一个有Leader的团队,团队中各个成员的数据都是一致的。团队中的Leader采用选举算法推举,

所以可以保证在Leader出现问题的时候,又会选举出新的Leader。(fast paxos 选举算法大家可以深入了解下)

Zookeeper使用路径来描述节点,节点可以被看做是一个目录,也可以被看做是一个文件,它同时具有两者的特点。

Zookeeper的Watch机制也是它的最大被应用的原因。当我们有很多客户端连接到Zookeeper时,当被设置了Watch的数据发生了改变的时候,

则服务器将这个改变发送给设置了Watch的客户端,通知它们。所以我们经常用它来做业务系统的统一配置管理。使用zk的Watch要特别注意一点就是它的“一次性触发器”(最后的Java例子中有模拟这点)。

###########################  以上就是网上的回答有更好的答案可以继续  ############################

#linux 下  zookeeper搭建集群 准备3台机器或者一台不同端口搭建为集群。

前提是本机有安装jdk

1。

# zookeeper 配置一下环境变量(此步骤的目的是:每次启动服务就不需要定位到Zookeeper的bin目录了)可以不用配置。

vim /etc/profile  添加一下内容位置随便。

export ZK_HOME=/usr/local/zookeeper-3.4.11

export PATH=$ZK_HOME/bin:$PATH

配置完重新生效一下文件

source /etc/profile

#解压后 配置Zookeeper的配置文件(按照以下命令来错不了)

cd conf (Zookeeper 下的conf目录)

mv zoo_sample.cfg zoo.cfg

vim zoo.cfg

# zoo.cfg 添加以下内容

dataDir=/usr/local/zookeeper-3.4.11/data  (根据自己的需要修改)

server.0=192.168.192.128:2888:3888

server.1=192.168.192.129:2888:3888

server.2=192.168.192.130:2888:3888

解释一下上面的配置约定

server.X=A:B:C

X-代表服务器编号

A-代表ip

B-代表 心跳端口

C-代表端口,数据端口这个端口用来系统之间通信

#注意出错后出错后一点要查看zookeeper.out文件,进行错误排查,这样才能知道自己到底出的是什么错误,好对症下药。

#根据zoo.cfg 中的配置的 server 来配置吧。

mkdir data (zoo.cfg 中配置的 dataDir中data的路径在哪里就把data配置到哪里)

在data中创建myid文件

vi myid  (这个命令是没有文件就创建,有文件就编辑所有骚年不要困惑。)

写 0  1  2

有个命令可以直接写入骚年我忘记了有机会自己补上吧。

#这个1是和上面zoo.cfg配置下面的server对应的,好像是必须从1开始.0开始的时候我也出问题了。

#集群模式

#集群模式的配置和伪集群基本一致.

由于集群模式下, 各server部署在不同的机器上, 因此各server的conf/zoo.cfg文件可以完全一样.

#下面是一个示例:

tickTime=2000    

initLimit=5    

syncLimit=2    

dataDir=/home/zookeeper/data  

-- 日志

dataLogDir=/home/zookeeper/logs    

clientPort=4180  

server.43=10.1.39.43:2888:3888  

server.47=10.1.39.47:2888:3888    

server.48=10.1.39.48:2888:3888  

示例中部署了3台zookeeperserver, 分别部署在

10.1.39.43,

10.1.39.47,

10.1.39.48上. 需要注意的是,

各server的dataDir目录下的myid文件中的数字必须不同.

10.1.39.43server的myid为43,

10.1.39.47server的myid为47,

10.1.39.48server的myid为48.

分别进入/Users/apple/zookeeper0/bin,

/Users/apple/zookeeper1/bin,

/Users/apple/zookeeper2/bin三个目录,

 启动server.

 

#现在就配置好记得更新文件,关闭防火墙。

zkServer.sh start  启动

zkServer.sh status  状态

zkServer.sh start-foreground  查看运行过程

#启动客户端:

bin/zkCli.sh -server localhost:4180  (这个是自定义端口)

./zkCli.sh -server localhost:2181

# java 操作zookeeper  这个包中的是可以操作的 com.liupei.zookeeper.other;

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
1月前
|
分布式计算 Java Hadoop
Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
62 1
|
1月前
|
分布式计算 监控 Hadoop
Hadoop-29 ZooKeeper集群 Watcher机制 工作原理 与 ZK基本命令 测试集群效果 3台公网云服务器
Hadoop-29 ZooKeeper集群 Watcher机制 工作原理 与 ZK基本命令 测试集群效果 3台公网云服务器
39 1
|
1月前
|
分布式计算 Hadoop Unix
Hadoop-28 ZooKeeper集群 ZNode简介概念和测试 数据结构与监听机制 持久性节点 持久顺序节点 事务ID Watcher机制
Hadoop-28 ZooKeeper集群 ZNode简介概念和测试 数据结构与监听机制 持久性节点 持久顺序节点 事务ID Watcher机制
42 1
|
1月前
|
分布式计算 Hadoop
Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
47 1
|
1月前
|
存储 SQL 消息中间件
Hadoop-26 ZooKeeper集群 3台云服务器 基础概念简介与环境的配置使用 架构组成 分布式协调框架 Leader Follower Observer
Hadoop-26 ZooKeeper集群 3台云服务器 基础概念简介与环境的配置使用 架构组成 分布式协调框架 Leader Follower Observer
47 0
|
4月前
|
存储 数据库
zookeeper 集群环境搭建及集群选举及数据同步机制
zookeeper 集群环境搭建及集群选举及数据同步机制
72 2
|
3月前
|
开发工具
部署安装zookeeper集群
部署安装zookeeper集群
|
5月前
|
Java 网络安全
分布式系统详解--框架(Zookeeper-简介和集群搭建)
分布式系统详解--框架(Zookeeper-简介和集群搭建)
128 0
|
6月前
|
存储 Java 网络安全
ZooKeeper【搭建 03】apache-zookeeper-3.6.0 伪集群版(一台服务器实现三个节点的ZooKeeper集群)
【4月更文挑战第10天】ZooKeeper【搭建 03】apache-zookeeper-3.6.0 伪集群版(一台服务器实现三个节点的ZooKeeper集群)
79 1
|
6月前
|
架构师 Shell Apache
Zookeeper集群搭建
Zookeeper集群搭建