D003 复制粘贴玩大数据之安装与配置Zookeeper集群

简介: Zookeeper的获取; 上传安装包到集群; 安装Zookeeper集群; Zookeeper集群校验

0x01 Zookeeper的获取


1. 官网下载

a. 为了统一,此处下载zk3.4.10版本 :https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.10/


0x02 上传安装包到集群

1. 上传安装包到虚拟机


20190125185156159.png

PS:如果不是docker部署的集群,则直接上传到虚拟机即可,因为,每台虚拟机就是一个节点。

2. 复制安装包到master节点

docker cp zookeeper-3.4.10.tar.gz hadoop-master:/root

sh master.sh

ll


20190125185254375.png


0x03 安装Zookeeper集群


1. 在master上安装单机版zk

a. 解压安装包(-C为指定解压到/usr/local路径)

tar -zxvf zookeeper-3.4.10.tar.gz -C /usr/local


20190125191042473.png


b. 创建Zookeeper对应的路径:


20190125191213962.png


mkdir /usr/local/zookeeper-3.4.10/datadir

mkdir /usr/local/zookeeper-3.4.10/log


20190125191519806.png


c. 修改Zookeeper的配置文件($ZK_HOME/conf):

cd /usr/local/zookeeper-3.4.10/conf

cp zoo_sample.cfg zoo.cfg

vi zoo.cfg


20190125191448875.png


  • 修改dataDir,加上dataLogDir:

dataDir=/usr/local/zookeeper-3.4.10/datadir

dataLogDir=/usr/local/zookeeper-3.4.10/log


20190125191709476.png


  • 配置环境变量(可看到docker生成节点时默认配好的其他环境变量)

vi /etc/profile


export ZK_HOME=/usr/local/zookeeper-3.4.10
export PATH=$PATH:$ZK_HOME/bin


20190125191816707.png


  • 使配置生效(echo一下有内容输入,说明已经配好)

source /etc/profile


20190125192000999.png

2. 校验单机版zk

a. 启动Zookeeper

zkServer.sh start

b. 查看进程(有QuorumPeerMain说明成功)

jps


20190125192105944.png


3. 在同步zk到slave1、slave2

a. 停止master上的zk

zkServer.sh stop


20190125192451602.png


b. 配置集群所需的参数及文件

  • 添加上节点的关系(修改成自己对应的节点名)

vi zoo.cfg


server.0=hadoop-master:8880:7770
server.1=hadoop-slave1:8881:7771
server.2=hadoop-slave2:8882:7772


20190125193254523.png


  • 在之前创建的datadir目录下创建表示文件

vi ../datadir/myid


20190125193430203.png


然后输入0,保存,退出


c. 复制zk主目录到slave1、slave2

scp -r /usr/local/zookeeper-3.4.10 root@hadoop-slave1:/usr/local/

复制成功截图:


20190125193621348.png


d. 切换到slave1终端

vi /usr/local/zookeeper-3.4.10/datadir/myid


20190125193756147.png


然后把0改为1,保存,退出

e. 配置环境变量,与master时一样

f. slave2同理,与c.d.e.三点类似,myid为2


0x04 Zookeeper集群校验


1. 启动三个节点的zk

zkServer.sh start

2. 查看zk集群角色状态

zkServer.sh status


20190125194345281.png


2019012519444738.png


2019012519451164.png


可看到:

master与slave2角色为:follower

slave1角色为:leader


3. 杀死leader进程

a. 即杀死slave1上的zk进程,在slave1终端执行

jps

kill -9 429


20190125194739132.png


4. 观察zk集群角色变化

a. 在master、slave2查看zk状态

zkServer.sh status


20190125194920805.png


20190125194841120.png


b. 发现master角色不变还是follower,而slave2则变成了leader,这就是Zookeeper的选举机制,选举有特定的算法

c. 在master、slave2执行关闭zk

zkServer.sh stop

d. 再重新启动zk集群(方便下面的教程学习)

zkServer.sh start

