zookeeper集群

zk 05之:ZooKeeper的配置

帅比萌擦擦* 提交于 2020-03-06 16:51:11
ZooKeeper 的功能特性通过 ZooKeeper 配置文件来进行控制管理( zoo.cfg 配置文件)。 ZooKeeper 这样的设计其实是有它自身的原因的。通过前面对 ZooKeeper 的配置可以看出,对 ZooKeeper 集群进行配置的时候,它的配置文档是完全相同的(对于集群伪分布模式来说,只有很少的部分是不同的)。这样的配置方使得在部署ZooKeeper 服务的时候非常地方便。另外,如果 服务器 使用不同的配置文件,必须要确保不同配置文件中的服务器列表相匹配。 在设置 ZooKeeper 配置文档的时候,某些参数是可选的,但是某些参数是必须的。这些必须的参数就构成了ZooKeeper 配置文档的最低配置要求。 下面是在最低配置要求中必须配置的参数: 1 )最低配置 clientPort 监听客户端连接的端口; dataDir 存储内存中 数据库 快照的位置; 注意 应该谨慎地选择日志存放的位置,使用专用的日志 存储设备 能够大大地提高系统的性能,如果将日志 存储 在比较繁忙的存储设备上,那么将会在很大程度上影响系统的性能。 tickTime 基本事件单元,以毫秒为单位。它用来控制心跳和超时,默认情况下最小的会话超时时间为两倍的 tickTime 。 2 )高级配置 下面是高级配置要求中可选的配置参数,用户可以使用下面的参数来更好地规定 ZooKeeper 的行为:

ZooKeeper学习第八期——ZooKeeper伸缩性

久未见 提交于 2020-03-06 16:50:04
ZooKeeper学习第一期---Zookeeper简单介绍 ZooKeeper学习第二期--ZooKeeper安装配置 ZooKeeper学习第三期---Zookeeper命令操作 ZooKeeper学习第四期---构建ZooKeeper应用 ZooKeeper学习第五期--ZooKeeper管理分布式环境中的数据 ZooKeeper学习第六期---ZooKeeper机制架构 ZooKeeper学习第七期--ZooKeeper一致性原理 ZooKeeper学习第八期——ZooKeeper伸缩性 一、Zookeeper的搭建方式 Zookeeper安装方式有三种, 单机模式 和 集群模式 以及 伪集群模式 。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现高可用性,只要集合体中半数以上的机器处于可用状态,它就能够保证服务继续。 为什么一定要超过半数呢 ?这跟Zookeeper的复制策略有关:zookeeper确保对znode 树的每一个修改都会被复制到集合体中超过半数的机器上。 1.1 Zookeeper的单机模式搭建 下载

Zookeeper集群之写请求处理流程

帅比萌擦擦* 提交于 2020-03-06 10:59:40
1. 前言 本编主要记录Zookeeper写请求处理的一些流程,涉及到过半机制,数据同步。 2. 处理流程 这里假设4台服务器,server1(Follower),server2(Leader),server3(Follower),server4(Observer)。 由于我们Zookeeper客户端对于服务端的任何一台服务都是可以进行连接的,有可能是连接的是Leader,或Follower,甚至是Observer。 这里若有一个客户端Client连接的是Observer,并写入数据。但是由于只有写请求只能交与Leader处理,所以若是连接到的是Follower,Observer,就会发生请求的转发到Leader。 接下来,Leader会想所有的Follower发送提议请求,不对Observer发送。Follower收到来自Leader的提议后,会返回ack响应。 Leader收到ack请求后,会采用过半机制,即发送出去的提议有一半以上的ack响应,则就会发送commit提交数据,同时也会向Observer提交commit。 整个写流程就是如此,这样就保证了每个写入请求都会成功的写入到集群中,若有新的服务器加入进来,也会对Leader进行数据同步,来达到集群中数据的一致性。 3. 为何不向Observer发送提议? 这个问题在Zookeeper单机和集群环境搭建中有提到过

入门大数据---Storm搭建与应用

