Hadoop-26 ZooKeeper集群 3台云服务器 基础概念简介与环境的配置使用 架构组成 分布式协调框架 Leader Follower Observer

简介: Hadoop-26 ZooKeeper集群 3台云服务器 基础概念简介与环境的配置使用 架构组成 分布式协调框架 Leader Follower Observer

章节内容

上节我们顺利完成了:


Sqoop CDC ChangeDataCapture 差量数据捕获

CDC的几种类型 侵入式和非侵入式

Sqoop 数据差量更新导入 从 MySQL 到 Hive

Sqoop目前就算告一段落了,接下来我们将开始 ZooKeeper!!!


背景介绍

这里是三台公网云服务器,每台 2C4G,搭建一个Hadoop的学习环境,供我学习。

之前已经在 VM 虚拟机上搭建过一次,但是没留下笔记,这次趁着前几天薅羊毛的3台机器,赶紧尝试在公网上搭建体验一下。


2C4G 编号 h121

2C4G 编号 h122

2C2G 编号 h123

ZooKeeper简介

ZooKeeper 是一个分布式协调服务的开源框架。主要用于解决分布式集群中应用系统的一致性问题,例如怎么避免同时操作同一数据造成脏数据的问题。

分布式系统中数据存在一致性的问题!


ZooKeeper 本质上是一个分布式的小文件存储系统。提供基于类似于文件系统的目录树方式的数据存储,并且可以对树中的节点进行有效管理。

ZooKeeper 提供客户端监控存储在ZK内部数据的功能,从而可以达到基于数据的集群管理。诸如:统一命名服务(Dubbo)、分布式配置管理(Solr)、分布式消息队列(Sub/Pub)、分布式锁、分布式协调等功能。

架构组成

我们也将进行集群的搭建集群模式


h121 节点

h122 节点

h123 节点

Leader

ZooKeeper 集群工作的核心角色

集群内部各个服务器的调度者

事务请求(写操作)的唯一调度和处理者,保证集群事务处理的顺序性,对于 create,setData、delete 等有写操作的请求,则需要统一转发给 leader 处理。

Follower

处理客户端非事务(读操作)请求

转发事务请求给 Leader

参与集群 Leader 选择股票 2n-1 台可新增观察者角色

Observer

观察者角色,观察 ZooKeeper 集群的最新状态变化并将这些状态同步过来,其对于非事务请求可以进行独立处理,对于事务请求,则会转发给 Leader 服务器进行处理。

不会参与任何形式的投票只提供非事务服务,通常用于不影响集群事务处理能力的前提下提升集群的非事务处理能力。增加了集群增加并发的读请求。

项目简介

Zookeeper 一个Leader 和 多个Follower 组成集群

Leader 负责进行投票、决议、更新状态

Follower 用于接受客户端请求和返回结果,在选举Leader过程中参与投票

集群中只要有半数以上存活节点,ZooKeeper就可以正常工作

全局数据一致:每个Server保存一份相同的数据副本,Client无论连接到哪个都是相同的数据。

更新请求会顺序进行

数据更新有原子性,一次数据更新要么成功,要么失败

搭建方式

搭建有分为几种方式:


单机模式

ZooKeeper只运行在一台服务器上,适合测试环境。


伪集群模式

就是在一台机器上运行多个 ZooKeeper


集群模式

生产环境,多台机器

下载服务

http://zookeeper.apache.org/releases.html
• 1

这里我选择:3.8.4 版本进行安装测试,这是最新的稳定版本。

下载地址如下,你可以使用 wget 进行下载

https://dlcdn.apache.org/zookeeper/zookeeper-3.8.4/apache-zookeeper-3.8.4-bin.tar.gz

下载完成至服务器节点

解压安装

cd /opt/software/
tar -zxvf apache-zookeeper-3.8.4-bin.tar.gz -C ../servers/

文件夹配置

数据文件夹

cd /opt/servers/apache-zookeeper-3.8.4-bin
mkdir -p /opt/servers/apache-zookeeper-3.8.4-bin/data

日志文件夹

cd /opt/servers/apache-zookeeper-3.8.4-bin
mkdir -p /opt/servers/apache-zookeeper-3.8.4-bin/logs

配置文件

cd /opt/servers/apache-zookeeper-3.8.4-bin/conf
mv zoo_sample.cfg zoo.cfg
vim zoo.cfg

修改为如下的内容:

