前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Zookeeper集群部署

Zookeeper集群部署

原创
作者头像
弟大翻着洗
修改2024-08-07 14:56:17
1470
修改2024-08-07 14:56:17
举报
文章被收录于专栏:大数据组件部署

集群规划

Zookeeper 是一个开源的分布式协调服务,主要用于管理和协调分布式系统中的各种服务和数据。通俗来说,它就像是一个“管理员”或“调度员”,帮助不同的服务和应用程序之间进行通信和协作。

例子:

想象一下一个大型活动的组织,比如一个音乐节。为了确保活动顺利进行,组织者需要协调很多方面,比如场地、演出人员、票务等。

配置管理:组织者会制定一个详细的计划,包含每个演出者的时间、地点等信息。这个计划就像 Zookeeper 存储的配置信息,确保所有工作人员都能获取到最新的安排。

命名服务:在活动中,每个演出者都有一个独特的名字,观众和工作人员可以通过名字找到他们。Zookeeper 就是为这些服务提供了一个“名字簿”。

同步服务:在音乐节上,所有演出者需要在同一时间开始表演,组织者会确保每个演出者都在正确的时间上线,避免冲突。这类似于 Zookeeper 让不同服务保持同步。

选举机制:如果有多个舞台,组织者可能需要选出一个人来负责整个活动的协调,确保所有舞台的表演都能顺利进行。这就像 Zookeeper 在分布式系统中选出一个“领导者”。

hadoop102

hadoop103

hadoop104

zk

zk

zk

前提工作

集群模式下配置一个文件myid,这个文件在dataDir目录下,这个文件里面有一个数据就是A的值,Zookeeper启动时读取此文件,拿到里面的数据与zoo.cfg里面的配置信息比较从而判断到底是哪个server。

我们采用zookeeper3.7版本(apache-zookeeper-3.7.1-bin.tar.gz)

hadoop102下解压缩

代码语言:shell
复制
cd /opt/module

# 解压
tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz
# 重命名
mv apache-zookeeper-3.7.1-bin/ zookeeper

配置环境变量

代码语言:shell
复制
# 编辑配置文件
vim /etc/profile

# ZOOKEEPER_HOME
export ZOOKEEPER_HOME=/opt/module/zookeeper
export PATH=:$ZOOKEEPER_HOME/bin:$PATH

# 加载环境变量使其生效
source /etc/profile

搭建

代码语言:shell
复制
# 在/opt/module/zookeeper/目录下创建zkData
cd zookeeper
mkdir zkData
cd zkData

# 设置hadoop102的myid为2
vim myid
2

# 配置zoo.cfg文件
cd /opt/module/zookeeper/conf
mv zoo_sample.cfg zoo.cfg

# 修改设置配置文件
vim zoo.cfg
# 修改数据存储路径配置
dataDir=/opt/module/zookeeper/zkData
# 集群配置
server.2=hadoop102:2888:3888
server.3=hadoop103:2888:3888
server.4=hadoop104:2888:3888

分发zookeeper至hadoop103、hadoop104

代码语言:shell
复制
# 远程拷贝
scp -r /opt/module/zookeeper hadoop103:/opt/module/
scp -r /opt/module/zookeeper hadoop104:/opt/module/

# 分别登录修改hadoop103、hadoop104上的myid文件中内容为3、4

一键启动脚本

代码语言:shell
复制
# 创建脚本
vim start-zk.sh 

#!/bin/bash

for host in hadoop102 hadoop103 hadoop104
do
     ssh $host "source /etc/profile;zkServer.sh start"
     echo "$host zookeeper Server 正在启动......"
done

一键关闭脚本

代码语言:shell
复制
# 创建脚本
vim stop-zk.sh

#!/bin/bash

for host in hadoop102 hadoop103 hadoop104
do
     ssh $host "source /etc/profile;/opt/module/zookeeper/bin/zkServer.sh stop"
     echo "$host zookeeper Server 正在关闭......"
done

检查结果

启动成功有以下标志

每台机器jps有QuorumPeerMain进程

查看每台机器的zk状态,可以显示 Zookeeper 的当前状态,包括集群信息、节点状态等

zkServer.sh status

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 集群规划
  • 前提工作
  • 配置环境变量
  • 搭建
  • 分发zookeeper至hadoop103、hadoop104
  • 一键启动脚本
  • 一键关闭脚本
  • 检查结果
相关产品与服务
数据保险箱
数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档