空扰寡人 提交于 2020-03-06 03:57:38
目录 1. Storm在Linux环境配置 2.Storm本地运行 3.Storm在Linux集群上运行 1. Storm在Linux环境配置 主机名 tuge1 tuge2 tuge3 部署环境 Zookeeper/Nimbus Zookeeper/Supervisor Zookeeper/Supervisor ​ (部署一览图) 1.1 配置Zookeeper环境(三台机器都要配置,可以先配置一台,然后分发) 去官网下载 apache-zookeeper-3.5.5-bin.tar.gz ,然后上传到Linux的/opt/zookeeper目录下。(如果没有创建下。) 解压 tar -xvf apache-zookeeper-3.5.5-bin.tar.gz 配置环境 vim /etc/profile export ZK_HOME=/opt/zookeeper/apache-zookeeper-3.5.5-bin export PATH=$ZK_HOME/bin:$PATH 配置Zookeeper日志自动清理 通过配置 autopurge.snapRetainCount 和 autopurge.purgeInterval 这两个参数能够实现定时清理了。 这两个参数都是在zoo.cfg中配置的,将其前面的注释去掉,根据需要修改日志保留个数: autopurge

安装搭建ZooKeeper环境

妖精的绣舞 提交于 2020-03-05 20:21:39
ZooKeeper有三种安装模式:单机安装(standalone)、伪集群模式、集群模式: standalone模式:只在一台机器上安装ZooKeeper,并只启动一个ZooKeeper实例。 伪集群:在一台机器上开启多个ZooKeeper实例来模拟集群。通过加载不同配置文件,分配不同数据目录来实现这种模式。因为在同一机器上运行,所以机器宕机,整个ZooKeeper就挂了。基本上不会布置这样的ZooKeeper集群。 集群模式:在至少3台机器上安装ZooKeeper构成集群,只要故障节点数量在一定范围内就能保证ZooKeeper服务的可用性。 真正布置的基本上都是集群模式,standalone偶尔用来做些测试,它有单点故障,伪集群模式也有单点故障。 集群模式并非一定至少3台机器,但用2台机器比1台机器更危险,因为随便故障一台都无法满足"大多数"的要求,都会阻塞整个ZooKeeper服务。而2台机器的故障几率是1台机器的2倍。所以,也建议采用奇数台机器来部署ZooKeeper。 ZooKeeper下载:https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/stable/ 我下载的是3.4.14版本。 1.安装jdk ZooKeeper运行在java环境下,所以需要先安装jdk,且要求版本高于1.6。 jdk下载:http:/

Zookeeper集群搭建(简单)(29)

谁说我不能喝 提交于 2020-03-05 17:35:29
1 搭建zookeeper的集群 1.1 zookeeper集群要求至少3个节点(hadoop0,hadoop1,hadoop2)(第27章hadoop集群搭建),且是奇数个,且节点之间的时间要同步。 1.2 在hadoop0上对zookeeper.tar.gz进行复制,解压缩、重命名、设置环境变量. (1)复制zookeeper-3.4.tar.gz到/usr/local目录,然后进入到该目录 (2)执行命令tar -zxvf zookeeper-3.4.tar.gz进行解压缩 (3)重命名mv zookeeper-3.4 zookeeper 1.3 在hadoop0上进入zookeeper的conf目录 mv zoo_sample.cfg zoo.cfg 1.4 在hadoop0上进入/usr/local/zookeeper/conf目录下,进行编辑文件zoo.cfg, 修改dataDir=/tmp/zookeeper 改成data=/usr/local/zookeeper/data 新增以下三行: server.0=hadoop0:2888:3888 server.1=hadoop1:2888:3888 server.2=hadoop2:2888:3888 在hadoop0上创建文件夹,执行命令mkdir -p /usr/local/zookeeper/data 1.5

Zookeeper集群之Leader选举

