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运行界面看到已接收到生产程序发送过来的信息

 

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

  1. CentOS7 搭建Pulsar 消息队列环境,CentOS(Linux)部署Pulsar,亲测成功,以及Python操作Pulsar实例驱动

    在 最佳开源数据库与数据分析平台奖 中,之前曾连续两年入选的 Kafka 意外滑铁卢落选,取而代之的是新兴项目 Pulsar,Bossie Awards中对 Pulsar 点评如下:"Pul ...

  2. 基于Docker搭建分布式消息队列Kafka

    本文基于Docker搭建一套单节点的Kafka消息队列,Kafka依赖Zookeeper为其管理集群信息,虽然本例不涉及集群,但是该有的组件都还是会有,典型的kafka分布式架构如下图所示.本例搭建的 ...

  3. Kafka消息队列的搭建与基础使用

    一.Kafka消息队列 1.为什么需要消息队列? 解耦 冗余 扩展性 灵活性 & 峰值处理能力 可恢复性 顺序保证 缓冲 异步通信 2.消息队列的模式 1.点对点模式 一对一,消费者主动拉取数 ...

  4. 19 kafka消息队列

    文章目录 19 kafka消息队列 一.kafka介绍 1.消息队列基本介绍 2.常用的消息队列介绍 3.消息队列的应用场景 4.消息队列的两种模式 5.kafka的基本介绍 6.kafka的架构介绍 ...

  5. Kafka消息队列 入门到精通 看这一篇就够了

    文章目录 第一章 概述 1.1 Kafka 的定义及特点 1.2 消息队列的介绍 1.3 Kafka 的基础架构 第二章 入门 2.1 Kafka 的安装部署 2.2 Kafka 命令行操作 第三章 ...

  6. kafka消息队列应用总结

    kafka官网: Apache Kafka 公司使用阿里云提供的kafka消息队列服务,分别为测试环境与生产环境,部署了多个集群. 使用场景:应用对外提供API接口调用,同时支持kafka增量消息推送 ...

  7. 大数据之Kafka消息队列

    一.消息队列: 消息队列的核心功能:解耦,异步和并行. 消息队列与rpc区别: 消息队列只负责发送消息:rpc需要调用,并给响应状态码:相同点是他们都能解耦. 消息队列: activeMQ: jdk: ...

  8. Kafka 消息队列的使用

    本篇概要: 1. 消息队列相关概念: 2. Kafka 消息队列: 3. 安装 Kafka 服务: 4. 安装PHP的 Kafka 扩展 rdkafka: 5. 编写 Kafka 的生产者方法: 6. ...

  9. kafka消息队列系统

    学习目标: 掌握kafka消息队列 学习内容: 概述 数据缓冲队列,同时提高可扩展性,具有峰值处理能力,使用消息队列能够使关键组件顶住突发的访问压力,而不会因为突发的超负荷请求而完成崩溃 kafka是 ...

最新文章

  1. 9个技巧让你的PyTorch模型训练变得飞快!
  2. jsp窗口关闭的触发函数
  3. python创建csv文件并写入-【已解决】Python中创建和保存数据到csv文件中
  4. 一个编程菜鸟的进阶之路(C/C++)
  5. Delphi XE7实现的任意位置弹出菜单
  6. 世界首个!AI农作物病害检测竞赛火热进行中 | AI Challenger 全球AI挑战赛
  7. ORA-16009: 远程归档日志目标必须为备用数据库
  8. vmware player tools安装
  9. Perceptron实践
  10. Excel VBA编程教程--excel录制宏做数据录入
  11. dvwa最详细安装过程
  12. 黑苹果 U盘刻录工具Transmac与Etcher使用
  13. c语言三个学生每人四门,C语言一道题目,求教教3.统计一个班的学生成绩。要求程序具有如下功能:(1) 每个学生的学号和四门功课的成绩从键盘读入。...
  14. 利盟Lexmark CX317 打印机驱动
  15. Java医院预约挂号系统
  16. 解决VMbox中软连接创建错误的问题
  17. 查看google浏览器里的证书
  18. 中国房价到底有多少泡沫?数据说话!
  19. 解决vtk中vtkStreamTracer例子无法显示流线的疑问
  20. mysql数据库relay_MySQL 数据库主从复制小知识

热门文章

  1. systemtap执行过程中报probe timer.profile registration error
  2. 理解 JavaScript 作用域
  3. jQuery.grep()
  4. 100C之13:他该如何存款?
  5. kindeditor图片批量上传失败问题
  6. win8学习--------File
  7. libsvm数据缩放方法
  8. 网管日志-06.07.24
  9. jupyter notebook 安装代码提示功能
  10. Spring IOC容器-注解的方式