随笔 - 441  文章 - 4  评论 - 84  阅读 - 109万 

 

1.下载

http://mirror.bit.edu.cn/apache/kafka/2.1.0/kafka_2.11-2.1.0.tgz

2.解压 

tar -zxvf kafka_2.11-2.1.0.tgz

3.创建两份配置文件

cd conf

cp server.properties  server1.properties

cp server.properties  server2.properties

4.创建两个log目录

cd logs

mkdir log1 log2

5.编辑配置文件

编辑 server1.properties,server2.properties

主要修改点

#broker id 在集群中必须唯一

broker.id=1

#监听端口

#listeners=PLAINTEXT://:9001

host.name=192.168.1.1

port=9001

#topic 分区数量

num.partitions=5

# 数据存储目录

log.dirs=/home/kafka/kafka_2.12-2.1.0/logs/log1

# zookpeer 配置

zookeeper.connect=localhost:2181,localhost:2182,localhost:2183

两个文件不同的地方

broker.id,log.dirs ,host.name(kafka所在的IP),port:kafka的端口

6.启动kafka集群

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

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

7.验证集群

./bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 5 --topic my-topic

创建一个my-topic 的 topic 

副本为1

分区数为5

实例1

 

实例2

 可以看到两个实例,一个实例上有3个分区,一个为两个分区。

 显示kafka 主题数量

./kafka-topics.sh --zookeeper localhost:2181 --describe

 

kafka 内存调整

如果使用的CMS GC算法,建议JVM Heap不要太大,在4GB以内就可以。JVM太大,导致Major GC或者Full GC产生的“stop the world”时间过长,导致broker和zk之间的session超时,比如重新选举controller节点和提升follow replica为leader replica。

JVM也不能过小,否则会导致频繁地触发gc操作,也影响Kafka的吞吐量。另外,需要避免CMS GC过程中的发生promotion failure和concurrent failure问题。CMSInitiatingOccupancyFraction=70可以预防concurrent failure问题,提前出发Major GC。

Kafka JVM参数可以直接修改启动脚本bin/kafka-server-start.sh 中的变量值。下面是一些基本参数,也可以根据实际的gc状况和调试GC需要增加一些相关的参数。

export KAFKA_HEAP_OPTS="-Xmx4G -Xms4G -Xmn2G -XX:PermSize=64m -XX:MaxPermSize=128m  -XX:SurvivorRatio=6  -XX:CMSInitiatingOccupancyFraction=70 -XX:+UseCMSInitiatingOccupancyOnly"

posted on   自由港  阅读(385)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示