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
[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单机部署学习演示案例相关推荐

  1. sqlserver 2012实施与管理学习笔记(一):选型和部署之单机部署、故障转移群集与日志传送

    sqlserver 2012实施与管理学习笔记(一):选型和部署之单机部署.故障转移群集与日志传送 数据库的选型和部署 sqlserver的安装和升级 选择高可用性和灾难恢复技术 故障转移群集 日志传 ...

  2. Ubuntu Kylin使用docker单机部署Fate联邦学习框架

    Ubuntu Kylin使用docker单机部署Fate联邦学习框架 Fate联邦学习框架分为单机部署和集群部署,本文是在Ubuntu Kylin上使用docker单机部署Fate联邦学习框架,具体环 ...

  3. (一)联邦学习FATE框架1.6.0版本单机部署和实战训练评估篇

    FATE 1.6.0学习笔记 系统安装,环境搭建和fate框架搭建指南手册下载 链接:https://pan.baidu.com/s/1K-88uye6RN3tLHw6f_r9Ug 提取码:5y2u ...

  4. Mac/Linux 安装联邦学习 Fate 框架单机部署所需的依赖(填坑大全)

    安装过程各种坑,官方单机部署教程,然而官方教程问题超多,我在Mac本机与新建的ubuntu18.04.5上分别单机部署,使用standalone-fate-master-1.4.5.tar.gz,py ...

  5. WeText项目:一个基于.NET实现的DDD、CQRS与微服务架构的演示案例

    最近出于工作需要,了解了一下微服务架构(Microservice Architecture,MSA).我经过两周业余时间的努力,凭着自己对微服务架构的理解,从无到有,基于.NET打造了一个演示微服务架 ...

  6. Kafka入门篇学习笔记整理

    Kafka入门篇学习笔记整理 Kafka是什么 Kafka的特性 应用场景 Kafka的安装 单机版部署 集群部署环境准备 Kafka 2.x集群部署 Kafka 3.x集群部署 监听器和内外网络 K ...

  7. 工控安全:攻防演示案例分享

    列举一些可以在工控安全项目中用的攻防演示案例,持续更新...... 前言 在某核电的安全项目中,感谢公司leader信任让我负责项目的总体方案设计.攻防案例设计.安全防护等方案,经过前期大量的搜索.复 ...

  8. day70-大数据之Hadoop部署1(单机部署与伪分布式部署)

    大数据基础平台实施及运维 一.大数据介绍 学习目标 能够了解为什么使用大数据技术 能够了解大数据指的是什么 1. 为什么使用大数据技术? 数据量越来越大 数据分析的实时性越来越强 数据结果的应用越来越 ...

  9. FATE 1.10.0 单机部署

    前言 使用环境为VMware Workstation 16 Player +CentOS7 其使用环境详细可见联邦学习FATE(单机部署)案例搭建+安装(超详细)中的前半部分. 环境部署 进入终端 部 ...

最新文章

  1. R语言中if else、which、%in%的用法
  2. python 笔记 之 sqlalchemy操作数据库-创建表
  3. 数据结构-编程实现一个双链表的建立,双链表的打印,双链表的测长
  4. Wi-Fi与LTE走向融合,优势互补携手共赢
  5. BP神经网络反向传播手动推导
  6. 剑指 Offer 68 - II. (二叉树)二叉树的最近公共祖先
  7. Iceberg 在基于 Flink 的流式数据入库场景中的应用
  8. 普通电脑能做成瘦客户机吗_阿里云的“无影”云电脑,能不能真的代替传统电脑...
  9. 连接ebay服务器时系统出现问题,客户端从服务器收到SOAP Fault:验证ebay失败
  10. python发邮件主机找不到_从本地主机(不登录STMP服务器)用Python发送电子邮件时,如何解决套接字错误?...
  11. VB的SP6更新到2021版了,却安装不上?快来看这里
  12. 考研数二高数基础笔记
  13. 固定资产管理系统项目总结
  14. 电商卖家如何有效提升转化率?
  15. Android(15)——ButterKnife
  16. 原生JS 简单购物车网页
  17. UE4制作插件的插件神器pluginCreator
  18. 6、python-mongodb获取数据存储到sql server
  19. layui 弹出层回调获取弹出层数据
  20. Java:一个API文档框架Swagger

热门文章

  1. chi2inv函数 matlab_matlab工具箱函数汇总(转)
  2. Redis知识点整理
  3. 通过注册表设置远程桌面的配置
  4. 推荐几个优质的 Python 学习资料(良心推荐!非广告!)
  5. Keil MDK生成LIB库以及使用LIB库
  6. yjp-9.5.6使用
  7. python--关于requests库的使用(一)
  8. 数据分析 --- 五力模型 VS PEST(分析模型)VS SWOT分析法
  9. 终于把PEST分析模型给整明白了!
  10. TCP协议-TCP中的定时器/计时器