kafka3.6.0部署

news2025/1/21 4:54:56

部署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
在这里插入图片描述

删除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的端口,后面的监控要用到
在这里插入图片描述

部署

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

下载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

在这里插入图片描述
访问
在这里插入图片描述
压力测试

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1280067.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

代码随想录算法训练营第四十一天 _ 动态规划_343. 整数拆分、96.不同的二叉搜索树、01背包问题。

学习目标: 动态规划五部曲: ① 确定dp[i]的含义 ② 求递推公式 ③ dp数组如何初始化 ④ 确定遍历顺序 ⑤ 打印递归数组 ---- 调试 引用自代码随想录! 60天训练营打卡计划! 学习内容: 343. 整数拆分 动态规划五步曲&…

【接口测试】Apifox实用技巧干货分享

前言 不知道有多少人和我有着这样相似的经历:从写程序只要不报错就不测试😊,到写了程序若是有bug就debug甚至写单元测试,然后到了真实开发场景,大哥和你说,你负责的功能模块的所有接口写完要测试一遍无误在…

python——进程常用功能

Python的multiprocessing模块提供了强大的并行处理能力,以下是几个功能的详细解释: join(): 在multiprocessing中,join方法用于阻塞主进程直到指定的进程终止。这对于确保所有子进程在程序结束前完成其工作是很有用的。deamon(): 在multipro…

16.字符串处理函数——字符串长度函数

文章目录 前言一、题目描述 二、解题 程序运行代码 总结 前言 本系列为字符串处理函数编程题&#xff0c;点滴成长&#xff0c;一起逆袭。 一、题目描述 二、解题 程序运行代码 #include<stdio.h> #include<string.h> int main() {char str[ ]"0123\0456…

根据关键词写作文章的软件,根据标题写作文章的工具

在当今信息化时代&#xff0c;人工智能技术的飞速发展&#xff0c;智能AI写作工具逐渐成为文案创作者的得力助手。这些工具不仅能够根据标题迅速生成文章&#xff0c;而且在提高创作效率的同时&#xff0c;也为我们节省了大量时间和精力。 人工智能的基本原理&#xff1a;人工智…

如何查看Microsoft Office 使用期限

1.进入到 Office 软件的安装目录&#xff08;******\Microsoft Office\Office&#xff09; ## 以管理员身份打开 Windows PowerShell输入以下命令&#xff0c;回车 cscript ospp.vbs /dstatusREMAINING GRACE 一行表示激活剩余天数&#xff08;括号内是换算成的剩余分钟数…

15.字符串处理函数——字符串连接函数

文章目录 前言一、题目描述 二、解题 程序运行代码 总结 前言 本系列为字符串处理函数编程题&#xff0c;点滴成长&#xff0c;一起逆袭。 一、题目描述 二、解题 程序运行代码 #include<stdio.h> #include<string.h> int main() {char dest[20] "12345…

【Linux】第二十五站:深入理解文件系统

文章目录 一、前言二、认识硬件----磁盘1.基本介绍2.磁盘的存储构成3.磁盘的逻辑结构4.回归到硬件 三、文件系统1.划分2.Block group(1)Data blocks(2)inode Table(3)Block Bitmap(4)inode Bitmap(5)Group Descriptor Table(GDT)(6)Super Block 3.总结4.一些其他问题5.如何理解…

音视频的功耗优化

前言 在应用中&#xff0c;录制与音视频模块往往是高耗能的模块&#xff0c;设备容易发热&#xff0c;影响体验。 什么是功耗优化 手机有多个耗电模块&#xff0c; SOC(CPU&#xff0c;GPU&#xff0c;DDR)&#xff0c;Display&#xff0c;Audio&#xff0c;Video&#xff0…

loguru的简单使用

详细使用&#xff1a;Table of contents — loguru documentation 【1】日志的级别 日志级别默认分为6种 1、NOTSET (0)2、DEBUG (1)3、INFO (2)4、WARNING (3)5、ERROR (4)6、CRITICAL (5) logging 执行时输出大于等于设置的日志级别的日志信息&#xff0c;如设置日…

