首页 > 其他分享 >ZooKeeper集群&kafka集群安装

ZooKeeper集群&kafka集群安装

时间:2025-01-11 22:21:21浏览次数:1  
标签:ZooKeeper zookeeper server export 3.0 集群 kafka

kafka的管理需要借助zookeeper完成,所以要先安装好zookeeper集群。

一、zookeeper集群安装

1.1 集群规划

在主机node1、node2和 node3 三个节点上都部署 Zookeeper。

1.2 解压安装

官网下载地址:https://zookeeper.apache.org/

这里我安装的版本为3.5.7。

在 node1服务器解压 Zookeeper 安装包到目录下:/export/server

修改 apache-zookeeper-3.5.7-bin 名称为 zookeeper-3.5.7。

1.3 配置服务器编号

1、在node1服务器下/export/server/apache-zookeeper-3.5.7这个目录下创建 zkData。

2、zkData 目录下创建一个 myid 的文件,文件内容为:1在文件中添加与 server 对应的编号(注意:上下不要有空行,左右不要有空格)。

注意:添加 myid 文件,一定要在 Linux 里面创建,在 notepad++和其他文本编辑器里面很可能乱码。

3、拷贝配置好的 zookeeper 到其他机器上,并分别在 node1、node2上修改 myid 文件中内容为 2、3。

1.4 配置zoo.cfg文件

1、重命名/export/server/apache-zookeeper-3.5.7/conf 这个目录下的 zoo_sample.cfg 为 zoo.cfg
2、打开 zoo.cfg 文件

vim zoo.cfg

#修改数据存储路径配置
dataDir=/opt/module/zookeeper-3.5.7/zkData
#增加如下配置
#######################cluster##########################
server.1=xxx.xxx.1.219:2888:3888
server.2=xxx.xxx.1.120:2888:3888
server.3=xxx.xxx.1.220:2888:3888

3、同样 zoo.cfg 配置文件到node2、node3服务器
4、server.A=B:C:D

  • A 是一个数字,表示这个是第几号服务器;
    
  • 集群模式下配置一个文件 myid,这个文件在 dataDir 目录下,这个文件里面有一个数据 就是 A 的值,Zookeeper 启动时读取此文件,拿到里面的数据与 zoo.cfg 里面的配置信息比 较从而判断到底是哪个 server。
    
  • B 是这个服务器的地址;
    
  • C 是这个服务器 Follower 与集群中的 Leader 服务器交换信息的端口;
    
  • D 是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口。
    

1.5 集群操作

cd到bin目录下面,三台分别./zkServer.sh start。

./zkServer.sh status,三台分别查看状态,两台为fllower,一台为leader,集群安装成功。

二、kafka集群安装

2.1 集群规划

在主机node1、node2和 node3 三个节点上都部署 Zookeeper。

2.2 解压安装

官方下载地址:https://kafka.apache.org/downloads.html

我们这里下载的版本为kafka_2.12-3.0.0.tgz。

2.3 解压安装

修改解压后的文件名称为kafka-3.0.0。

cd  /export/software
tar -zxvf kafka_2.12-3.0.0.tgz -C /export/server/
cd /export/server/
mv kafka_2.12-3.0.0/ kafka-3.0.0

进入到/export/server/kafka-3.0.0/conf 目录,修改配置文件server.properties,同样修改node2,node3。

:broker.id 不得重复,整个集群中唯一。

cd /export/server/kafka-3.0.0/config
vim server.properties

修改以下内容:

#broker 的全局唯一编号,不能重复,只能是数字。
broker.id=1
#kafka 运行日志(数据)存放的路径,路径不需要提前创建,kafka 自动帮你创建,可以配置多个磁盘路径,路径与路径之间可以用","分隔
log.dirs=/export/server/kafka-3.0.0/datas

#配置连接 Zookeeper 集群地址(在 zk 根目录下创建/kafka,方便管理)
zookeeper.connect=xxx.xxx.1.219:2181,xxx.xxx.1.120:2181,xxx.xxx.1.220:2181

2.4 在node1、2、3节点配置一样的环境变量

#KAFKA_HOME

export KAFKA_HOME=/export/server/kafka-3.0.0/

export PATH=$PATH:$KAFKA_HOME/bin
source /etc/profile

2.5 启动集群

由于Kafka启动依赖 Zookeeper 集群,所以必须先启动Zookeeper 集群,然后启动 Kafka。

依次在 node1、node2、node3 节点上启动 Kafka。

cd /export/server/kafka-3.0.0

bin/kafka-server-start.sh -daemon config/server.properties

启动成功日志。

2.6 关闭集群

cd /export/server/kafka-3.0.0

