首页 > 系统相关 >第二周 shell脚本以及Zookeeper基本知识

第二周 shell脚本以及Zookeeper基本知识

时间:2023-01-10 01:33:05浏览次数:53  
标签:shell 双引号 基本知识 Follower Zookeeper 集群 Leader

1.shell脚本编程  

shell中有3种变量:用户变量、环境变量、特殊变量;变量的使用最好就是使用双引号括起来。

变量需要遵循的规则:

变量名可以由字母、数字和下画线组成,但是不能以数字开头。 变量的默认类型都是字符串型,如果要进行数值运算,则必须使用特殊命令。变量用等号"="连接值,"="左右两侧不能有空格。变量值中如果有空格,则需要使用单引号或双引号包含,如 test="hello world!"。双引号括起 来的内容"$"和反引号者都拥有特殊含义,而单引号括起来的内容都是普通字符。

 

常见的环境变量:

 

PATH 决定了shell将到哪些目录中寻找命令或程序 

 

HOME 当前用户主目录 

 

HISTSIZE 历史记录数 

 

LOGNAME 当前用户的登录名 

 

HOSTNAME 指主机的名称 

 

SHELL 当前用户Shell类型 

 

LANGUGE  语言相关的环境变量,多语言可以修改此环境变量 

 

MAIL 当前用户的邮件存放目录 

 

PS1 基本提示符,对于root用户是#,对于普通用户是$

 

$* 与 $@ 区别:

 

相同点:都是引用所有参数。

 

不同点:只有在双引号中体现出来。假设在脚本运行时写了三个参数 1、2、3,,则 " $* " 等价于 "1 2 3"(传递了一个参数),而 "$@" 等价于 "1" "2" "3"(传递了三个参数)。

 

字符串也用双引号。拼接字符串      用双引号就对了

shell编程的计算与普通语言的计算方式一样:

 

运算符

说明

举例

+

加法

`expr $a + $b` 结果为 30。

-

减法

`expr $a - $b` 结果为 -10。

*

乘法

`expr $a \* $b` 结果为 200。

/

除法

`expr $b / $a` 结果为 2。

%

取余

`expr $b % $a` 结果为 0。

=

赋值

a=$b 将把变量 b 的值赋给 a。

==

相等。用于比较两个数字,相同则返回 true。

[ a == b ] 返回 false。

!=

不相等。用于比较两个数字,不相同则返回 true。

[ a != b ] 返回 true。

 

语句判断与其他语句判断的形式相同;

函数的调用也与Java c++等相同;所有函数在使用前必须定义。这意味着必须将函数放在脚本开始部分,直至shell解释器首次发现它时,才可以使用。调用函数仅使用其函数名即可。

调用函数时可以向其传递参数。在函数体内部,通过 的形式来获取参数的值,例如,1表示第一个参数,$2表示第二个参数...

使用数组的方式也是索引;

2.Zookeeper基本知识

1)Zookeeper框架的作用以及地位:

 

1、Zookeeper是作为大数据生态圈框架中非常重要的一员

 

2、Zookeeper单独使用没有意义,主要是用来管理其他框架,被称为动物管理员

 

3、后期Hadoop的高可用框架、Kafka都需要依赖Zookeeper

2)Zookeeper的概述:

1、Zookeeper本身是一个分布式集群

2、Zookeeper是协调服务框架,用来协调其他框架,让其他框架能够和睦的正常的工作

3、Zookeeper本身可以看做是一个数据库,是可以存数据的,一般存储的都是配置信息\

4、Zookeeper集群满足过半机制,最坏情况下只有有超过一半的机器在工作,这个集群就能正常运转

3)Zookeeper的他特点

1、全局数据一致性,ZK中只要有一个服务器有数据,其他的主机会跟着进行数据同步,所有主机的数据都完全一样,不会出现有的主机有数据,有的主机没有数据

2、顺序性:某一台主机比如创建了两个节点,创建顺序是A,B,其他的主机创建顺序也一定是A,B

3、时效性:在ZK集群创建节点这个过程所消耗的时间是近乎实时的

4)Zookeeper集群的角色 

+ Leader

  1、集群的管理者,管理集群

  2、Leader既可以处理写请求(事务操作),也处理读请求(非事务操作)

+ Follower(正式工)

  1、集群的从角色

  2、Follower只能处理读请求(非事务操作),如果收到客户端的写请求,则必须转发给Leader

  3、各个Follower要不断的给Leader发送心跳包,告知其状态

  4、如果Leader挂掉,则会从剩余的Follower中重新选举出新的Leader,有投票权

+ Observer(临时工、外包工)

  Oberser除了不能选举新Leader之外,和Follower没有任何区别,类似被剥夺政治权利

 

 

 

 

标签:shell,双引号,基本知识,Follower,Zookeeper,集群,Leader
From: https://www.cnblogs.com/kaiserchu/p/17038975.html

相关文章