kafka的安装路径:/usr/local/Cellar/kafka/3.2.0

kafka的配置路径:/usr/local/etc/kafka

开启zookeeper

cd /usr/local/Cellar/kafka/3.2.0

执行脚本启动zookeeper:

bin/zookeeper-server-start /usr/local/etc/kafka/zookeeper.properties

启动kafka,在打开一个窗口:

cd /usr/local/Cellar/kafka/3.2.0

执行脚本启动kafka:

bin/kafka-server-start /usr/local/etc/kafka/server.properties

测试创建一个主题,再打开一个窗口

cd /usr/local/Cellar/kafka/3.2.0

执行命令,创建一个主题

网上介绍的写法:bin/kafka-topics --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic wangyake-test 这个对于3.0.0的kafka已经不适用了

正确的是:bin/kafka-topics --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic wangyake-test

其中--bootstrap-server localhost:9092 指出了要连接的kafka的服务器的地址,必填项,zookeeper的地址在kafka的配置中有,启动的时候就会默认链接。

–create 创建主题命令

–replication-factor 1 指定副本个数

–partitions 1 指定分区个数

–topic test 主题名称

查看是否成功创建主题

bin/kafka-topics --list --bootstrap-server localhost:9092

python中的基本使用方式demo

配置文件config.py:

SERVER = '127.0.0.1:9092'
TOPIC = 'test'

生产者producer.py:

import json
import time
import datetime
import config
from kafka import KafkaProducer # bootstrap_servers指的是kafka服务器
producer = KafkaProducer(
bootstrap_servers=config.SERVER,
value_serializer=lambda m: json.dumps(m).encode()
) for i in range(100):
data = {'num': i + 1, 'ts': datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), "msg": "成功"}
producer.send(config.TOPIC, data)
time.sleep(1)

消费者consumer.py:

# consumer.py

import json

from kafka import KafkaConsumer
import config # 第一个参数为topic的名称
# bootstrap_servers: 指定kafka服务器
# group_id : 指定此消费者实例属于的组名,可以不指定
consumer = KafkaConsumer(
config.TOPIC,
bootstrap_servers=config.SERVER,
api_version=(0, 11, 5),
group_id="ichpan",
auto_offset_reset='earliest'
) for msg in consumer:
print(json.loads(msg.value)) # consumer可以同时监听多个消费者
# consumer = KafkaConsumer(
# bootstrap_servers=config.SERVER,
# group_id="ichpan",
# auto_offset_reset='earliest'
# ) # 使用subscribe订阅
# consumer.subscribe(topics=["test",]) # for msg in consumer:
# print(json.loads(msg.value))