zemax之初级像差理论与像差校正——慧差

通过上节介绍&#xff0c;我们已经知道在轴上视场产生的球差是旋转对称的像差。在进行光学系统设计时&#xff0c;同时需要保证轴上物点和轴外物点的成像质量。轴外物点成像时会引入轴外像差&#xff0c;即轴外视场产生的慧差&#xff08;coma aberration&#xff09; 1.慧差概…

STM32-SPI 中断

SPI协议 1.1 SPI总线介绍 SPI接口是Motorola &#xff08;motorola | Smartphones, Accessories & Smart Home Devices&#xff09;首先提出的全双工三线/四线同步串行外围接口采用主从模式&#xff08;Master Slave&#xff09;架构。 时钟由Master控制&#xff0c;在时钟…

采购业务中的主数据

目录 一、维护BP主数据业务伙伴BP的概念业务伙伴涉及的表业务伙伴维护操作一次性客商数据 二、维护物料主数据三、维护采购信息记录四、与FI相关集成点物料主数据的价格控制评估类与科目确定 一、维护BP主数据 业务伙伴BP的概念 在S/4HANA中&#xff0c;SAP引入了BP(Business…

【最通用版FPGA 实现 SPI 驱动】

最近研究了一下SPI协议的FPGA实现&#xff0c;发现网上很多大佬分享的方法都是针对某一特定的flash芯片或者某一传感器芯片来设计电路结构的。所以想根据SPI&#xff08;Serial Peripheral Interface&#xff09;的基本通讯协议实现一个通用版的SPI Master驱动。SPI在嵌入式领域…

详解Spring中基于注解的Aop编程以及Spring对于JDK和CGLIB代理方式的切换

&#x1f609;&#x1f609; 学习交流群&#xff1a; ✅✅1&#xff1a;这是孙哥suns给大家的福利&#xff01; ✨✨2&#xff1a;我们免费分享Netty、Dubbo、k8s、Mybatis、Spring...应用和源码级别的视频资料 &#x1f96d;&#x1f96d;3&#xff1a;QQ群&#xff1a;583783…

TinyVue 组件库助力赛意信息获得工业软件种子奖

首先恭喜广州赛意信息科技股份有限公司荣获工业软件种子奖&#xff01;在本次大赛中&#xff0c;凭借“数据驱动智造&#xff0c;基于 iDME 的赛意新一代 SMOM 赋能电子行业制造运营管理解决方案”这一作品脱颖而出~ 大赛简介 10月30日至10月31日&#xff0c;由广东省工业和信…

Tomcat外传

作者简介&#xff1a;大家好&#xff0c;我是smart哥&#xff0c;前中兴通讯、美团架构师&#xff0c;现某互联网公司CTO 联系qq&#xff1a;184480602&#xff0c;加我进群&#xff0c;大家一起学习&#xff0c;一起进步&#xff0c;一起对抗互联网寒冬 本篇开始&#xff0c;我…

wordpress建站优化加速教程-Redis加速

这篇文章适合宝塔面板&#xff0c;在宝塔面板安装 Redis 实现网站加速&#xff08; Redis是一个高性能的key-value数据库(PHP连接redis&#xff0c;需PHP设置中安装redis扩展) &#xff09;。对在word press网站有着明显的加速效果。关于Redis具体说明请自己百度&#xff0c;…

也可Adobe Animate

Animate CC 由原Adobe Flash Professional CC 更名得来&#xff0c;2015年12月2日&#xff1a;Adobe 宣布Flash Professional更名为Animate CC&#xff0c;在支持Flash SWF文件的基础上&#xff0c;加入了对HTML5的支持。并在2016年1月份发布新版本的时候&#xff0c;正式更名为…

1688买家API接口跨境卖家需要的API接口

1688作为深耕产业带多年的数字供应链平台&#xff0c;近两年不仅在年轻消费群体中热度飙升&#xff0c;在跨境侧也有不俗表现。 11月19日&#xff0c;1688总裁余涌在1688跨境寻源通计划发布会上透露&#xff0c;1688平台拥有100万的源头厂商&#xff0c;每年服务6500万的B类买…