北城余情 提交于 2020-03-05 16:58:07
1. 前言 在Zookeeper集群环境中,不同机器中的数据一致性是很重要的一环,要保证数据的一致性,Leader选举必不可少。 ①. 在哪些情况下会触发Leader选举 服务器启动的时候 在运行期间,Leader挂掉的时候。 2. 服务器启动期间的选举 Leader选举的时候,必须要在两台服务器以上,我们以三台为例,分别是server1,server2,server3。 这时先启动server1,由于只有一台服务器启动,不能满足选举,所以不会进行Leader的选举。接着启动server2,这两台服务器之间就开始通信,于是就开始了Leader的选举。 ①. 每个server都会发出投票 初始情况下,server1,server2都会将自己作为Leader来进行选举,并向其他服务器发送自己的投票,每次投票都会包含自己投票机器的myid和zxid,[myid,zxid],假设server1此时的投票信息为[1,123],server2此时的投票信息为[2,123]。然后他们各自将自己的投票信息发送给其他服务器。 ②. 接收来自其他服务器的投票,并检查 接收到来自其他服务器的投票后,先判断投票的有效性,检查zxid,判断是否是本轮投票,判断是否来自looking服务器的投票(looking是正在试图选举出一个leader的状态)。 ③. 处理投票,与自己投票进行pk 集群中

Kafka集成SpringBoot

爱⌒轻易说出口 提交于 2020-03-04 07:33:50
Kafka的安装与部署 安装配置zookeeper 在zookeeper官网下载安装包 wget https: / / mirrors . tuna . tsinghua . edu . cn / apache / zookeeper / zookeeper - 3 . 5 . 6 / apache - zookeeper - 3 . 5 . 6 - bin . tar . gz 解压到安装目录 tar - xzvf apache - zookeeper - 3 . 5 . 6 - bin . tar . gz mv apache - zookeeper - 3 . 5 . 6 - bin zookeeper - 3 . 5 . 6 基础配置 在zookeeper-3.5.6目录下创建数据存放目录和日志存放目录 mkdir data logs 将zookeeper-3.5.6/conf下的zoo_sample.cfg修改为zoo.cfg,添加以下配置信息 dataDir= / opt / zookeeper - 3 . 5 . 6 / data dataLogDir= / opt / zookeeper - 3 . 5 . 6 / logs 启动zookeeper nohup sh zkServer . sh & 安装kafaka 注:需要先安装配置好对应的scala版本 下载安装

4_Zookeeper实战

非 Y 不嫁゛ 提交于 2020-03-03 18:10:53
4.1 分布式 安装部署 三台服务器相同的方法,只是数字不同 ,(因为同步的脚本没能实现同步所以手动部署三台机器) 1.集群规划 在hadoop102、hadoop103和hadoop104三个节点上部署Zookeeper。 2.解压安装 (1)解压Zookeeper安装包到/opt/module/目录下 [root@hadoop102 software]$ tar -zxvf zookeeper-3.4.10.tar.gz -C /opt/module/ (2)同步/opt/module/zookeeper-3.4.10目录内容到hadoop103、hadoop104 [root@hadoop102 module]$ xsync zookeeper-3.4.10/ 同步脚本功能后续添加测试, 3.配置服务器编号 (1)在/opt/module/zookeeper-3.4.10/这个目录下创建zkData [root@hadoop102 zookeeper-3.4.10]$ mkdir -p zkData (2)在/opt/module/zookeeper-3.4.10/zkData目录下创建一个myid的文件 [root@hadoop102 zkData]$ touch myid 添加myid文件,注意一定要在linux里面创建,在notepad++里面很可能乱码 (3

2_Zookeeper安装

六月ゝ 毕业季﹏ 提交于 2020-03-03 16:34:58
2.1 Linux 环境安装部署 1.安装前准备 1.1安装JDK 1.jdk解压到/opt目录下 2.配置环境变量 vim/etc/profile JAVA_HOME=/opt/jdk_xxx PATH=JAVA_HOME/bin;$PATH export JAVA_HOME PATH 按Esc 输入 :wq! 保存退出后 3.source /etc/profile 1.2 拷贝Zookeeper安装包到Linux系统下 1.3 解压到指定目录 $ tar -zxvf zookeeper-3.4.10.tar.gz -C /opt/module/ 2.配置修改 (1)将/opt/module/zookeeper-3.4.10/conf这个路径下的zoo_sample.cfg修改为zoo.cfg; 进入到目录 /opt/module/zookeeper-3.4.10/conf 在此路径下输入命令 mv zoo_sample.cfg zoo.cfg (2)打开zoo.cfg文件,修改dataDir路径: dataDir=/opt/module/zookeeper-3.4.10/zkData (3)在/opt/module/zookeeper-3.4.10/这个目录上创建zkData文件夹 mkdir zkData 其他的参数也可以修改,更多的参数修改,自行查找资料 3