# 数据和日志文件夹
dataDir=/opt/servers/apache-zookeeper-3.8.4-bin/data
dataLogDir=/opt/servers/apache-zookeeper-3.8.4-bin/logs

# 集群地址
server.1=h121.wzk.icu:2888:3888
server.2=h122.wzk.icu:2888:3888
server.3=h123.wzk.icu:2888:3888

# 清理日志 1小时
autopurge.purgeInterval=1

修改结果如下图:

myid配置

我们需要在数据目录下新建一个叫 myid 文件夹,内容为1,后续集群要用到:

cd /opt/servers/apache-zookeeper-3.8.4-bin/data
echo 1 > myid
• 1
• 2

至此,我们 ZooKeeper 的单机安装完成!!!

目录
相关文章
|
9月前
|
机器学习/深度学习 监控 算法
分布式光伏储能系统的优化配置方法(Matlab代码实现)
分布式光伏储能系统的优化配置方法(Matlab代码实现)
494 1
|
8月前
|
编解码 运维 算法
【分布式能源选址与定容】光伏、储能双层优化配置接入配电网研究(Matlab代码实现)
【分布式能源选址与定容】光伏、储能双层优化配置接入配电网研究(Matlab代码实现)
709 12
|
安全 网络安全 数据库
YashanDB分布式节点间SSL连接配置
本文介绍YashanDB分布式节点间SSL连接配置方法,确保通信安全。需统一为整个集群配置SSL,使用相同根证书签名的服务器证书,否则可能导致连接失败或数据库无法启动。文章详细说明了使用OpenSSL生成根证书、服务器私钥、证书及DH文件的步骤,并指导如何将证书分发至各节点。最后,通过配置数据库参数(如`din_ssl_enable`)并重启集群完成设置。注意,证书过期需重新生成以保障安全性。
|
数据库
如何在Seata框架中配置分布式事务的隔离级别?
总的来说,配置分布式事务的隔离级别是实现分布式事务管理的重要环节之一,需要认真对待和仔细调整,以满足业务的需求和性能要求。你还可以进一步深入研究和实践 Seata 框架的配置和使用,以更好地应对各种分布式事务场景的挑战。
726 160
|
SQL 数据建模 BI
【YashanDB 知识库】用 yasldr 配置 Bulkload 模式作单线程迁移 300G 的业务数据到分布式数据库,迁移任务频繁出错
问题描述 详细版本:YashanDB Server Enterprise Edition Release 23.2.4.100 x86_64 6db1237 影响范围: 离线数据迁移场景,影响业务数据入库。 外场将部分 NewCIS 的报表业务放到分布式数据库,验证 SQL 性能水平。 操作系统环境配置: 125G 内存 32C CPU 2T 的 HDD 磁盘 问题出现的步骤/操作: 1、部署崖山分布式数据库 1mm 1cn 3dn 单线启动 yasldr 数据迁移任务,设置 32 线程的 bulk load 模式 2、观察 yasldr.log 是否出现如下错
|
消息中间件 负载均衡 Java
如何设计一个分布式配置中心?
这篇文章介绍了分布式配置中心的概念、实现原理及其在实际应用中的重要性。首先通过一个面试场景引出配置中心的设计问题,接着详细解释了为什么需要分布式配置中心,尤其是在分布式系统中统一管理配置文件的必要性。文章重点分析了Apollo这一开源配置管理中心的工作原理,包括其基础模型、架构模块以及配置发布后实时生效的设计。此外,还介绍了客户端与服务端之间的交互机制,如长轮询(Http Long Polling)和定时拉取配置的fallback机制。最后,结合实际工作经验,分享了配置中心在解决多台服务器配置同步问题上的优势,帮助读者更好地理解其应用场景和价值。
800 18
|
分布式计算 Hadoop Shell
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
441 4
|
缓存 NoSQL Ubuntu
大数据-39 Redis 高并发分布式缓存 Ubuntu源码编译安装 云服务器 启动并测试 redis-server redis-cli
大数据-39 Redis 高并发分布式缓存 Ubuntu源码编译安装 云服务器 启动并测试 redis-server redis-cli
297 3
|
SQL 分布式计算 Hadoop
Hadoop-37 HBase集群 JavaAPI 操作3台云服务器 POM 实现增删改查调用操作 列族信息 扫描全表
Hadoop-37 HBase集群 JavaAPI 操作3台云服务器 POM 实现增删改查调用操作 列族信息 扫描全表
290 3