kafka的基本使用(更新中)的更多相关文章

  1. 史上最全的spark面试题——持续更新中

    史上最全的spark面试题——持续更新中 2018年09月09日 16:34:10 为了九亿少女的期待 阅读数 13696更多 分类专栏: Spark 面试题   版权声明:本文为博主原创文章,遵循C ...

  2. 在UPDATE中更新TOP条数据以及UPDATE更新中使用ORDER BY

    正常查询语句中TOP的运用: SELECT TOP 1000 * FROM MP_MemberGrade   随意更新一张表中满足条件的前N条数据: UPDATE TOP (1) MP_Member ...

  3. git常用命令(持续更新中)

    git常用命令(持续更新中) 本地仓库操作git int                                 初始化本地仓库git add .                       ...

  4. Atom使用记录(持续更新中)

    部分内容取自:http://www.jianshu.com/p/dd97cbb3c22d,我自己也在使用,持续更新中 Atom安装插件在窗口中File---Setting---install 在里面进 ...

  5. Pig基础学习【持续更新中】

    *本文参考了Pig官方文档以及已有的一些博客,并加上了自己的一些知识性的理解.目前正在持续更新中.* Pig作为一种处理大规模数据的高级查询语言,底层是转换成MapReduce实现的,可以作为MapR ...

  6. Pig语言基础-【持续更新中】

      ***本文参考了Pig官方文档以及已有的一些博客,并加上了自己的一些知识性的理解.目前正在持续更新中.***   Pig作为一种处理大规模数据的高级查询语言,底层是转换成MapReduce实现的, ...

  7. java视频教程 Java自学视频整理(持续更新中...)

    视频教程,马士兵java视频教程,java视频 1.Java基础视频 <张孝祥JAVA视频教程>完整版[RMVB](东西网) 历经5年锤炼(史上最适合初学者入门的Java基础视频)(传智播 ...

  8. 微软承诺将在今年的 Visual C++ 更新中加入 Clang 编译器

    微软最近发布将在2015年11月 Visual C++ 更新中加入 Clang 编译器 ,Clang 开源编译器以相比GCC更快的编译速度和更优的错误提示著称. Clang关于C,C++,及Objec ...

  9. 系列文章:老项目的#iPhone6与iPhone6Plus适配#(持续更新中,更新日期2014年10月12日 星期日 )

    本文永久地址为http://www.cnblogs.com/ChenYilong/p/4020399.html ,转载请注明出处. ********************************** ...

  10. 免费api大全(更新中)

    免费api大全(更新中) API大全  http://www.apidq.com/    (这个碉堡了) 天气接口 气象局接口 完整数据:http://m.weather.com.cn/data/10 ...

随机推荐

  1. MMORPG技能管线设计经验总结

    导语: 表现丰富.机制多变的技能作为MMORPG游戏战斗体验的核心组成部分,是吸引玩家的一大亮点,本文总结了在MMORPG技能系统设计上的一些经验,供大家参考. 1.设计思路 早期的MMORPG手游中 ...

  2. pytorch的四个hook函数

    训练神经网络模型有时需要观察模型内部模块的输入输出,或是期望在不修改原始模块结构的情况下调整中间模块的输出,pytorch可以用hook回调函数来实现这一功能.主要使用四个hook注册函数:regis ...

  3. Linux之新增硬盘,分区,挂载

    1.新增硬盘后, 查看当前磁盘信息 fdisk -l 可以看到除了当前的第一块硬盘(sda)外还有一块sdb的第二块硬盘(sdb),然后用命令: fdisk /dev/sdb  给第二块硬盘进行分区 ...

  4. cmu15545笔记-并发控制总结(Concurrency Control Summary)

    目录 总览 ACID 串行化与冲突操作 隔离级别 概念层级 二阶段锁 原理 级联回滚 强二阶段锁 死锁检测和避免 锁层级 实践应用 实现的隔离级别 OOC 原理 三个阶段 实现的隔离级别 处理幻读 M ...

  5. springboot 实现通用责任链模式

    1.概述 在我们平时的工作中,填写分布填写数据,比如填入商品的基本信息,所有人信息,明细信息,这种情况就可以使用责任链模式来处理. 2.代码实现 2.1商品对象 public class Produc ...

  6. CSS 样式百分比

    1.宽高百分比 元素宽度/高度百分比是基于父级元素的width/height,不包含padding,border 注意:高度百分比一定要求父元素有设置height属性,只设置 min-height 虽 ...

  7. Sealos AI Proxy 发布!一个平台调用所有大模型,再也不用到处找 API 了

    你是一位开发者,你需要调用各类 AI 模型,每次调用模型,都要在不同的平台间反复横跳,你大概会遇到以下问题: 获取 API Key 流程繁琐:需访问多个厂商的官网,查阅各自的使用文档,并按照规定的步骤 ...

  8. 前端17号学习(html完结)

    一.路径 1.目录文件夹和跟目录 实际工作中需要创建一个文件夹来管理他们. 目录文件夹,就是普通文件夹,里面存放页面相关素材,如html文件.图片等. 根目录,打开目录文件夹的第一层就是根目录. 2. ...

  9. 前端每日一知之opcity/visiblity/display隐藏元素对比

    脑图在线链接 本文内容依据CSDN博主FEWY精彩文章总结而来原文链接

  10. 青少年学习C++参考视频

    09C++选择结构(3) 第20课 初识算法 第21课 3个数排序 第22课 随机函数rand 第23课 if语句的应用 第24课 bug与debug 10C++选择结构(4) 第25课 成绩等级 第 ...