Kafka单机部署学习演示案例
Kafka 单机部署演示
前置准备
虚拟机配置:
- 内存:3G
- 处理器:1
- 核数:1
(一)kafka 安装
去kafka官网下载稳定版本到Linux服务器中进行解压安装。下载链接,我这里使用的是2.7.0 版本的, 建议使用迅雷插件下载,wget 速度有点慢。
[root@localhost install-package]# pwd
/home/lvzb/install-package
[root@localhost install-package]# wget https://archive.apache.org/dist/kafka/2.7.0/kafka_2.13-2.7.0.tgz
[root@localhost install-package]# ls
jdk-8u11-linux-x64.tar.gz jdk-8u351-linux-x64.tar.gz kafka_2.13-2.7.0.tgz
[root@localhost install-package]#
[root@localhost install-package]#
[root@localhost install-package]#
[root@localhost install-package]# tar -zxvf kafka_2.13-2.7.0.tgz
kafka_2.13-2.7.0/
kafka_2.13-2.7.0/LICENSE
kafka_2.13-2.7.0/NOTICE
kafka_2.13-2.7.0/bin/
kafka_2.13-2.7.0/bin/kafka-delete-records.sh
kafka_2.13-2.7.0/bin/trogdor.sh
kafka_2.13-2.7.0/bin/kafka-preferred-replica-election.sh
kafka_2.13-2.7.0/bin/connect-mirror-maker.sh
.......[root@localhost install-package]#
[root@localhost install-package]# ls
jdk-8u11-linux-x64.tar.gz jdk-8u351-linux-x64.tar.gz kafka_2.13-2.7.0 kafka_2.13-2.7.0.tgz
[root@localhost install-package]# cp -r kafka_2.13-2.7.0 /opt/software/middleware/kafka_broke1
[root@localhost install-package]# cp -r kafka_2.13-2.7.0 /opt/software/middleware/kafka_broke2
(二)启动 kafka
- 修改配置文件,进入kafka目录修改
config/server.properties
打开listeners=PLAINTEXT://localhost:9092
localhost 最好换成你的虚拟机ip, - 启动内置zookeeper
- 启动kafkfa服务
- nohup XXXX & : 后台启动
[root@localhost kafka_2.13-2.7.0]#
[root@localhost kafka_2.13-2.7.0]# pwd
/opt/software/middleware/kafka_2.13-2.7.0
[root@localhost kafka_2.13-2.7.0]#
[root@localhost kafka_2.13-2.7.0]# vim config/server.properties.....
# The address the socket server listens on. It will get the value returned from
# java.net.InetAddress.getCanonicalHostName() if not configured.
# FORMAT:
# listeners = listener_name://host_name:port
# EXAMPLE:
# listeners = PLAINTEXT://your.host.name:9092
listeners=PLAINTEXT://192.168.125.100:9092
....[root@localhost kafka_2.13-2.7.0]# nohup bin/zookeeper-server-start.sh config/zookeeper.properties &
[1] 69676
[root@localhost kafka_2.13-2.7.0]# nohup bin/kafka-server-start.sh config/server.properties &
[2] 70059
(三)创建 topic
- 创建一个 topic testk 含有3个partition, 每个 partition 单副本
- 命令说明
- 查看topic:
bin/kafka-topics.sh --zookeeper localhost:2181 --list
- 创建topic:
bin/kafka-topics.sh --zookeeper localhost:2181 --create --topic testk --partitions 3 --replication factor 1
- 查看topic
testk
:bin/kafka-topics.sh --zookeeper localhost:2181 --describe --topic testk
- 查看topic:
[root@localhost kafka_2.13-2.7.0]# bin/kafka-topics.sh --zookeeper localhost:2181 --list
[root@localhost kafka_2.13-2.7.0]#
[root@localhost kafka_2.13-2.7.0]#
[root@localhost kafka_2.13-2.7.0]#bin/kafka-topics.sh --zookeeper localhost:2181 --create --topic testk --partitions 3 --replication factor 1
[root@localhost kafka_2.13-2.7.0]#
[root@localhost kafka_2.13-2.7.0]# bin/kafka-topics.sh --zookeeper localhost:2181 --describe --topic testk
Topic: testk PartitionCount: 3 ReplicationFactor: 1 Configs:Topic: testk Partition: 0 Leader: 0 Replicas: 0 Isr: 0Topic: testk Partition: 1 Leader: 0 Replicas: 0 Isr: 0Topic: testk Partition: 2 Leader: 0 Replicas: 0 Isr: 0
[root@localhost kafka_2.13-2.7.0]#
(四)创建消费者
- 新开一个窗口 创建生产者:
bin/kafka-console-producer.sh --bootstrap-server 192.168.125.100:9092 --topic testk
, 输入
[root@localhost kafka_2.13-2.7.0]# bin/kafka-console-producer.sh --bootstrap-server 192.168.125.100:9092 --topic testk
>
>
>
>
>
>
>aaa
> hello world
>
>你好
> 行路难,行路难,多歧路,今安在?
>长风破浪会有时,直挂云帆济沧海!
>
>
- 新开一个窗口 创建一个消费者:
bin/kafka-console-consumer.sh --bootstrap-server 192.168.125.100:9092 --from-beginning --topic testk
, 从头开始消费
[root@localhost kafka_2.13-2.7.0]# bin/kafka-console-consumer.sh --bootstrap-server 192.168.125.100:9092 --from-beginning --topic testkaaa
hello world你好行路难,行路难,多歧路,今安在?
长风破浪会有时,直挂云帆济沧海!
(五)性能测试
// 生产者
bin/kafka-producer-perf-test.sh --topic testk --num-records 100000 --record-size 1000 --throughput 2000 --producer-props bootstrap.servers=192.168.125.100:9092
// 消费者
bin/kafka-consumer-perf-test.sh --bootstrap-server 192.168.125.100:9092 --topic testk --fetch-size 1048576 --messages 100000 --threads 1
- 生产者测试:
bin/kafka-producer-perf-test.sh --topic testk --num-records 100000 --record-size 1000 --throughput 200000 --producer-props bootstrap.servers=192.168.125.100:9092
- 给topic testk 发送 100000 个消息,
- –num-records 100000: 总共发送100000条信息
- –record-size 1000: 每个消息 1000字节大小
- –throughput 200000: 每秒200000条消息 ,每秒多少条信息,设置成-1,表示不限流,可测生产者最大吞吐量
[root@localhost kafka_2.13-2.7.0]#
[root@localhost kafka_2.13-2.7.0]#
[root@localhost kafka_2.13-2.7.0]# bin/kafka-producer-perf-test.sh --topic testk --num-records 100000 --record-size 1000 --throughput 200000 --producer-props bootstrap.servers=192.168.125.100:9092
770 records sent, 152.5 records/sec (0.15 MB/sec), 758.4 ms avg latency, 3553.0 ms max latency.
3791 records sent, 755.3 records/sec (0.72 MB/sec), 1680.1 ms avg latency, 2748.0 ms max latency.
5737 records sent, 1138.5 records/sec (1.09 MB/sec), 2480.5 ms avg latency, 3174.0 ms max latency.
7895 records sent, 1556.3 records/sec (1.48 MB/sec), 1755.0 ms avg latency, 2854.0 ms max latency.
8928 records sent, 1773.5 records/sec (1.69 MB/sec), 1451.4 ms avg latency, 2237.0 ms max latency.
8888 records sent, 1770.5 records/sec (1.69 MB/sec), 820.1 ms avg latency, 1850.0 ms max latency.
从结果来看 :发送9000条左右数据 ,大约每秒能发送 1770 个左右消息,吞吐量为1.69MB/sec, 每次写入的评均延迟1451.4ms, 最大延迟 2237.0ms。虚拟机的配置不是很好
- 消费者测试:
bin/kafka-consumer-perf-test.sh --bootstrap-server 192.168.125.100:9092 --topic testk --fetch-size 1048576 --messages 100000 --threads 1
- –topic: 指定topic
- –fetch-size : 指定每个 fetch的数据大小
- –messages : 总共要消费的消息个数
[root@localhost kafka_2.13-2.7.0]#
[root@localhost kafka_2.13-2.7.0]# bin/kafka-consumer-perf-test.sh --bootstrap-server 192.168.125.100:9092 --topic testk --fetch-size 1048576 --messages 100000 --threads 1
WARNING: option [threads] and [num-fetch-threads] have been deprecated and will be ignored by the test
start.time, end.time, data.consumed.in.MB, MB.sec, data.consumed.in.nMsg, nMsg.sec, rebalance.time.ms, fetch.time.ms, fetch.MB.sec, fetch.nMsg.sec
2022-11-14 21:38:37:934, 2022-11-14 21:38:45:708, 95.6700, 12.3064, 100340, 12907.1263, 1668433121352, -1668433113578, -0.0000, -0.0001
[root@localhost kafka_2.13-2.7.0]#
[root@localhost kafka_2.13-2.7.0]#
[root@localhost kafka_2.13-2.7.0]# bin/kafka-consumer-perf-test.sh --bootstrap-server 192.168.125.100:9092 --topic testk --fetch-size 1048576 --messages 100000 --threads 1
WARNING: option [threads] and [num-fetch-threads] have been deprecated and will be ignored by the test
start.time, end.time, data.consumed.in.MB, MB.sec, data.consumed.in.nMsg, nMsg.sec, rebalance.time.ms, fetch.time.ms, fetch.MB.sec, fetch.nMsg.sec
2022-11-14 21:41:26:185, 2022-11-14 21:41:33:692, 95.6700, 12.7441, 100340, 13366.1916, 1668433289699, -1668433282192, -0.0000, -0.0001
开始时间 | 结束时间 | 共消费数据 MB | 吞吐量 | 共消费数据 条 | 平均每秒消费/条 | 7 | 8 | 9 | 0 |
---|---|---|---|---|---|---|---|---|---|
start.time | end.time | data.consumed.in.MB | MB.sec | data.consumed.in.nMsg | nMsg.sec | rebalance.time.ms | fetch.time.ms | fetch.MB.sec | fetch.nMsg.sec |
2022-11-14 21:38:37:934 | 2022-11-14 21:38:45:708 | 95.6700 | 12.3064 | 100340 | 12907.1263 | 1668433121352 | -1668433113578 | -0.0000 | -0.0001 |
2022-11-14 21:41:26:185 | 2022-11-14 21:41:33:692 | 95.6700 | 12.7441 | 100340 | 13366.1916 | 1668433289699 | -1668433282192 | -0.0000 | -0.0001 |
从结果来看: 平均每秒消费 1万2千条左右妥妥的
报错问题解决
jdk 版本过低导致启动失败
java.lang.VerifyError: Uninitialized object exists on backward branch
:- 解决,升级jdk版本即可
使用localhost:9092导致 创建生产者和消费者时重复弹出日志
WARN [Producer clientId=console-producer] Bootstrap broker localhost:9092 (id: -1 rack: null) disconnected (org.apache.kafka.clients.NetworkClient)
- 解决:使用ip:9092 而不用 localhost
参考资料
- 超详细的CentOS7.4下载与图文安装
- VMware : 处理器数量和每个处理器的核心数量
- Kafka压力测试(官方自带
Kafka单机部署学习演示案例相关推荐
- sqlserver 2012实施与管理学习笔记(一):选型和部署之单机部署、故障转移群集与日志传送
sqlserver 2012实施与管理学习笔记(一):选型和部署之单机部署.故障转移群集与日志传送 数据库的选型和部署 sqlserver的安装和升级 选择高可用性和灾难恢复技术 故障转移群集 日志传 ...
- Ubuntu Kylin使用docker单机部署Fate联邦学习框架
Ubuntu Kylin使用docker单机部署Fate联邦学习框架 Fate联邦学习框架分为单机部署和集群部署,本文是在Ubuntu Kylin上使用docker单机部署Fate联邦学习框架,具体环 ...
- (一)联邦学习FATE框架1.6.0版本单机部署和实战训练评估篇
FATE 1.6.0学习笔记 系统安装,环境搭建和fate框架搭建指南手册下载 链接:https://pan.baidu.com/s/1K-88uye6RN3tLHw6f_r9Ug 提取码:5y2u ...
- Mac/Linux 安装联邦学习 Fate 框架单机部署所需的依赖(填坑大全)
安装过程各种坑,官方单机部署教程,然而官方教程问题超多,我在Mac本机与新建的ubuntu18.04.5上分别单机部署,使用standalone-fate-master-1.4.5.tar.gz,py ...
- WeText项目:一个基于.NET实现的DDD、CQRS与微服务架构的演示案例
最近出于工作需要,了解了一下微服务架构(Microservice Architecture,MSA).我经过两周业余时间的努力,凭着自己对微服务架构的理解,从无到有,基于.NET打造了一个演示微服务架 ...
- Kafka入门篇学习笔记整理
Kafka入门篇学习笔记整理 Kafka是什么 Kafka的特性 应用场景 Kafka的安装 单机版部署 集群部署环境准备 Kafka 2.x集群部署 Kafka 3.x集群部署 监听器和内外网络 K ...
- 工控安全:攻防演示案例分享
列举一些可以在工控安全项目中用的攻防演示案例,持续更新...... 前言 在某核电的安全项目中,感谢公司leader信任让我负责项目的总体方案设计.攻防案例设计.安全防护等方案,经过前期大量的搜索.复 ...
- day70-大数据之Hadoop部署1(单机部署与伪分布式部署)
大数据基础平台实施及运维 一.大数据介绍 学习目标 能够了解为什么使用大数据技术 能够了解大数据指的是什么 1. 为什么使用大数据技术? 数据量越来越大 数据分析的实时性越来越强 数据结果的应用越来越 ...
- FATE 1.10.0 单机部署
前言 使用环境为VMware Workstation 16 Player +CentOS7 其使用环境详细可见联邦学习FATE(单机部署)案例搭建+安装(超详细)中的前半部分. 环境部署 进入终端 部 ...
最新文章
- R语言中if else、which、%in%的用法
- python 笔记 之 sqlalchemy操作数据库-创建表
- 数据结构-编程实现一个双链表的建立,双链表的打印,双链表的测长
- Wi-Fi与LTE走向融合,优势互补携手共赢
- BP神经网络反向传播手动推导
- 剑指 Offer 68 - II. (二叉树)二叉树的最近公共祖先
- Iceberg 在基于 Flink 的流式数据入库场景中的应用
- 普通电脑能做成瘦客户机吗_阿里云的“无影”云电脑,能不能真的代替传统电脑...
- 连接ebay服务器时系统出现问题,客户端从服务器收到SOAP Fault:验证ebay失败
- python发邮件主机找不到_从本地主机(不登录STMP服务器)用Python发送电子邮件时,如何解决套接字错误?...
- VB的SP6更新到2021版了,却安装不上?快来看这里
- 考研数二高数基础笔记
- 固定资产管理系统项目总结
- 电商卖家如何有效提升转化率?
- Android(15)——ButterKnife
- 原生JS 简单购物车网页
- UE4制作插件的插件神器pluginCreator
- 6、python-mongodb获取数据存储到sql server
- layui 弹出层回调获取弹出层数据
- Java:一个API文档框架Swagger