kafka自带了一个在终端演示生产者发布消息的脚本--kafka-console-producer.sh

运行该脚本会启动一个进程,在运行该脚本时可以传递相应配置以覆盖默认配置。

参数--

-- producer.config,用于加载一个生产者级别相关的配置文件

-- producer-property 直接在启动命令中设置参数,覆盖默认配置的参数

-- property 通过该命令可以设置消费者相关的配置

1. 启动生产者

必传参数 broker-list(指定kafka的代理地址列表)  和  topic(消息被发送的目标主题)

执行下列命令,启动一个向主题 kafka-action 发送消息的生产者,同时指定每条消息包含有key

./kafka-console-producer.sh --broker-list localhost:9092 --topic kafka-action --property parse.key=true

由于以上命令没有指定消息key与消息净荷(payload)之间的分隔符,默认为制表符,如果希望修改分隔符

通过key.separator指定。

./kafka-console-producer.sh --broker-list localhost:9092 --topic kafka-action --property parse.key=true --property key.separator=' '

然后在控制台输入一批消息,输入一下命令验证是否发送成功

./kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9092 --topic kafka-action --time -1

输出如下

kafka-action:2:4
kafka-action:1:4
kafka-action:0:0

分别表示:主题名,分区,消息偏移量,共8条消息

开启一个消费者:

[root@haha ~]# kafka-console-consumer.sh -zookeeper localhost:2181 --from-beginning --topic
kafka-action
Using the ConsoleConsumer with old consumer is deprecated and will be removed in a future major release. Consider using the new consumer by passing [bootstrap-server] instead of [zookeeper]. aaaabbb bbbbb 
98230841023
123123
3333

没法送一条会依次存储在 三个不同的分区

例如:分别发送了 1111 2222  33333  444 555 6666 六条消息

那么

partition-1 log日志文件存储的是  1111  444

partition-2 log日志文件存储的是 2222 555

partition-3 log日志文件存储的是 33333 6666

2.创建主题,如果开启了 auto.create.topics.enable=true,当生产者向一个不存在的主题发送消息时,kafka会自动创建主题,

./kafka-console-producer.sh --broker-list localhost:9092 --topic producer-create-topic
Producer sends message to a topic that doesn't exist yet
[2018-10-25 09:56:16,888] WARN Error while fetching metadata with correlation id 1 : {producer-create-topic=LEADER_NOT_AVAILABLE} (org.apache.kafka.clients.NetworkClient)

producer-create-topic 并不存在,控制台抛出警告

3. 查看消息内容,使用kafka.tools.DumpLogSegments工具

[root@haha ~]# kafka-run-class.sh kafka.tools.DumpLogSegments --files /data/appData/kafka/test3-0/00000000000000000000.log
Dumping /data/appData/kafka/test3-0/00000000000000000000.log
Starting offset: 0
offset: 0 position: 0 CreateTime: 1541061414817 isvalid: true payloadsize: 13 magic: 1 compresscodec: NONE crc: 686614980
offset: 1 position: 47 CreateTime: 1541061439270 isvalid: true payloadsize: 0 magic: 1 compresscodec: NONE crc: 988414825
offset: 2 position: 81 CreateTime: 1541061441260 isvalid: true payloadsize: 11 magic: 1 compresscodec: NONE crc: 2421154020
offset: 3 position: 126 CreateTime: 1541061575221 isvalid: true payloadsize: 6 magic: 1 compresscodec: NONE crc: 905626548
offset: 4 position: 166 CreateTime: 1541061703621 isvalid: true payloadsize: 4 magic: 1 compresscodec: NONE crc: 2986172870
offset: 5 position: 204 CreateTime: 1541061741306 isvalid: true payloadsize: 3 magic: 1 compresscodec: NONE crc: 2132028322
offset: 6 position: 241 CreateTime: 1541061762979 isvalid: true payloadsize: 16 magic: 1 compresscodec: NONE crc: 1956799962

4.生产者测试工具

