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. HDU 2546 01背包

    http://acm.hdu.edu.cn/showproblem.php?pid=2546 经典的01背包 预留5元买最贵的,剩余的就是01背包. #include<stdio.h> # ...

  2. CentOS 6.0 安装配置rails 2.3.11 + redmine 1.2.1 笔记

    没想到安装过程这么曲折,gem安装时下载经常是不成功的,无耐只好把.gem文件下载回来再本地安装,加上radmine 1.2.1对各组件的版本了也比较挑剔,中间走了不少弯路,折腾了二天时间,终于摸清路 ...

  3. hdu 3015

    这个题给你一堆树,每棵树的位置x和高度h都给你 f[i]代表这棵树的位置排名,s[i]代表这棵树的高度排名 问你任意两棵树的(f[i] - f[j])*min(s[i],s[j])和 (f[i]-f[ ...

  4. openresty + lua 4、openresty kafka

    kafka 官网: https://kafka.apache.org/quickstart zookeeper 官网:https://zookeeper.apache.org/ kafka 运行需要 ...

  5. Hadoop-1.2.1伪分布下 hive-0.10.0内嵌模式安装

    Hadoop-1.2.1伪分布下 hive-0.10.0内嵌模式安装 1.下载hive-0.10.0 网址是:http://archive.apache.org/dist/hive/hive-0.10 ...

  6. hdu5016

    题意:给定一个n个点的图,这个图是一棵树,然后有些点建立了集市.并且没有集市的地方去集市一定是去最近的,如果距离相同,那么则去标号最小的..现在你还能在建一个集市,问建完这个集市最多有多少个点来这里. ...

  7. AngularJS 单元测试 Karma jasmine

    当AngularJS项目越来越大时候,需要进行单元测试,可以先开发功能再进行测试,也可以先进行测试. 一.karma  是一个基于Node.js(先要安装)的JavaScript测试执行过程管理工具( ...

  8. 用JavaScript写的动态表格

    实现的功能有Table表格添加,删除.输入,删除的全选,单行删除. HTML代码部分 <body> <form> <table border="1" ...

  9. SpringMVC源码分析(3)DispatcherServlet的请求处理流程

    <springmvc源码分析(2)dispatcherservlet的初始化>初始化DispatcherServlet的多个组件. 本文继续分析DispatcherServlet解析请求的 ...

  10. MySQL--Percona-XtraDB-Cluster 5.6安装笔记

    安装环境: 有三台干净的CentOS 6的服务器,IP配置为:192.168.166.169,192.168.166.170,192.168.166.171,准备搭建三节点的Percona XtraD ...