ELK+zookeeper+kafka+filebeat集群

zookeeper

读多写少的场景所设计  并不是存储大规模业务数据

而是用于存储少量的状态和 配置信息,每个节点存储数据不能超过1MB

数据存储基于节点 znode(包含数据子节点 子节点引用 访问权限)

Zookeeper service 一主多从结构:

更新数据时 首先更新到主节点 (主节点是服务器)

leader:事务请求的调度处理者 负责投票的发起和决议   处理写请求 保证集群事务处理的顺序性

follower:转发事务请求给leader 参与投票 参与leader选举投票

observer:不参与投票 同步leader状态 目的是扩展系统 提高读取速度

client:执行读写请求的发起方

ZAB协议: 为了保证主从节点数据一致 采用ZAB协议

ZAB的三种节点状态:

looking:选举状态

following:从节点所处状态

leading:主机所处状态

崩溃恢复:zookeeper当前的主节点挂掉  集群就会进行 崩溃恢复

ZAB的崩溃恢复分为三个阶段:

1.leader election:选举阶段

2.discovery:发现阶段

3.synchornization:同步阶段

Zab 协议既不是强一致性 也不是弱一致性 而是处于两者之间的单调一致性  他依靠事务id和版本号 保证数据的更新和读取是有序的 。

zookeeper应用场景:

1.分布式锁:利用zookeeper的临时顺序节点 可以轻松实现分布式锁

2.服务器注册和发现:利用znode和watcher 可以实现分布式服务的注册和发现 阿里的分布式RPC框架和Dubbo

3.共享配置和状态信息:redis的分布式解决codis 就利用zookeeper 来存放 数据路由表和codis-proxy 节点的元信息  通过zookeeper同步到各个存活的的codis-proxy 此外,Kafka Hbase Hadoop 也都依靠zookeeper同步节点信息 是实现高可用。

zookeeper工作模式:

单机  集群 伪集群(就是在一台物理机上运行多个Zookeeper 实例)

集群模式:

实验环境:(搭建elk平台的Kafka集群 本节先部署zookeeper)

IP                                                    sever                            myid

192.168.42.101                    kafka+zookeeper               1

192.168.42.102                    kafka+zookeeper               2

192.168.42.103                     kafka+zookeeper              3

zk服务器集群规模不得小于3个节点

要求各个服务器之间的系统时间保持一致。

zookeeper集群安装:

1.在三个节点解压程序  创建 数据库目录 安装jdk:

#创建zookeeper存放目录及数据库目录:

mkdir -p /opt/zookeeper/data

#解压程序:

tar -xf zookeeper-3.4.14.tar.gz -C /opt/zookeeper/

#安装JDK(如果已经安装过,可以跳过)

rpm -ivh jdk-8u45-linux-x64.rpm

echo -e 'export JAVA_HOME=/usr/java/jdk1.8.0_45\nexport CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSP

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王盐盐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值