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

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 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的相关用法,或者留意本博客的相关教程。


相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
21天前
|
Java Shell Linux
Zookeeper单机&集群安装
Zookeeper单机&集群安装
26 1
|
21天前
|
存储 分布式计算 资源调度
Hadoop【环境搭建 04】【hadoop-2.6.0-cdh5.15.2.tar.gz 基于ZooKeeper搭建高可用集群】(部分图片来源于网络)
【4月更文挑战第1天】Hadoop【环境搭建 04】【hadoop-2.6.0-cdh5.15.2.tar.gz 基于ZooKeeper搭建高可用集群】(部分图片来源于网络)
63 3
|
10天前
|
XML 安全 搜索推荐
大数据之 Solr 集群搭建
Solr是一个基于Java的高性能全文搜索服务器,扩展自Lucene,提供丰富查询语言和优化的查询性能。它支持通过HTTP接口以XML格式进行索引和搜索操作。在集群环境中,涉及解压软件包,配置环境变量,修改Zookeeper参数,文件分发,启动Solr和Zookeeper服务。建议使用非root用户启动,确保安全。启动后,通过WEB UI验证Solr集群部署是否成功,遇到问题如找不到solr.xml文件,可通过指定-Dsolr.solr.home参数解决。
|
16天前
|
大数据 Linux 虚拟化
大数据软件基础(3) —— 在VMware上安装Linux集群
大数据软件基础(3) —— 在VMware上安装Linux集群
34 0
|
21天前
|
存储 分布式计算 DataWorks
MaxCompute产品使用合集之大数据计算MaxCompute dataworks可以批量修改数据集成任务的数据源配置信息吗
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
21天前
|
分布式计算 大数据 数据处理
MaxCompute操作报错合集之在开发环境中配置MaxCompute参数进行调度,但参数解析不出来,如何解决
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
|
21天前
|
SQL 分布式计算 大数据
MaxCompute操作报错合集之spark3.1.1通过resource目录下的conf文件配置,报错如何解决
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
|
21天前
|
分布式计算 DataWorks 大数据
MaxCompute操作报错合集之在使用 MaxCompute 的 MMA(Multi-Modal Analytics)进行跨 Region 数据迁移时,在配置数据源时遇到错误,如何解决
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
|
21天前
|
分布式计算 Hadoop 大数据
[大数据] mac 史上最简单 hadoop 安装过程
[大数据] mac 史上最简单 hadoop 安装过程
|
21天前
|
Linux
ZooKeeper的安装(Linux版)
ZooKeeper的安装(Linux版)
51 1