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. golang之性能分析工具pprof

    PProf 是一个 Go 程序性能分析工具,可以分析 CPU.内存等性能.Go 在语言层面上集成了 profile 采样工具,只需在代码中简单地引入 runtime/ppro 或者 net/http/ ...

  2. 使用PicGo存储markdown图片(阿里云或者github)

    PicGo代替极简图床 之前使用极简床图,但是后来好像挂了,真是一件悲伤的事,最近才发现了一个神器,开源的PicGo,已经有各个平台的版本了.链接如下:https://github.com/Molun ...

  3. PPT保存报错:某些字体无法与演示文稿一起保存

    WPS做的PPT,用的会员,高级的那种,很高大上很好看,但是用微软的PowerPoint编辑保存,报错:某些字体无法与演示文稿一起保存. 解决方案:移除嵌入的字体 打开演示文稿文件. 在"文 ...

  4. 小程序canvas白屏解决(

    造成canvas白屏的原因(两个原因) 1. 使用网络图片经绘制,没有配置downloadfile域名 ctx.drawImage('https://img1.imgtn.bdimg.com/it/u ...

  5. 工欲善其事,必先利其器。如何玩转 VS Code?

    Visual Studio Code 作为广受好评的开发工具,已经被越来越多的开发者当作首选的开发工具.然而,你真的了解 VS Code 了吗?你真的会使用 VS Code,把 VS Code 的强大 ...

  6. 执行docker-compose up -d时出现ERROR: Failed to Setup IP tables: Unable to enable SKIP DNAT rule

    原因是因为防火墙关闭之后需要重启docker服务. 执行: service docker restart 即可.

  7. LiquibaseException java.lang.ClassCastException: class java.time.LocalDateTime cannot be cast to class java.lang.String

    https://forum.liquibase.org/t/liquibaseexception-java-lang-classcastexception-class-java-time-locald ...

  8. Netty系列之Netty安全性

    1.1. 严峻的安全形势 1.1.1. OpenSSL Heart bleed漏洞 2014年上半年对网络安全影响最大的问题就是OpenSSL Heart bleed漏洞,来自Codenomicon和 ...

  9. Qt编写安防视频监控系统53-串口配置

    一.前言 视频监控系统中,除了核心的显示实时视频以外,可能还需要配合串口网络通信之类的,用于通过指令数据收到和硬件交互,比如机器人监控系统中,除了实时显示机器人移动监控画面以外,还通过多个串口和下面的 ...

  10. Qt编写地图综合应用7-百度离线地图

    一.前言 离线地图的核心其实就是拿到这些瓦片地图文件,并不是离线地图的代码怎么写,其实离线地图的网页代码和在线地图的网页代码几乎一致的,主要就是将对应的依赖的js文件从在线的地址改成本地的地址,然后可 ...