【运维】使用三台ECS搭建Kafka集群

本文涉及的产品
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 使用三台CentOS7系统的ECS云服务器,软件包kafka_2.11-1.1.1.tgz

环境准备:

1.使用三台ECS云服务器,内存建议最小2G

2.获取kafka软件包,解压

[root@kafka-1 ~]# tar -zxf kafka_2.11-1.1.1.tgz 
[root@kafka-1 ~]# ls
kafka_2.11-1.1.1  kafka_2.11-1.1.1.tgz

 

3.安装jdk1.8.0

[root@kafka-1 bin]# yum -y install java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64

 

4.配置主机名映射

image.png

 

5.其余selinux,防火墙配置略

kafka包里的文件夹结构,bin目录下为启动管理服务的脚本,config目录下为服务配置

image.png

 

一、配置kafka内置zookeeper集群

kafka集群依赖于zk集群,这里就用kafka包内置的zk服务配置集群

//编辑zookeeper.properties配置文件,添加以下配置

[root@kafka-1 config]# vim zookeeper.properties
initLimit=10
syncLimit=5
server.1=kafka1:2888:3888
server.2=kafka2:2888:3888
server.3=kafka3:2888:3888
quorumListenOnAllIPs=true

 

//创建myid表示zk服务节点,写入id(对应配置文件中的server.x中的x)myid文件中

[root@kafka-1 ~]# mkdir -p /tmp/zookeeper
[root@kafka-1 ~]# echo 1 > /tmp/zookeeper/myid

 

//启动zk

[root@kafka-1 bin]# ./zookeeper-server-start.sh -daemon ../config/zookeeper.properties

 

//启动完成后的端口监听,在其中一台leader有监听2888端口

[root@kafka-2 zookeeper]# ss -ntlp
State      Recv-Q Send-Q                                                  Local Address:Port                                                                 Peer Address:Port              
LISTEN     0
50                                                                 :::2181                                                                           :::*                  users:(("java",pid=30223,fd=96))
LISTEN     0     50                                                                 :::2888                                                                           :::*                  users:(("java",pid=30223,fd=99))
LISTEN     0        50                                                                 :::3888                                                                           :::*                  users:(("java",pid=30223,fd=97))
LISTEN     0     128

2181:对cline端提供服务

3888:选举leader使用

2888:集群内机器通讯使用(Leader监听此端口)

 

二、创建kafka集群

 

//修改kafka的配置文件server.properties

[root@kafka-1 config]# vim server.properties
broker.id=1   //id对应节点号,有所区分
port=9092    
advertised.host.name=kafka1   //端口监听的IP或主机名
zookeeper.connect=kafka1:2181,kafka2:2181,kafka3:2181  //连接各节点的IP或主机名:端口

 

//启动kafka

[root@kafka-1 bin]# ./kafka-server-start.sh -daemon ../config/server.properties

 

//启动完成后的端口监听

[root@kafka-1 ~]# ss -ntlp
State      Recv-Q Send-Q                                                  Local Address:Port                                                                 Peer Address:Port              
LISTEN     0     50                                                                 :::9092                                                                           :::*                  users:(("java",pid=27495,fd=101))
LISTEN     0     50                                                                 :::2181                                                                           :::*                  users:(("java",pid=521,fd=96))

 

//查看java进程,显示kafka

[root@kafka-1 ~]# jps
2049 Jps
27495 Kafka
521 QuorumPeerMain

 

三、测试kafka服务

//在节点1上创建topic

[root@kafka-1 bin]# ./kafka-topics.sh --create --zookeeper kafka1:2181 --replication-factor 1 --partitions 1 --topic taoresetTEST
Created topic "taoresetTEST".

 

//在节点2上查看topic

[root@kafka-2 bin]# ./kafka-topics.sh --list --zookeeper kafka2:2181 
taoresetTEST

 

//在节点2上查看topic

[root@kafka-3 bin]# ./kafka-topics.sh --list --zookeeper kafka3:2181 
taoresetTEST

 