kafka 生产者基本操作的更多相关文章

  1. 【转】 详解Kafka生产者Producer配置

    粘贴一下这个配置,与我自己的程序做对比,看看能不能完善我的异步带代码:   -----------------------------------------    详解Kafka生产者Produce ...

  2. Kafka生产者-向Kafka中写入数据

    (1)生产者概览 (1)不同的应用场景对消息有不同的需求,即是否允许消息丢失.重复.延迟以及吞吐量的要求.不同场景对Kafka生产者的API使用和配置会有直接的影响. 例子1:信用卡事务处理系统,不允 ...

  3. Python 使用python-kafka类库开发kafka生产者&消费者&客户端

    使用python-kafka类库开发kafka生产者&消费者&客户端   By: 授客 QQ:1033553122       1.测试环境 python 3.4 zookeeper- ...

  4. Kafka集群安装部署、Kafka生产者、Kafka消费者

    Storm上游数据源之Kakfa 目标: 理解Storm消费的数据来源.理解JMS规范.理解Kafka核心组件.掌握Kakfa生产者API.掌握Kafka消费者API.对流式计算的生态环境有深入的了解 ...

  5. [Spark][kafka]kafka 生产者,消费者 互动例子

    [Spark][kafka]kafka 生产者,消费者 互动例子 # pwd/usr/local/kafka_2.11-0.10.0.1/bin 创建topic:# ./kafka-topics.sh ...

  6. Kafka权威指南 读书笔记之(三)Kafka 生产者一一向 Kafka 写入数据

    不管是把 Kafka 作为消息队列.消息总线还是数据存储平台来使用 ,总是需要有一个可以往 Kafka 写入数据的生产者和一个从 Kafka 读取数据的消费者,或者一个兼具两种角色的应用程序. 开发者 ...

  7. kafka生产者

    1.kafka生产者是线程安全的,她允许多个线程共享一个kafka实例 2.kafka管理一个简单的后台线程,所有的IO操作以及与每个broker的tcp连接通信,如果没有正确的关闭生产者可能会造成资 ...

  8. java实现Kafka生产者示例

    使用java实现Kafka的生产者 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 3 ...

  9. kafka生产者和消费者流程

    前言 根据源码分析kafka java客户端的生产者和消费者的流程. 基于zookeeper的旧消费者 kafka消费者从消费数据到关闭经历的流程. 由于3个核心线程 基于zookeeper的连接器监 ...

随机推荐

  1. pyquery 安装

    取得网页源代码,导入pyquery库 pip3 install pyquery       如果报错的话:python安装pyquery报错error: 'libxml/xmlversion.h' f ...

  2. 用jquery制作一个二级导航下拉菜单

    1使用$(function(){...})获取到想要作用的HTML元素. 2通过使用children()方法寻找子元素.       3通过使用show()方法来显示HTML元素.       4通过 ...

  3. cpld fpga 区别

    cpld fpga 区别 系统的比较,与大家共享: 尽管FPGA和CPLD都是可编程ASIC器件,有很多共同特点,但由于CPLD和FPGA结构上的差异,具有各自的特点: ①CPLD更适合完成各种算法和 ...

  4. 修改vsftpd的默认根目录

    修改ftp的根目录只要修改/etc/vsftpd/vsftpd.conf文件即可: 加入如下几行: local_root=/var/www/html chroot_local_user=YES ano ...

  5. hdu 1.3.2 Moving Tables

    这道题比较简单,就是用数组存取其路径.如101和102是对门,其过道号可以记为51.  1和2之间的为1. 今早突然收到操作系统停课的通知,哈哈 回来就做一下水题,开心 #include<cst ...

  6. ASP.Net MVC OA项目笔记<二>

    1.1.0 创建数据层 1.1.1 CZBK.ItcastOA.IDAL 引用 CZBK.ItcastOA.Model 1.2.1 给IDAL添加一个接口IUserInfoDal 里面写增删改查分页的 ...

  7. CentOS 7修改yum源为阿里源

    1.备份本地源 1 # mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak 2.获取阿里yum源配置 ...

  8. Docker Compose模板文件介绍

    模板文件是使用 Compose 的核心,涉及到的指令关键字也比较多,这里面大部分指令跟 docker run 相关参数的含义都是类似的.默认的模板文件名称为 docker-compose.yml ,格 ...

  9. javaweb项目中的过滤器的使用

    翻阅博客园的的时候,看到两篇关于javaweb过滤器的帖子写的很好,这里备忘一下: 过滤器基础:http://www.cnblogs.com/xdp-gacl/p/3948353.html 获取器案例 ...

  10. Info - Get technical information from the Internet

    Official Sites Overview / QuickStart Guide / Docs / E-books Community / Fourm / Blog Demo / Download ...