Kafka安装部署教程和Kafka管控平台

1、前言

假设我们要部署三台Kafka,机器IP分别为IP1、IP2、IP3。

如果部署五台的时候,过程也类似。

2、部署

步骤一:环境初始化

步骤二:解压安装包


cd /home/kafka

tar xvzf kafka_2.12-2.5.1.tgz

步骤三:创建数据目录

# 创建数据目录
mkdir /home/kafka/kafka-data

步骤四:修改Kafka配置

# 进入配置文件
cd kafka_2.12-2.5.1/config

# 修改server.properties这个配置文件

broker.id=1 # 第一台机器设置为1,第二台设置为2,依次类推
delete.topic.enable=true  # 允许删除Topic
auto.create.topics.enable=true # 允许自动创建Topic,如果没有部署Kafka管控平台,那么建议开启Topic的自动创建以省略单独手动创建Topic的麻烦过程

listeners=PLAINTEXT://IP1:9092 # 该机器的服务地址

log.dirs=/home/kafka/kafka-data # 数据目录,可自定义修改

# 如果开启了Topic自动创建,同时机器>=3台,那么分区数建议默认3个,副本建议2个,以保证可靠性
num.partitions=3
default.replication.factor=2

zookeeper.connect=ZK_IP1:2181,ZK_IP2:2181,ZK_IP3:2181/apache_kafka_2_5_1   #这块是配置的ZK地址,最后的apache_kafka_2_5_1可以随意自定义,也可以就是apache_kafka_2_5_1


步骤五:启动Kafka

# 启动命令,在bin目录下执行
nohup ./kafka-server-start.sh ../config/server.properties > /dev/null 2>&1 &

# 检查是否正常启动,通过检查../logs/server.log里面是否有started日志,如果有的话,那么就启动成功了。

步骤六:集群部署

重复上面的步骤一到步骤五,在另外两台进行部署即可完成最终的部署。

3、验证

生产测试命令

./kafka-console-producer.sh --bootstrap-server IP1:9092,IP2:9092,IP3:9092 --topic kafka_test

消费测试命令

./kafka-console-consumer.sh --bootstrap-server IP1:9092,IP2:9092,IP3:9092 --topic kafka_test --group kafka_consume_test --property enable.auto.commit=true

 

以上命令都是在kafka的bin目录下执行,可以在生产的终端输入一串数据,在消费终端可以看到时就表示搭建完成了。

4、历史安装问题记录

4.1、防火墙问题

在安装的过程中,我们发现zk的状态一直是异常的,查看日志发现当前的zk和其他机器连接失败,后面关闭防火墙之后问题就解决了。

5、滴滴Kafka管控平台

1 产品简介

滴滴LogiKM脱胎于滴滴内部多年的Kafka运营实践经验,是面向Kafka用户、Kafka运维人员打造的共享多租户Kafka云平台。专注于Kafka运维管控、监控告警、资源治理等核心场景,经历过大规模集群、海量大数据的考验。内部满意度高达90%的同时,还与多家知名企业达成商业化合作。

1.1 快速体验地址
  • 体验地址 http://117.51.150.133:8080 账号密码 admin/admin
  • github开源项目地址 https://github.com/didi/LogiKM,欢迎star和fork
1.2 体验地图

相比较于同类产品的用户视角单一(大多为管理员视角),滴滴LogiKM建立了基于分角色、多场景视角的体验地图。分别是:用户体验地图、运维体验地图、运营体验地图

1.2.1 用户体验地图
  • 平台租户申请  :申请应用(App)作为Kafka中的用户名,并用 AppID+password作为身份验证
  • 集群资源申请  :按需申请、按需使用。可使用平台提供的共享集群,也可为应用申请独立的集群
  • Topic   申   请  :可根据应用(App)创建Topic,或者申请其他topic的读写权限
  • Topic   运   维  :Topic数据采样、调整配额、申请分区等操作
  • 指   标  监   控  :基于Topic生产消费各环节耗时统计,监控不同分位数性能指标
  • 消 费 组 运 维 :支持将消费偏移重置至指定时间或指定位置
1.2.2 运维体验地图
  • 多版本集群管控  :支持从0.10.22.x版本
  • 集    群    监   控  :集群Topic、Broker等多维度历史与实时关键指标查看,建立健康分体系
  • 集    群    运   维  :划分部分Broker作为Region,使用Region定义资源划分单位,并按照业务、保障能力区分逻辑集群
  • Broker    运    维  :包括优先副本选举等操作
  • Topic      运    维  :包括创建、查询、扩容、修改属性、迁移、下线等
1.2.3 运营体验地图
  • 资  源  治  理  :沉淀资源治理方法。针对Topic分区热点、分区不足等高频常见问题,沉淀资源治理方法,实现资源治理专家化
  • 资  源  审  批  :工单体系。Topic创建、调整配额、申请分区等操作,由专业运维人员审批,规范资源使用,保障平台平稳运行
  • 账  单  体  系  :成本控制。Topic资源、集群资源按需申请、按需使用。根据流量核算费用,帮助企业建设大数据成本核算体系
1.3 核心优势
  • 高 效 的 问 题 定 位  :监控多项核心指标,统计不同分位数据,提供种类丰富的指标监控报表,帮助用户、运维人员快速高效定位问题
  • 便 捷 的 集 群 运 维  :按照Region定义集群资源划分单位,将逻辑集群根据保障等级划分。在方便资源隔离、提高扩展能力的同时,实现对服务端的强管控
  • 专 业 的 资 源 治 理  :基于滴滴内部多年运营实践,沉淀资源治理方法,建立健康分体系。针对Topic分区热点、分区不足等高频常见问题,实现资源治理专家化
  • 友 好 的 运 维 生 态  :与滴滴夜莺监控告警系统打通,集成监控告警、集群部署、集群升级等能力。形成运维生态,凝练专家服务,使运维更高效
1.4 滴滴LogiKM架构图

logikm-arch

2 相关文档

2.1 产品文档
2.2 社区文章

3 滴滴Logi开源用户交流群

image
微信加群:关注公众号 云原生可观测性 回复 “Logi加群”

Logo

Kafka开源项目指南提供详尽教程,助开发者掌握其架构、配置和使用,实现高效数据流管理和实时处理。它高性能、可扩展,适合日志收集和实时数据处理,通过持久化保障数据安全,是企业大数据生态系统的核心。

更多推荐