相关文章
|
2月前
|
运维 应用服务中间件 网络安全
自动化运维的新篇章:使用Ansible进行服务器配置管理
【10月更文挑战第34天】在现代IT基础设施的快速迭代中,自动化运维成为提升效率、确保一致性的关键手段。本文将通过介绍Ansible工具的使用,展示如何实现高效的服务器配置管理。从基础安装到高级应用,我们将一步步揭开自动化运维的神秘面纱,让你轻松掌握这一技术,为你的运维工作带来革命性的变化。
|
10天前
|
弹性计算 Ubuntu Linux
阿里云服务器一键安装Docker社区版教程,基于系统运维管理OOS
阿里云服务器一键安装Docker社区版教程,基于系统运维管理OOS自动化部署。支持Ubuntu 22.04/20.04、CentOS 7.7-7.9及Alibaba Cloud Linux 3.2104 LTS。前提条件:ECS实例需运行中且有公网。步骤:选择Docker扩展并安装,验证成功通过命令`docker -v`查看版本号。
166 78
|
2月前
|
消息中间件 存储 监控
构建高可用性Apache Kafka集群:从理论到实践
【10月更文挑战第24天】随着大数据时代的到来,数据传输与处理的需求日益增长。Apache Kafka作为一个高性能的消息队列服务,因其出色的吞吐量、可扩展性和容错能力而受到广泛欢迎。然而,在构建大规模生产环境下的Kafka集群时,保证其高可用性是至关重要的。本文将从个人实践经验出发,详细介绍如何构建一个高可用性的Kafka集群,包括集群规划、节点配置以及故障恢复机制等方面。
112 4
|
3月前
|
机器学习/深度学习 人工智能 运维
企业内训|LLM大模型在服务器和IT网络运维中的应用-某日企IT运维部门
本课程是为某在华日资企业集团的IT运维部门专门定制开发的企业培训课程,本课程旨在深入探讨大型语言模型(LLM)在服务器及IT网络运维中的应用,结合当前技术趋势与行业需求,帮助学员掌握LLM如何为运维工作赋能。通过系统的理论讲解与实践操作,学员将了解LLM的基本知识、模型架构及其在实际运维场景中的应用,如日志分析、故障诊断、网络安全与性能优化等。
104 2
|
20天前
|
消息中间件 Java Kafka
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
本文介绍了Kafka集群的搭建过程,涵盖从虚拟机安装到集群测试的详细步骤。首先规划了集群架构,包括三台Kafka Broker节点,并说明了分布式环境下的服务进程配置。接着,通过VMware导入模板机并克隆出三台虚拟机(kafka-broker1、kafka-broker2、kafka-broker3),分别设置IP地址和主机名。随后,依次安装JDK、ZooKeeper和Kafka,并配置相应的环境变量与启动脚本,确保各组件能正常运行。最后,通过编写启停脚本简化集群的操作流程,并对集群进行测试,验证其功能完整性。整个过程强调了自动化脚本的应用,提高了部署效率。
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
|
6天前
|
运维
阿里云服务器批量执行命令(系统运维管理oos)
阿里云【系统运维管理oos】批量执行详情
28 4
|
10天前
|
弹性计算 运维 Ubuntu
使用阿里云服务器自动搭建WordPress网站流程,超简单by系统运维管理OOS
本教程介绍如何使用阿里云服务器(ECS)和系统运维管理OOS自动搭建WordPress网站,支持Ubuntu、CentOS及Alibaba Cloud Linux等操作系统。前提条件包括ECS实例处于运行中、有公网IP且安全组已开启80端口。安装步骤简单:进入ECS快速购买控制台选择预装WordPress,确认下单后通过管理控制台查看实例详情并开放安全组端口。最后,通过实例公网IP访问,出现WordPress登录页即表示安装成功。
|
1月前
|
运维 Ubuntu 应用服务中间件
自动化运维之路:使用Ansible进行服务器管理
在现代IT基础设施中,自动化运维已成为提高效率和可靠性的关键。本文将引导您通过使用Ansible这一强大的自动化工具来简化日常的服务器管理任务。我们将一起探索如何配置Ansible、编写Playbook以及执行自动化任务,旨在为读者提供一条清晰的路径,从而步入自动化运维的世界。
|
1月前
|
运维 网络安全 Python
自动化运维:使用Ansible实现批量服务器配置
在快速迭代的IT环境中,高效、可靠的服务器管理变得至关重要。本文将介绍如何使用Ansible这一强大的自动化工具,来简化和加速批量服务器配置过程。我们将从基础开始,逐步深入到更复杂的应用场景,确保即使是新手也能跟上节奏。文章将不包含代码示例,而是通过清晰的步骤和逻辑结构,引导读者理解自动化运维的核心概念及其在实际操作中的应用。
|
1月前
|
运维 Ubuntu 网络协议
自动化运维:使用Ansible进行服务器配置管理
在现代IT架构中,自动化运维已成为提升效率、减少人为错误的关键。本文将介绍如何使用Ansible这一强大的自动化工具来简化和标准化服务器的配置管理过程。通过具体的代码示例和操作步骤,我们将展示如何快速部署应用、管理配置以及自动化日常任务,从而确保环境的一致性和可靠性。