CentOS7 搭建Kafka消息队列环境,以及Python3操作Kafka Demo
Kafka适合什么样的场景?
它可以用于两大类别的应用:
- 构造实时流数据管道,它可以在系统或应用之间可靠地获取数据。 (相当于message queue)
- 构建实时流式应用程序,对这些流数据进行转换或者影响。 (就是流处理,通过kafka stream topic和topic之间内部进行变化)
Kafka中文文档:http://kafka.apachecn.org/
1,系统环境
a,操作系统 CentOS Linux release 7.6.1810 (Core) 64位,必须确保你的内存是4G以上,双核CPU!否则将无法新建默认命名空间。
b,确保jdk环境已经安装,具体教程请看 CentOS7 shell脚本安装jdk
c,确保Python3和对应的pip已经安装,具体教程请看 CentOS7 源码编译安装Python3.5
2,执行以下命令,安装Kafka并启动
wget https://archive.apache.org/dist/kafka/1.0.0/kafka_2.11-1.0.0.tgz # 下载kafka 1.0.0安装包
tar -zxvf kafka_2.11-1.0.0.tgz # 解压安装包
cd kafka_2.11-1.0.0/ # 打开kafka目录
sh bin/zookeeper-server-start.sh -daemon config/zookeeper.properties # 后台运行zookeeper
sh bin/kafka-server-start.sh config/server.properties # 运行kafka服务
出现 “started” 则是启动成功
3,执行以下命令,创建test5的topic
sh bin/kafka-topics.sh --create --zookeeper 127.0.0.1:2181 --replication-factor 1 --partitions 1 --topic test5
4,执行以下命令,创建监听test5的消息队列程序
sh bin/kafka-console-consumer.sh --zookeeper 127.0.0.1:2181 --topic test5 --from-beginning
5,执行以下命令,建发送test5消息队列的生产者程序
sh bin/kafka-console-producer.sh --broker-list 127.0.0.1:9092 --topic test5
生产者发送一些消息,回车
看到消费者界面出现生产者的消息
6,Python3安装kafka依赖包,执行命令 “pip3 install kafka”
依赖包安装完成后,创建python3消费者监听程序,kafka_consumer.py
from kafka import KafkaConsumer
consumer = KafkaConsumer('test4', bootstrap_servers=['localhost:9092'])
for msg in consumer:recv = "%s:%d:%d: key=%s value=%s" % (msg.topic, msg.partition, msg.offset, msg.key, msg.value)print(recv)
运行 python3 kafka_consumer.py
创建python3生产消息队列程序,kafka_producer.py
import json
from kafka import KafkaProducer
producer = KafkaProducer(bootstrap_servers='localhost:9092')
msg_dict = {"sleep_time": 10,"db_config": {"database": "test_1","host": "xxxx","user": "root","password": "root"},"table": "msg","msg": "Hello World"
}
msg = json.dumps(msg_dict)
producer.send('test4', bytes(msg,'ascii'), partition=0)
producer.close()
运行 “python3 kafka_producer.py”,转到kafka_consumer.py运行界面看到已接收到生产程序发送过来的信息
CentOS7 搭建Kafka消息队列环境,以及Python3操作Kafka Demo相关推荐
- CentOS7 搭建Pulsar 消息队列环境,CentOS(Linux)部署Pulsar,亲测成功,以及Python操作Pulsar实例驱动
在 最佳开源数据库与数据分析平台奖 中,之前曾连续两年入选的 Kafka 意外滑铁卢落选,取而代之的是新兴项目 Pulsar,Bossie Awards中对 Pulsar 点评如下:"Pul ...
- 基于Docker搭建分布式消息队列Kafka
本文基于Docker搭建一套单节点的Kafka消息队列,Kafka依赖Zookeeper为其管理集群信息,虽然本例不涉及集群,但是该有的组件都还是会有,典型的kafka分布式架构如下图所示.本例搭建的 ...
- Kafka消息队列的搭建与基础使用
一.Kafka消息队列 1.为什么需要消息队列? 解耦 冗余 扩展性 灵活性 & 峰值处理能力 可恢复性 顺序保证 缓冲 异步通信 2.消息队列的模式 1.点对点模式 一对一,消费者主动拉取数 ...
- 19 kafka消息队列
文章目录 19 kafka消息队列 一.kafka介绍 1.消息队列基本介绍 2.常用的消息队列介绍 3.消息队列的应用场景 4.消息队列的两种模式 5.kafka的基本介绍 6.kafka的架构介绍 ...
- Kafka消息队列 入门到精通 看这一篇就够了
文章目录 第一章 概述 1.1 Kafka 的定义及特点 1.2 消息队列的介绍 1.3 Kafka 的基础架构 第二章 入门 2.1 Kafka 的安装部署 2.2 Kafka 命令行操作 第三章 ...
- kafka消息队列应用总结
kafka官网: Apache Kafka 公司使用阿里云提供的kafka消息队列服务,分别为测试环境与生产环境,部署了多个集群. 使用场景:应用对外提供API接口调用,同时支持kafka增量消息推送 ...
- 大数据之Kafka消息队列
一.消息队列: 消息队列的核心功能:解耦,异步和并行. 消息队列与rpc区别: 消息队列只负责发送消息:rpc需要调用,并给响应状态码:相同点是他们都能解耦. 消息队列: activeMQ: jdk: ...
- Kafka 消息队列的使用
本篇概要: 1. 消息队列相关概念: 2. Kafka 消息队列: 3. 安装 Kafka 服务: 4. 安装PHP的 Kafka 扩展 rdkafka: 5. 编写 Kafka 的生产者方法: 6. ...
- kafka消息队列系统
学习目标: 掌握kafka消息队列 学习内容: 概述 数据缓冲队列,同时提高可扩展性,具有峰值处理能力,使用消息队列能够使关键组件顶住突发的访问压力,而不会因为突发的超负荷请求而完成崩溃 kafka是 ...
最新文章
- 9个技巧让你的PyTorch模型训练变得飞快!
- jsp窗口关闭的触发函数
- python创建csv文件并写入-【已解决】Python中创建和保存数据到csv文件中
- 一个编程菜鸟的进阶之路(C/C++)
- Delphi XE7实现的任意位置弹出菜单
- 世界首个!AI农作物病害检测竞赛火热进行中 | AI Challenger 全球AI挑战赛
- ORA-16009: 远程归档日志目标必须为备用数据库
- vmware player tools安装
- Perceptron实践
- Excel VBA编程教程--excel录制宏做数据录入
- dvwa最详细安装过程
- 黑苹果 U盘刻录工具Transmac与Etcher使用
- c语言三个学生每人四门,C语言一道题目,求教教3.统计一个班的学生成绩。要求程序具有如下功能:(1) 每个学生的学号和四门功课的成绩从键盘读入。...
- 利盟Lexmark CX317 打印机驱动
- Java医院预约挂号系统
- 解决VMbox中软连接创建错误的问题
- 查看google浏览器里的证书
- 中国房价到底有多少泡沫?数据说话!
- 解决vtk中vtkStreamTracer例子无法显示流线的疑问
- mysql数据库relay_MySQL 数据库主从复制小知识