集群环境下zookeeper和kafka详细安装教程

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
简介: 集群环境下zookeeper和kafka详细安装教程

软件版本


  • JDK:1.8.0_181
  • 操作系统:
CentOS Linux release 7.8.2003 (Core)
Derived from Red Hat Enterprise Linux 7.8 (Source)
  • ZooKeeper:Apache ZooKeeper, version 3.6.2- 09/04/2020 12:44 GMT
  • kafka:2.6.1
  • 搭建环境:3台虚拟机(基于VMware Workstation16 Pro)


第零步,搭建3台虚拟机


每个虚拟机的操作系统为CentOS Linux release 7.8.2003,可以先配置好一台虚拟机,然后通过克隆的方式配置另外两台虚拟机。如图所示,是笔者自己搭建的三台虚拟机。具体配置步骤可参见该篇博客

image.png

配置过程中,遇到虚拟机不能连接外部网络,通过更改网络连接方式为NAT。详情参见该篇博客。虚拟机三种网络连接方式的区别在这篇博客里写的很清晰了。

1666101225929.jpg


第一步,编写集群分发文件脚本以及集群调用脚本


在运行脚本前,需要调通ssh免密登录,通过分发ssh公钥,完成ssh免密登录。否则在执行命令时需要输入密码。配置虚拟机主机名称,使得利用ping命令能够通达

image.png


1.集群分发文件脚本xsync

#!/bin/bash
#校验参数是否合法
if(($#==0))
then
        echo 请输入要分发的文件!
        exit;
fi
#获取分发文件的绝对路径
dirpath=$(cd `dirname $1`; pwd -P)
filename=`basename $1`
echo 要分发的文件的路径是:$dirpath/$filename
#循环执行rsync分发文件到集群的每条机器
#需要更改为自己的主机名称,在这里我的是zbk601:zbk602:zbk603
for((i=601;i<=603;i++))
do
        echo ---------------------zbk$i---------------------
        rsync -rvlt $dirpath/$filename  root@zbk$i:$dirpath
done

2.集群调用脚本xcall

#!/bin/bash
#在集群的所有机器上批量执行同一条命令
if(($#==0))
then
        echo 请输入您要操作的命令!
        exit
fi
echo 要执行的命令是$*
#循环执行此命令
#需要更改为自己的主机名称,在这里我的是zbk601:zbk602:zbk603
for((i=601;i<=603;i++))
do
        echo ---------------------zbk$i-----------------
        ssh zbk$i $*
done


第二步,下载ZooKeeper


登录官网下载即可,链接在此

1666101455247.jpg

1666101471752.jpg


解压后完成第一台的安装。另外两台通过xsync脚本分发即可。

遇到各种问题时,通过检查该博客中的配置要求来解决。


第三步,下载kafka


官方下载链接在此

image.png

其中QuorumPeerMain时zookeeper服务类,ConsoleConsumer时kafka消费者类。


思考


1,学习shell编程,有助于提高对Linux的理解

2,遇到问题,请坚持想下去


相关文章
|
2月前
|
消息中间件 存储 监控
构建高可用性Apache Kafka集群:从理论到实践
【10月更文挑战第24天】随着大数据时代的到来,数据传输与处理的需求日益增长。Apache Kafka作为一个高性能的消息队列服务,因其出色的吞吐量、可扩展性和容错能力而受到广泛欢迎。然而,在构建大规模生产环境下的Kafka集群时,保证其高可用性是至关重要的。本文将从个人实践经验出发,详细介绍如何构建一个高可用性的Kafka集群,包括集群规划、节点配置以及故障恢复机制等方面。
99 4
|
3月前
|
消息中间件 运维 算法
Kafka 为什么要抛弃 Zookeeper?
本文探讨了Kafka为何逐步淘汰ZooKeeper。长久以来,ZooKeeper作为Kafka的核心组件,负责集群管理和协调任务。然而,随着Kafka的发展,ZooKeeper带来的复杂性增加、性能瓶颈及一致性问题日益凸显。为解决这些问题,Kafka引入了KRaft,这是一种基于Raft算法的内置元数据管理方案,不仅简化了部署流程,还提升了系统的一致性和扩展性。本文详细分析了这一转变背后的原因及其带来的优势,并展望了Kafka未来的发展方向。
202 1
|
3月前
|
消息中间件 监控 数据可视化
大数据-79 Kafka 集群模式 集群监控方案 JavaAPI获取集群指标 可视化监控集群方案: jconsole、Kafka Eagle
大数据-79 Kafka 集群模式 集群监控方案 JavaAPI获取集群指标 可视化监控集群方案: jconsole、Kafka Eagle
119 2
|
9天前
|
消息中间件 Java Kafka
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
本文介绍了Kafka集群的搭建过程,涵盖从虚拟机安装到集群测试的详细步骤。首先规划了集群架构,包括三台Kafka Broker节点,并说明了分布式环境下的服务进程配置。接着,通过VMware导入模板机并克隆出三台虚拟机(kafka-broker1、kafka-broker2、kafka-broker3),分别设置IP地址和主机名。随后,依次安装JDK、ZooKeeper和Kafka,并配置相应的环境变量与启动脚本,确保各组件能正常运行。最后,通过编写启停脚本简化集群的操作流程,并对集群进行测试,验证其功能完整性。整个过程强调了自动化脚本的应用,提高了部署效率。
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
|
13天前
|
消息中间件 存储 Kafka
2024最全Kafka集群方案汇总
Apache Kafka 是一个高吞吐量、可扩展、可靠的分布式消息系统,广泛应用于数据驱动的应用场景。Kafka 支持集群架构,具备高可用性和容错性。其核心组件包括 Broker(服务器实例)、Topic(消息分类)、Partition(有序消息序列)、Producer(消息发布者)和 Consumer(消息消费者)。每个分区有 Leader 和 Follower,确保数据冗余和高可用。Kafka 2.8+ 引入了不依赖 Zookeeper 的 KRaft 协议,进一步简化了集群管理。常见的集群部署方案包括单节点和多节点集群,后者适用于生产环境以确保高可用性。
33 0
|
2月前
|
消息中间件 存储 Prometheus
Kafka集群如何配置高可用性
Kafka集群如何配置高可用性
|
3月前
|
消息中间件 分布式计算 监控
大数据-78 Kafka 集群模式 集群的应用场景与Kafka集群的搭建 三台云服务器
大数据-78 Kafka 集群模式 集群的应用场景与Kafka集群的搭建 三台云服务器
116 6
|
2月前
|
消息中间件 Ubuntu Java
Ubuntu系统上安装Apache Kafka
Ubuntu系统上安装Apache Kafka
|
3月前
|
消息中间件 Kafka API
|
3月前
|
消息中间件 存储 运维
为什么说Kafka还不是完美的实时数据通道
【10月更文挑战第19天】Kafka 虽然作为数据通道被广泛应用,但在实时性、数据一致性、性能及管理方面存在局限。数据延迟受消息堆积和分区再平衡影响;数据一致性难以达到恰好一次;性能瓶颈在于网络和磁盘I/O;管理复杂性涉及集群配置与版本升级。
110 1