bin/kafka-server-stop.sh

本文作者:事业二部(上海新炬中北团队)
本文来源:“IT那活儿”公众号

标签:ZooKeeper,zookeeper,server,export,3.0,集群,kafka
From: https://www.cnblogs.com/o-O-oO/p/18666285

相关文章

  • ZooKeeper 面试资料
    1.说说Zookeeper是什么?ZooKeeper的特点:维护、协调、管理、监控特点:(分布式应用协调服务)最终一致性:客户端看到的数据最终是一致的可靠性:服务器保存了消息,那么它就一直都存在实时性:ZooKeeper不能保证两个客户端同时得到刚更新的数据独立性(等待无关):不同客户端直接互不影响......
  • 【源码】Kafka订制协议如何处理粘拆包
    前言在上一篇随笔中,我们探讨了如何使用Netty处理自定义协议中的粘包和拆包问题。Netty提供了高度封装的API,帮助开发者轻松应对这一挑战,因此很多人都对其解决方案非常熟悉。但如果我们直接使用JavaNIO来实现类似的功能,应该怎么做呢?Kafka,作为一个成熟的分布式消息队列系统......
  • MySQL 8.0.27 集群搭建——基于MGR方式的一主两从架构
    数据库:MySQL8.0.27安装包:mysql-8.0.27-1.el7.x86_64.rpm-bundle.tar系统:rhel7.364位 1、准备工作说明:1.1至1.3均需在三台服务器执行.1.1、修改hosts文件--在hosts中设置hostname与IP映射绑定关系.[root@MySQL-827MGR-Master~]#cat<<EOF>>/etc/hosts192.168.133.11......
  • Hive4.0.1集群安装部署(Hadoop版本为3.3.6)(详细教程)
    前置环境​​​Linux环境Zookeeper集群安装(详细教程)-CSDN博客HadoopHA高可用集群3.3.6搭建(详细教程)-CSDN博客MySQL8.0.40离线安装(详细教程)_mysql8.0.40ftp-CSDN博客Hadoop3.3.6官网下载链接地址部署规划服务器节点MetaStoreHiveServer2bigdata01√bigd......
  • [微服务]redis分片集群搭建与优化
    介绍主从模式可以解决高可用、高并发读的问题。但依然有两个问题没有解决:海量数据存储高并发写要解决这两个问题就需要用到分片集群了。分片的意思,就是把数据拆分存储到不同节点,这样整个集群的存储数据量就更大了。Redis分片集群的结构如图:分片集群特征:集群中有多个ma......
  • ubuntu20.04部署k8s集群(基于docker)
    Ubuntu部署k8s集群(基于docker)本文总结一下部署k8s集群踩的坑以及部署流程。相关版本:docker-v27.4.1、cri-dockerd-v0.3.16、kubeadm-v1.28.15注意本人的机器是arm64的,x86已经amd64的可以参考目前仅完成至基础配置阶段(到集群初始化)k8s介绍Kubernetes是一个开源的容器编排......
  • Docker中启动Zookeeper
    使用Docker启动Zookeeper的指南Zookeeper是一个开源的分布式协调服务,广泛应用于分布式系统中。使用Docker容器化部署Zookeeper,可以使得管理和扩展变得更加简单和高效。本文将详细介绍如何通过Docker启动Zookeeper,包括所需的命令、步骤以及一个简单的示例。流程概述以下是启动Z......
  • Kafka优势剖析-无锁设计与多线程模型
    目录1.无锁设计(Lock-FreeDesign)1.1什么是无锁设计?1.2Kafka中的无锁设计1.2.1日志段(LogSegment)的追加操作1.2.2偏移量管理1.2.3ISR列表的更新1.3无锁设计的优势2.高效的多线程模型2.1什么是多线程模型?2.2Kafka的多线程模型2.2.1网络请求处理2.2.2......
  • Kubernetes集群运维生产常见问题解析与解决方案
    前言:在Kubernetes集群的日常运维工作中,我们难免会遇到各种各样的问题。这些问题可能涉及到集群的部署、配置、监控、性能优化等多个方面。为了解决这些问题,我们需要不断地学习和积累经验。在这里,我打算收集并整理一些网友曾经提出的问题,并提供相应的解析和解决方案,之前的问题无从......
  • 06、Docker学习,常用安装:Zookeeper、ES、Minio
    Docker学习,常用安装:Zookeeper、ES、Minio一、Docker安装Zookeeper##查询zookeeper镜像dockersearchzookeeper##拉去zookeeper镜像dockerpullzookeeper:latest##本地创建zookeeper的挂载目录mkdir-p/opt/software/myfile/zookeeper/confmkdir-p/opt/softwar......