shell & zookeeper

shell & zookeeper

局部变量

#!/bin/hash
str = "hello"
echo ${str}world

环境变量,系统已经定义好的变量

运算符
注意是否留空格很重要

#!/bin/hash
a=1;
b=2;
echo `expr $a + $b`;
echo $((a+b));
echo $[a+b];

然后在做乘法的时候要加

/*

for循环的写法

#!/bin/hash
for N in 1 2 3
do
	echo $N
done

zookeeper的官方定义是,管理分布式系统中一致性的问题

翻译成大白话就是,现在有3个进程在3台主机上,与java里面3个进程在1台主机上不同(因为java直接用锁就可以解决3个进程同时进行的问题,锁住期中两个进程,进行另外一个进程)。
但是如果是3台主机分别有3个进程,那么网络问题如何控制?这里就要引入zookeeper。

Zookeeper 里面有3个角色
Leader - 主要执行写操作,并把写好的东西转发给别人
follower- 主要执行读操作
observer -主要执行读操作

有两种模式:

  1. 推模式- 主动将数据更新发给订阅用户
  2. 拉模式- 获取数据

在这里插入图片描述

心跳检测:
检查不同机器之间是否能正常工作

在这里插入图片描述

Leader 选举

服务器启动的时候选leader

  1. 每个sever发出一个投票
    myid- 越大越好,相当于投票的编号
    ZXID- 事务编号,这个值越大代表这个事务越新

sever上来会先给自己投一票

  1. sever接受每个人给它的投票

  2. 处理投票- 服务器会对票进行pk

    首先投票数要过半
    先查ZXID- 比较大的话,选为leader
    再查myid

在这里插入图片描述

在这里插入图片描述

Zookeeper 的 watcher机制

  1. 发布和订阅
  2. 监控集群中主机的存活状态
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值