CentOS7 搭建Kafka消息队列环境,以及Python3操作Kafka Demo

Kafka适合什么样的场景?

它可以用于两大类别的应用:

  1. 构造实时流数据管道,它可以在系统或应用之间可靠地获取数据。 (相当于message queue)
  2. 构建实时流式应用程序,对这些流数据进行转换或者影响。 (就是流处理,通过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运行界面看到已接收到生产程序发送过来的信息

 

 

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

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

相关文章

hive序列生成_常见的序列化框架及Protobuf原理

享学课堂作者:逐梦々少年转载请声明出处!上次我们详细的学习了Java中的序列化机制,但是我们日常开发过程中,因为java的序列化机制的压缩效率问题,以及序列化大小带来的传输的效率问题,一般很少会使用原生的…

decode语句不能再嵌套_自学C++基础教程【流程控制语句】(for、while 、do while 语句 )...

for语句for语句是C语言所提供的一种功能广泛的循环语句。下图为for语句的标准形式:表达式1:通常用于给循环变量赋初值,一般是赋值表达式。表达式2:通常用于设立循环条件,一般为关系表达式或逻辑表达式。表达式3&#x…

CentOS 7 利用Docker搭建禅道系统

1,系统环境 a,操作系统 CentOS Linux release 7.6.1810 (Core) 64位 b,确保Docker环境已经安装,具体教程请看 CentOS 安装docker 禅道系统一键安装说明文档:http://www.zentao.net/book/zentaopmshelp/90.html …

centos7 docker删除端口映射_centos7安装docker,结合docker安装mysql,学习简单使用

需要快速安装centos7的可以结合上一遍文章vagrant结合virtualbox让你直接在cmd窗口操作linux系统centos7地址:https://www.toutiao.com/i6858180977164812811/?group_id6858180977164812811Docker先说一下个人理解:docker其实就是一个工具,镜…

MongoDB中关于64位整型存储解决方案

为什么80%的码农都做不了架构师?>>> 社区内一哥们smcboy 提出关于php中操作MongoDB存储整数问题,找到点资料花点时间翻译过来,是个很好的学习方式。红薯 那篇讨论我的修改回复,仍然没有更新可恶啊~!&#…

切割图形_泉州泡沫景观字切割机厂家

泉州泡沫景观字切割机厂家 jz4rw0qv泉州泡沫景观字切割机厂家 巨源线条切割机同步带型结构合理、性能、精密度高、、操作简便、价格合理,比同行业同款机床更高,是原有同步带型泡沫切割机的替代产品。自动编程使用计算机利用配合切割机应用,只…

你的搜索其实很糟糕?

为什么80%的码农都做不了架构师?>>> 日期:2013-3-27 来源:GBin1.com 尽管你非常擅长搜索,但是很多时候搜索内容和你想要的并不吻合。事实上,用户体验专家Jakob Nielsen认为大多数人都非常的不擅长搜索。…

Element Tree型控件

效果 前端 <template><div class"app-container"><el-inputplaceholder"输入关键字进行过滤"、<! -- 双向绑定-- >v-model"filterText"></el-input><el-tree ref"tree":data"subjectList"…

快速根据注释生成接口文档网页工具——Apidoc的使用教程

环境&#xff1a; 操作系统 CentOS Linux release 7.6.1810 (Core) 64位 服务器环境 “腾讯云”服务器 1&#xff0c;安装Node.js的npm工具环境&#xff1a; 如有不懂&#xff0c;请看我的博客&#xff1a;CentOS7 源码编译安装NodeJS 最新版本 2&#xff0c;npm环境搭…

频段表_5G频段范围之:频段3.3GHz-4.2GHz (n77,n78)

本文版权归“5G通信(tongxin5g)”和5G哥所有&#xff0c;未经授权&#xff0c;请勿转载比起以前的移动通信网络&#xff0c;5G探索的新频谱范围包括&#xff1a;3.3GHz-4.2GHz&#xff0c;4.4GHz-5.0GHz&#xff0c;24.25-29.5 GHz今天主要看频段3.3GHz-4.2GHz在3GPP中&#xf…

公开说说别人看不到_当听到别人在说自己坏话时,心里是什么感受?

人有优点也有缺点这世界上&#xff0c;没有人的性格可以做到十全十美。没有任何一个人从头到尾都是完美无缺的。一个人自从慢慢的长大后&#xff0c;在不断的社交活动中&#xff0c;就会慢慢的观察别人身上的优点或者缺点了。很奇怪&#xff0c;人的这种能力和本领好像是不需要…

CentOS 7 利用Docker搭建Showdoc文档管理系统

1&#xff0c;系统环境 a&#xff0c;操作系统 CentOS Linux release 7.6.1810 (Core) 64位 b&#xff0c;确保Docker环境已经安装&#xff0c;具体教程请看 CentOS 安装docker Docker部署Showdoc官方教程&#xff1a;https://www.showdoc.cc/help?page_id65610 2&…

深度学习attention原理_深度学习Anchor Boxes原理与实战技术

深度学习Anchor Boxes原理与实战技术目标检测算法通常对输入图像中的大量区域进行采样&#xff0c;判断这些区域是否包含感兴趣的目标&#xff0c;并调整这些区域的边缘&#xff0c;以便更准确地预测目标的地面真实边界框。不同的模型可能使用不同的区域采样方法。在这里&#…

Linux利用nginx-gridfs搭建部署Nginx和MongoDB文件服务器,支持用户密码验证!

nginx-gridfs是一个nginx的扩展模块&#xff0c;用于支持直接访问MongoDB的GridFS文件系统上的文件并提供 HTTP 访问 1&#xff0c;安装nginx&#xff0c;下载好安装包nginx和nginx-gridfs&#xff0c;此次安装采用nginx1.12.2. mkdir -p /data/soft/nginx-mongodb/ # 创建…

三行代码生成验证码并转换成base64

使用 Hutool 工具类 import cn.hutool.captcha.CaptchaUtil; import cn.hutool.captcha.LineCaptcha; import cn.hutool.core.io.FileUtil; import cn.hutool.core.lang.Console; import sun.misc.BASE64Encoder;import java.io.File; import java.io.FileInputStream; import…

docker 创建容器报: Error response from daemon: C: drive is not shared.

报错 C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from daemon: C: drive is not shared. Please share it in Docker for Windows Settings. See C:\Program Files\Docker\Docker\Resources\bin\docker.exe run --help.这时候我们需要绑定盘符…

CentOS 7 搭建swagger Api文档管理系统

1&#xff0c;系统环境 a&#xff0c;操作系统 CentOS Linux release 7.6.1810 (Core) 64位 b&#xff0c;安装Node.js的npm工具环境&#xff1a; # Node 官网已经把 linux 下载版本更改为已编译好的版本了&#xff0c;我们可以直接下载解压后使用&#xff1a; wget http…

宽带和流量是分开的吗_为什么现在的手机套餐与宽带越来越贵,只是因为建设5G吗?...

不知道你有没有这样一种感觉&#xff0c;手机的资费越来越高&#xff0c;并且宽带的资费也是开始上涨&#xff0c;随着5G时代的来到&#xff0c;我们现在的现在的的流量使用量也是越来越大&#xff0c;还记得2018的话费套餐最便宜的最低的只要8块钱&#xff0c;而29元能够办理包…

CentOS7 源码编译安装Redis shell脚本

1&#xff0c;系统环境 操作系统 CentOS Linux release 7.6.1810 (Core) 64位 2&#xff0c;执行以下命令完成安装 yum install -y gcc # 安装依赖包wget http://download.redis.io/releases/redis-5.0.5.tar.gz # 下载Redis安装包 tar -xzvf redis-5.0.5.tar.gzcd red…

SpringBoot 集成WebSocket

什么是WebSocket WebSocket 是一种网络通信协议&#xff0c;很多高级功能都需要它。 我们已经有了 HTTP 协议&#xff0c;为什么还需要另一个协议&#xff1f;它能带来什么好处&#xff1f; 因为 HTTP 协议有一个缺陷&#xff1a;通信只能由客户端发起。 如果我们想要服务器给…