kafka3.6.0部署

这篇具有很好参考价值的文章主要介绍了kafka3.6.0部署。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

部署zk

https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.9.1/apache-zookeeper-3.9.1.tar.gz

tar -xf  apache-zookeeper-3.9.1.tar.gz -C /apps
cd /apps/ && ln -s   apache-zookeeper-3.9.1   zookeeper
修改配置

```bash
grep -vE '^$|^#' conf/zoo.cfg 
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/apps/zookeeper/data
clientPort=2181
autopurge.snapRetainCount=3
autopurge.purgeInterval=24
server.1=192.168.1.60:2888:3888  #server.后面数字不要一样
server.2=192.168.1.61:2888:3888
server.3=192.168.1.62:2888:3888

root@ubuntu20:/apps/zookeeper/bin# cat /etc/profile.d/zk.sh
#!/bin/bash
export PATH=/apps/zookeeper/bin/:$PATH
mkdir /data
root@ubuntu20:/apps/zookeeper# echo 3 > data/myid
拷贝到其他节点并修改myid

配置环境变量
root@ubuntu20:/apps/zookeeper/bin# source /etc/profile.d/zk.sh

scp /etc/profile.d/zk.sh 192.168.1.62:/etc/profile.d
scp /etc/profile.d/zk.sh 192.168.1.61:/etc/profile.d
source /etc/profile.d/zk.sh

启动zk

zkServer.sh start

查看状态
root@ubuntu20:/apps/zookeeper# zkServer.sh status
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /apps/zookeeper/bin/…/conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.

Mode: leader

访问zk
zkCli.sh -server 192.168.1.60:2181

部署kafka集群

192.168.1.60
192.168.1.61
192.168.1.62
下载解压

修改 配置文件

root@ubuntu20:/apps/kafka/config# cat server.properties
broker.id=62  #每个节点不要一样
listeners=PLAINTEXT://192.168.1.62:9092  #监听的地址:配置为本机ip ,注意格式
zookeeper.connect=192.168.1.60:2181,192.168.1.61:2181,192.168.1.62:2181  #修改配置zk的地址

所有节点配置环境变量

cat  /etc/profile.d/kafka.sh
#!/bin/bash
export  KAFKA_HOME=/apps/kafka
export   PATH=$PATH:$KAFKA_HOME/bin
source  /etc/profile.d/kafka.sh
root@ubuntu20:/apps/kafka/config# scp  /etc/profile.d/kafka.sh  192.168.1.62:/etc/profile.d/

启动
kafka-server-start.sh -daemon /apps/kafka/config/server.properties
查看端口

vi /lib/systemd/system/kafka.service
[Unit]
Description=Apache Kafka
After=network.target

[Service]
Type=simple
#Environment=JAVA_HOME=/data/server/java
PIDFile=/apps/kafka/kafka.pid
ExecStart=/apps/kafka/bin/kafka-server-start.sh /apps/kafka/config/server.properties
ExecStop=/bin/kill -TERM ${MAINPID}
Restart=always
RestartSec=20

[Install]
WantedBy=multi-user.target

创建topic

root@ubuntu20:/apps/kafka/data# kafka-topics.sh --create --topic wang --bootstrap-server 192.168.1.60:9092 --partitions 3 --replication-factor 2
Created topic wang.

查看topic

kafka-topics.sh   --bootstrap-server 192.168.1.60:9092 --list

查看topic详细信息

root@ubuntu20:/apps/kafka# kafka-topics.sh   --bootstrap-server 192.168.1.60:9092 --topic luo --describe
Topic: luo	TopicId: 3Gm_DopHQb-HgvLih6WuiQ	PartitionCount: 1	ReplicationFactor: 1	Configs: 
	Topic: luo	Partition: 0	Leader: 60	Replicas: 60	Isr: 60

root@ubuntu20:/apps/kafka# kafka-topics.sh   --bootstrap-server 192.168.1.60:9092 --topic wang --describe
Topic: wang	TopicId: eZ7lTktaQ1mVarYE-Q_K1A	PartitionCount: 3	ReplicationFactor: 2	Configs: 
	Topic: wang	Partition: 0	Leader: 61	Replicas: 61,60	Isr: 61,60
	Topic: wang	Partition: 1	Leader: 60	Replicas: 60,62	Isr: 60,62
	Topic: wang	Partition: 2	Leader: 62	Replicas: 62,61	Isr: 62,61

读写都在leader节点上

启动生产者
kafka-console-producer.sh --topic luo --bootstrap-server 192.168.1.60:9092
该命令的目的是启动一个 Kafka 生产者,将消息发送到 luo 主题,并使用 192.168.1.60:9092 作为 Kafka 集群的地址。

启动消费者 --from-beginning 从头开始拿数据
kafka-console-consumer.sh --topic luo --from-beginning --bootstrap-server 192.168.1.60:9092

修改分区数为5
kafka-topics.sh --bootstrap-server 192.168.1.60:9092 --topic wang --alter --partitions 5
kafka3.6.0配置自动创建主题,kafka

删除topic
kafka-topics.sh --delete --bootstrap-server=192.168.1.60:9092 --topic test

kafka依赖zk提供元数据储存

分区:
副本:

 kafka-producer-perf-test.sh --topic test --num-records 10000000 --throughput -1 --record-size 1024 --producer-props bootstrap.servers=192.168.1.60:9092 acks=-1 linger.ms=2000 compression.type=lz4
 32532 records sent, 6499.9 records/sec (6.35 MB/sec), 1536.5 ms avg latency, 2338.0 ms max latency.
32532 records sent:发送了 32532 条消息。
6499.9 records/sec:平均每秒发送了 6499.9 条消息。
(6.35 MB/sec):发送速度为每秒 6.35 MB 的数据量。
1536.5 ms avg latency:平均延迟为 1536.5 毫秒,这表示从消息发送到确认接收所需的平均时间。
2338.0 ms max latency:最大延迟为 2338.0 毫秒,这表示消息发送到确认接收期间的最长时间。

消费者组案列

启动生产者
kafka-console-producer.sh --topic oldboy --broker-list 192.168.1.60:9092

基于配置文件启动消费者
root@kafka01:~# kafka-console-consumer.sh --bootstrap-server 192.168.1.60:9092 --topic oldboy --consumer.config /apps/kafka/config/consumer.properties
ll
.dd

基于命令行启动消费者
root@kafka01:~# kafka-console-consumer.sh --bootstrap-server 192.168.1.60:9092 --topic oldboy --consumer-property group.id=luohuiwen
上面的案例启动了1个生产者,2个消费者。但同一时刻只有一个消费者接收到生产者的消息,不可能2个消费者同时接收到生产者发送的消息哟~

kafka高效读写数据的底层原理:顺序写磁盘 零拷贝技术 异步刷盘

堆内存调整

root@kafka01:/apps/kafka/bin# grep export kafka-server-start.sh 
    export KAFKA_LOG4J_OPTS="-Dlog4j.configuration=file:$base_dir/../config/log4j.properties"
   # export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"  #修改此行就行
   # export KAFKA_HEAP_OPTS="-Xmx256M -Xms256M"
       export KAFKA_HEAP_OPTS="-server -Xmx256M -Xms256M -XX:PermSize=128m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:ParallelGCThreads
=8 -XX:ConcGCThreads=5 -XX:InitiatingHeapOccupancyPercent=70" 

添加修改端口 这个是jmx的端口,后面的监控要用到
kafka3.6.0配置自动创建主题,kafka

部署

安装数据库创建数据库授权

下载https://github.com/smartloli/kafka-eagle-bin/archive/v3.0.1.tar.gz

解压修改配置

efak.zk.cluster.alias=cluster1,cluster2
cluster1.zk.list=192.168.1.60:2181,192.168.1.61:2181,192.168.1.62:2181  #填写kafka地址

efak.url=jdbc:mysql://127.0.0.1:3306/oldboyedu_kafka? useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull #oldboyedu_kafka  创建的数据库
efak.username=kafka  #数据库授权用户
efak.password=123456

kafka3.6.0配置自动创建主题,kafka
访问
kafka3.6.0配置自动创建主题,kafka
压力测试

kafka-consumer-perf-test.sh --broker-list 192.168.1.60:9092,192.168.1.61:9092,192.168.1.62:9092 --topic luohuiwen --messages 100000000 --fetch-size 1048576 --threads 10

告警

谁创建了topic就发生通知

调优

1.硬件架构选择
cpu:建议选择核心数多的优于主bi,
内存
磁盘
网卡

加大文件描述符

内核优化

export KAFKA_HEAP_OPTS="-server -Xmx256M -Xms256M -XX:PermSize=128m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:ParallelGCThreads
=8 -XX:ConcGCThreads=5 -XX:InitiatingHeapOccupancyPercent=70" 
export JMX_PORT="8888"

-server -Xmx256M
-Xms256M
-XX:PermSize=128m
-XX:+UseG1GC 表示让jvm使用G1垃圾收集器
-XX:MaxGCPauseMillis=200 设置每次年轻代垃圾回收的最长时间为200ms,如果时间无法满足,jvm会自动调整年轻代大小,以满足此值
-XX:ParallelGCThreads=8 设置并行垃圾回收的线程数,此值可以设置与机器处理数相等
-XX:ConcGCThreads=5 -XX:InitiatingHeapOccupancyPercent=70"
该参数可以指定当整个堆使用率到达多少时,触发并标记周期的执行。默认值是45,即当堆的使用45%,执行并标记周期,该值一旦设置,始终不会被G1修改

broken调优

auto.create.topics.enable=false #是否允许自动创建topic

log.retention.hours=168 # 日志保留时间文章来源地址https://www.toymoban.com/news/detail-793116.html

到了这里,关于kafka3.6.0部署的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Kafka3.0.0版本——消费者(独立消费者消费某一个主题数据案例__订阅主题)

    1.1、案例需求 创建一个独立消费者,消费firstTopic主题中数据,所下图所示: 注意:在消费者 API 代码中必须配置消费者组 id。命令行启动消费者不填写消费者组id 会被自动填写随机的消费者组 id。 1.2、案例代码 代码 1.3、测试 在 Kafka 集群控制台,创建firstTopic主题 在 IDEA中

    2024年02月09日
    浏览(40)
  • Kafka3.0.0版本——消费者(独立消费者消费某一个主题中某个分区数据案例__订阅分区)

    1.1、案例需求 创建一个独立消费者,消费firstTopic主题 0 号分区的数据,所下图所示: 1.2、案例代码 生产者往firstTopic主题 0 号分区发送数据代码 消费者消费firstTopic主题 0 分区数据代码 1.3、测试 在 IDEA 中执行消费者程序,如下图: 在 IDEA 中执行生产者程序 ,在控制台观察

    2024年02月09日
    浏览(45)
  • 部署kafka集群后创建主题超时Timed out waiting for a node assignment. Call:createTopics (kafka.admin.TopicCommand

    一、起初无非就是更改server.properties中的配置,以下三项 1.14.247.152的server.properties 159.75.241.252的server.properties 112.74.188.40的server.properties 二、分别在三台服务器的bin目录下启动kafka 三、jps命令查看状态启动成功后,连接kafka并创建topics 报错: 大概意思是等待分配结点超时。 查

    2023年04月19日
    浏览(43)
  • linux部署kafka3.5.1(单机)

    kafka3.x版本需要jdk11以上版本才能更好的兼容,jdk11、jdk17都是LTS长期维护版本,而且jdk17支持springboot3.x,所以我选择了openjdk17。 下载地址:  Archived OpenJDK GA Releases https://jdk.java.net/archive/ openjdk-17_linux-x64_bin.tar.gz 安装包上传到服务器的安装目录 执行命令解压: tar -zxvf openjdk-17_

    2024年02月12日
    浏览(41)
  • 在Windows上搭建Kafka环境的步骤,包括安装Java、下载Kafka、配置Zookeeper和Kafka、启动Zookeeper和Kafka、创建主题和生产者/消费者等

    1. 安装Java Kafka需要Java环境支持。可以从Oracle官网下载JDK,或者使用OpenJDK。 2. 下载Kafka 可以从Kafka官网下载Kafka二进制压缩包。解压后可以看到bin、config、libs等目录。 3. 配置Zookeeper Kafka依赖Zookeeper实现分布式协作。可以使用Kafka自带的Zookeeper,也可以独立安装Zookeeper。 如果使

    2024年02月11日
    浏览(45)
  • kafka3.4.0版本升级--helm部署

    最近由于kafka的漏洞需要升级至3.4.0版本,之前由于不是helm部署,升级起来出现了权限问题、挂盘问题,在k8s搞了许久都搞不定,狠下心来,直接来一波helm安装,在2月份的时候,helm官网已推出chart-21.0.1包(https://artifacthub.io/packages/helm/bitnami/kafka)。用chart-21.0.1包准备开搞。

    2024年02月16日
    浏览(38)
  • Kafka3.0.0版本——Leader Partition自动平衡

    正常情况下,Kafka 本身会自动把Leader Partition均匀分散在各个机器上 ,来保证每台机器的读写吞吐量都是均匀的。但是如果 某些broker宕机,会导致Leader Partition过于集中在其他少部分几台broker上 ,这会导致少数几台broker的读写请求压力过高,其他宕机的broker重启之后都是foll

    2024年02月11日
    浏览(48)
  • Kafka3.0.0版本——消费者(自动提交 offset)

    官网文档 参数解释 参数 描述 enable.auto.commi 默认值为 true,消费者会自动周期性地向服务器提交偏移量。 auto.commit.interval.ms 如果设置了 enable.auto.commit 的值为 true, 则该值定义了消费者偏移量向 Kafka 提交的频率,默认 5s。 图解分析 消费者自动提交 offset代码 消费者自动提交

    2024年02月09日
    浏览(38)
  • Kafka3.0.0版本——集群部署(linux环境-centos7)

    三台服务器 服务器名称 服务器ip centos7虚拟机1 192.168.136.27 centos7虚拟机2 192.168.136.28 centos7虚拟机3 192.168.136.29 Zookeeper集群安装参考此博文链接:https://wwwxz.blog.csdn.net/article/details/129280956?spm=1001.2014.3001.5502 3.1、官网下载地址 官网下载地址:http://kafka.apache.org/downloads.html 3.2、下载

    2024年02月04日
    浏览(45)
  • kafka3.4.0单机版安装配置教程(kraft模式舍弃ZK)

    下载地址:https://archive.apache.org/dist/kafka/3.4.0/

    2024年04月17日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包