e. 查看角色状态(这次master为leader)

zkServer.sh status


20190125195316858.png


0xFF 总结


  1. Zookeeper是一个分布式协调服务系统,在大数据领域的地位很重要,Kafka、HBase、HDFS的HA等均离不开zk
  2. Zookeeper有两个常用的应用场景,1.是对集群配置的管理2.集群分布式锁的实现
  3. 请自行了解Zookeeper的相关用法,或者留意本博客的相关教程。


相关文章
|
10月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
8月前
|
存储 搜索推荐 算法
Java 大视界 -- Java 大数据在智能金融理财产品风险评估与个性化配置中的应用(195)
本文深入探讨了Java大数据技术在智能金融理财产品风险评估与个性化配置中的关键应用。通过高效的数据采集、存储与分析,Java大数据技术助力金融机构实现精准风险评估与个性化推荐,提升投资收益并降低风险。
Java 大视界 -- Java 大数据在智能金融理财产品风险评估与个性化配置中的应用(195)
|
11月前
|
负载均衡 算法 关系型数据库
大数据新视界--大数据大厂之MySQL数据库课程设计:MySQL集群架构负载均衡故障排除与解决方案
本文深入探讨 MySQL 集群架构负载均衡的常见故障及排除方法。涵盖请求分配不均、节点无法响应、负载均衡器故障等现象,介绍多种负载均衡算法及故障排除步骤,包括检查负载均衡器状态、调整算法、诊断修复节点故障等。还阐述了预防措施与确保系统稳定性的方法,如定期监控维护、备份恢复策略、团队协作与知识管理等。为确保 MySQL 数据库系统高可用性提供全面指导。
|
11月前
|
消息中间件 运维 Java
搭建Zookeeper、Kafka集群
本文详细介绍了Zookeeper和Kafka集群的搭建过程,涵盖系统环境配置、IP设置、主机名设定、防火墙与Selinux关闭、JDK安装等基础步骤。随后深入讲解了Zookeeper集群的安装与配置,包括数据目录创建、节点信息设置、SASL认证配置及服务启动管理。接着描述了Kafka集群的安装,涉及配置文件修改、安全认证设置、生产消费认证以及服务启停操作。最后通过创建Topic、发送与查看消息等测试验证集群功能。全网可搜《小陈运维》获取更多信息。
945 1
|
存储 SpringCloudAlibaba Java
【SpringCloud Alibaba系列】一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论
一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论。
【SpringCloud Alibaba系列】一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论
|
SQL 存储 大数据
单机顶集群的大数据技术来了
大数据时代,分布式数仓如MPP成为热门技术,但其高昂的成本让人望而却步。对于多数任务,数据量并未达到PB级,单体数据库即可胜任。然而,由于SQL语法的局限性和计算任务的复杂性,分布式解决方案显得更为必要。esProc SPL作为一种开源轻量级计算引擎,通过高效的算法和存储机制,实现了单机性能超越集群的效果,为低成本、高效能的数据处理提供了新选择。
|
存储 负载均衡 监控
揭秘 Elasticsearch 集群架构,解锁大数据处理神器
Elasticsearch 是一个强大的分布式搜索和分析引擎,广泛应用于大数据处理、实时搜索和分析。本文深入探讨了 Elasticsearch 集群的架构和特性,包括高可用性和负载均衡,以及主节点、数据节点、协调节点和 Ingest 节点的角色和功能。
708 0
|
5月前
|
消息中间件 分布式计算 资源调度
《聊聊分布式》ZooKeeper与ZAB协议:分布式协调的核心引擎
ZooKeeper是一个开源的分布式协调服务,基于ZAB协议实现数据一致性,提供分布式锁、配置管理、领导者选举等核心功能,具有高可用、强一致和简单易用的特点,广泛应用于Kafka、Hadoop等大型分布式系统中。
|
安全 应用服务中间件 API
微服务分布式系统架构之zookeeper与dubbo-2
微服务分布式系统架构之zookeeper与dubbo-2