大数据Zookeeper-03.集群环境安装

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: Zookeeper集群环境安装

安装前准备

集群环境下,至少需要3台服务器。

IP地址 主机名称
10.0.0.5 node1
10.0.0.6 node2
10.0.0.7 node3

需要保证每台服务器的配置都一致,以下步骤在3台服务器上都需要做一次。

操作系统准备

本次安装采用的操作系统是Ubuntu 20.04。

更新软件包列表。

sudo apt-get update

安装Java 8+

使用命令安装Java 8。

sudo apt-get install -y openjdk-8-jdk

配置环境变量。

vi .bashrc

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

让环境变量生效。

source .bashrc

下载Zookeeper安装包

从Zookeeper官网Apache ZooKeeper下载安装包软件。

image-20230117144145227.png

或者直接通过命令下载。

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

image-20230119171254429.png

集群环境安装

解压安装包

在3台服务器上,分别将安装包解压到目标路径。

mkdir -p apps
tar -xzf apache-zookeeper-3.8.0-bin.tar.gz -C apps

image-20230119171424505.png

修改配置文件

Zookeeper的配置文件保存在$ZOO_HOME/conf/zoo.cfg

在3台服务器上都复制一份配置文件。

cp apps/apache-zookeeper-3.8.0-bin/conf/zoo_sample.cfg apps/apache-zookeeper-3.8.0-bin/conf/zoo.cfg

配置文件说明:

# The number of milliseconds of each tick
# 通信心跳时间,Zookeeper服务器与客户端心跳时间,单位毫秒。
tickTime=2000

# The number of ticks that the initial 
# synchronization phase can take
# LF初始通信时限
# Leader和Follower初始连接时能容忍的最多心跳数,单位次(即tickTime的数量)
initLimit=10

# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
# LF同步通信时限
# Leader和Follower连接之后,通信时能容忍的最多心跳数,单位次
# 时间如果超过syncLimit * tickTime,Leader认为Follwer挂掉,从服务器列表中删除Follwer
syncLimit=5

# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
# Zookeeper数据存放目录
dataDir=/home/hadoop/data/zookeeper

# the port at which the clients will connect
# 客户端连接端口,通常不做修改
clientPort=2181

在集群模式下,还有一个重要的配置项,server.A=B:C:D,其中 A 是一个数字,表示这个是第几号服务器;B 是这个服务器的IP地址;C 是这个服务器与集群中的 Leader 服务器交换信息的端口;D 是集群中的 Leader 服务器挂了之后重新进行选举新的 Leader时服务器相互通信的端口。由于集群环境的IP地址不同,所以3台服务器的配置文件可以保持完全相同。

在3台服务器上都配置为:

# Zookeeper数据存放目录
dataDir=/home/hadoop/data/zookeeper
# 客户端连接端口
clientPort=2181
# 服务器节点配置
server.1=10.0.0.5:8881:7771
server.2=10.0.0.6:8881:7771
server.3=10.0.0.7:8881:7771

在3台服务器上都创建数据存放目录。

mkdir -p /home/hadoop/data/zookeeper

在 dataDir 指定的目录下创建名为 myid 的文件,文件内容和 zoo.cfgserver.A=B:C:D的 A 一致。

  • node1上执行
echo 1 > /home/hadoop/data/zookeeper/myid

image-20230119172642034.png

  • node2上执行
echo 2 > /home/hadoop/data/zookeeper/myid

image-20230119172721860.png

  • node3上执行
echo 3 > /home/hadoop/data/zookeeper/myid

image-20230119172757728.png

相关命令

如果没配置环境变量,则需要切换到安装目录下执行相关命令,或者指定命令的绝对路径。

cd apps/apache-zookeeper-3.8.0-bin

启动Zookeeper

在集群环境下,需要在每台服务器上都启动Zookeeper。

bin/zkServer.sh start
  • node1

image-20230119173010219.png

  • node2

image-20230119173105315.png

  • node3

image-20230119173350726.png

QuorumPeerMain 就是 Zookeeper 服务端的进程。

查看状态

分别在每台服务器上查看状态。

bin/zkServer.sh status
  • node1

image-20230119173934241.png

  • node2

image-20230119174022914.png

  • node3

image-20230119174043822.png

Mode: leader 表示Leader进程。

Mode: follower 表示Follower进程。

验证Zookeeper

  • 数据操作验证

连接集群,写入数据,查看数据,再切换到其他节点查看数据。

bin/zkCli.sh -server 10.0.0.5:2181
bin/zkCli.sh -server 10.0.0.6:2181
bin/zkCli.sh -server 10.0.0.7:2181

在节点1上写入数据。

image-20230119174241655.png

在节点2上进行验证。

image-20230119174330192.png

在节点3上进行验证。

image-20230119174418151.png

  • Leader重选验证

当前状态下节点2是Leader,停止节点2的进程,查看其他两个节点的状态。

bin/zkServer.sh stop

image-20230119174529440.png

节点3变为新的Leader。

停止Zookeeper

分别在每台服务器上停止进程。

bin/zkServer.sh stop
相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
目录
相关文章
|
1月前
|
存储 数据可视化 数据挖掘
大数据环境下的房地产数据分析与预测研究的设计与实现
本文介绍了一个基于Python大数据环境下的昆明房地产市场分析与预测系统,通过数据采集、清洗、分析、机器学习建模和数据可视化技术,为房地产行业提供决策支持和市场洞察,探讨了模型的可行性、功能需求、数据库设计及实现过程,并展望了未来研究方向。
大数据环境下的房地产数据分析与预测研究的设计与实现
|
1月前
|
Docker 容器
Docker 安装 Zookeeper
Docker 安装 Zookeeper
92 2
|
1月前
|
Java Linux Docker
【zookeeper 第二篇章】windows、linux、docker-compose 安装 zookeeper
本文介绍Zookeeper在不同环境下的安装方法。Linux安装需备好JDK,下载并解压Zookeeper后,复制`zoo_sample.cfg`为`zoo.cfg`,最后运行`zkServer.sh start`启动服务。Windows安装类似,通过`zkServer.bat`启动。使用Docker-Compose则需编写配置文件,并通过`docker-compose up -d`后台启动容器。
39 0
|
2月前
|
存储 数据库
zookeeper 集群环境搭建及集群选举及数据同步机制
zookeeper 集群环境搭建及集群选举及数据同步机制
52 2
|
2月前
|
消息中间件 存储 负载均衡
zookeeper 特点、使用场景及安装,配置文件解析
zookeeper 特点、使用场景及安装,配置文件解析
44 2
|
2月前
|
JSON 分布式计算 大数据
MaxCompute操作报错合集之连接环境时,出现报错:TypeError: access_id and secret_access_key,该怎么解决
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
|
1月前
|
开发工具
部署安装zookeeper集群
部署安装zookeeper集群
|
1月前
|
分布式计算 大数据 Hadoop
最快方式搭建docker大数据 测试集群
【8月更文挑战第5天】快速搭建Docker大数据测试集群可采用预构建镜像与Compose文件、利用云服务如AWS的ECS、自动化工具如Ansible或参考在线教程。只需简单配置如内存分配及路径,运行`docker-compose up`即可启动含NameNode、DataNode等组件的Hadoop集群。根据需求与资源选择合适方法。
|
3月前
|
分布式计算 DataWorks 大数据
MaxCompute产品使用问题之如何同步两个环境的参数
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
3月前
|
Windows
zookeeper-3.8.0安装(Windows)
zookeeper-3.8.0安装(Windows)
194 0

热门文章

最新文章