kafka教程,完全参照w3school:

https://www.w3cschool.cn/apache_kafka/apache_kafka-dac11yot.html

以下是入门学习过程中摘录的一些操作

cd /usr/software/kafka

启动ZooKeeper
bin/zookeeper-server-start.sh config/zookeeper.properties 要启动Kafka Broker
bin/kafka-server-start.sh config/server.properties 创建Kafka主题
bin/kafka-topics.sh --create --zookeeper localhost: --replication-factor --partitions --topic Hello-Kafka 主题列表
bin/kafka-topics.sh --list --zookeeper localhost: 启动生产者以发送消息
bin/kafka-console-producer.sh --broker-list localhost: --topic Hello-Kafka 启动消费者
bin/kafka-console-consumer.sh --zookeeper localhost: --topic Hello-Kafka --from-beginning

备注:producer启动好了之后,可以在producer console下输入任意信息(发布消息)

然后消息会发送到broker,然后就可以在consumer 端接收数据,包括离线数据

问题:

如果改动了 vi config/server.properties 配置ip

listeners=PLAINTEXT://192.168.204.135:9092
#listeners=PLAINTEXT://:9092

producer上需要带ip才能在consumer看到那个

producer>> bin/kafka-console-producer.sh --broker-list 192.168.204.135:9092 --topic Hello-Kafka

附录:

java代码发送消息到consumer看


<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.10</artifactId>
<version>0.8.2.1</version>
</dependency>
注意:以下这个例子和刚刚这个依赖对应版本使用,某些版本才包含 kafka.producer.KeyedMessage;
这些类,高点的版本api变了,如pom改版本为<artifactId>kafka_2.12</artifactId> <version>2.0.0</version>,则下面java测试就引入不到一些类了

package cn.kafka; import kafka.javaapi.producer.Producer;
import kafka.producer.KeyedMessage;
import kafka.producer.ProducerConfig;
import java.util.Date;
import java.util.Properties; public class SimpleKafkaProducer {
private static String PRODUCER_URL="192.168.204.136:9092";//我的zookeeper 地址
private static String TOPIC="Hello-Kafka";//我的topic name public static void main(String[] args) {
publishMessage(TOPIC, 1);
System.err.println("end");
} /**
* 根据topic和消息条数发送消息
* @param topic
* @param count
*/
private static void publishMessage(String topic, int count) {
Properties props = new Properties();
props.put("metadata.broker.list", PRODUCER_URL);//指定producer连接的broker列表
/**
* 指定message的序列化方法,用户可以通过实现kafka.serializer.Encoder接口自定义该类
* 默认情况下message的key和value都用相同的序列化,但是可以使用"key.serializer.class"指定key的序列化
*/
props.put("serializer.class", "kafka.serializer.StringEncoder");
/**
* 这个参数用于通知broker接收到message后是否向producer发送确认信号
* 0 - 生产者producer不等待来自broker同步完成确认,继续发送下一条(批)消息
* 1 - producer在leader已成功收到的数据并得到确认后发送下一条message
* -1 - leader和following都完成确认,再继续
*/
props.put("request.required.acks", "1");
ProducerConfig config = new ProducerConfig(props);
Producer<String, String> producer = new Producer<String, String>(config); for (int i = 0; i < count; i ++) {
String runtime = new Date().toString();
String msg = i+",Message published time - " + runtime;
System.err.println("msg = " + msg);
/**
* 第一个泛型指定用于分区的key的类型,第二个泛型指message的类型
* topic只能为String类型
*/
KeyedMessage<String, String> data = new KeyedMessage<String, String>(topic, msg);
producer.send(data);
}
producer.close();
}
}

发完可以到consumer端查看结果

Apache Kafka 概述的更多相关文章

  1. Apache Kafka 快速入门

    概述 Apache Kafka是一个分布式发布-订阅消息系统和强大的队列,可以处理大量的数据,将消息从一个端点传递到另一个端点.Kafka适合离线和在线消息消费,Kafka消息保存在磁盘上,并在集群内 ...

  2. 开源流量分析系统 Apache Spot 概述(转)

    原文地址http://blog.nsfocus.net/apache-spot/ Apache Spot 是一个基于网络流量和数据包分析,通过独特的机器学习方法,发现潜在安全威胁和未知网络攻击能力的开 ...

  3. kafka概述

    kafka概述 Apache Kafka是一个开源 消息 系统,由Scala写成.是由Apache软件基金会开发的一个开源消息系统项目. Kafka最初是由LinkedIn开发,并于2011年初开源. ...

  4. [转帖]Apache Kylin 概述

    Apache Kylin 概述 https://www.cnblogs.com/xiaodf/p/11671095.html 1 Kylin是什么 今天,随着移动互联网.物联网.AI等技术的快速兴起, ...

  5. Apache Kafka分布式流处理平台及大厂面试宝典v3.0.0

    概述 **本人博客网站 **IT小神 www.itxiaoshen.com 定义 Apache Kafka官网地址 http://kafka.apache.org/ 最新版本为 3.0.0 Apach ...

  6. Windows OS上安装运行Apache Kafka教程

    Windows OS上安装运行Apache Kafka教程 下面是分步指南,教你如何在Windows OS上安装运行Apache Zookeeper和Apache Kafka. 简介 本文讲述了如何在 ...

  7. 【转】apache kafka监控系列-KafkaOffsetMonitor

    apache kafka监控系列-KafkaOffsetMonitor 时间 2014-05-27 18:15:01  CSDN博客 原文  http://blog.csdn.net/lizhitao ...

  8. Understanding, Operating and Monitoring Apache Kafka

    Apache Kafka is an attractive service because it's conceptually simple and powerful. It's easy to un ...

  9. Released Mocked Streams for Apache Kafka

    Kafka Streams is a de­ploy­ment-ag­nos­tic stream pro­cess­ing li­brary writ­ten in Java. Even thoug ...

随机推荐

  1. 识别oracle数据库软件版本号

    由于Oracle数据库不断发展并可能需要维护,因此Oracle会定期生成新版本.并非所有客户最初都订阅新版本或需要对其现有版本进行特定维护.因此,该产品的多个版本同时存在. 可能需要多达五个数字才能完 ...

  2. Idea实用配置

    参考:https://github.com/judasn/IntelliJ-IDEA-Tutorial 1.代码提示不区分大小写 2.跳到指定行 Ctrl + G Ctrl 快捷键 介绍 Ctrl + ...

  3. 原生js的开发笔记

    1.基本的dom操作 var a=document.getElementById('ma1').innerHTML;/获取html代码 alert(document.getElementById('m ...

  4. 关于Mac或Linux下GO的Permission denied提示错误

    有时候当你下载第三方库的时候,编译时会提示Permission denied 权限不足, 出现这种错误因为权限不够.其中一种办法是需要把你项目目录和go的pck.bin权限放开. chmod -R 7 ...

  5. 扒一扒JVM的垃圾回收机制,下次面试你准备好了吗

      相信和小编一样的程序猿们在日常工作或面试当中经常会遇到JVM的垃圾回收问题,有没有在夜深人静的时候详细捋一捋JVM垃圾回收机制中的知识点呢?没时间捋也没关系,因为小编接下来会给你捋一捋. 一. 技 ...

  6. 积分从入门到放弃<2>

    这部分重新从定积分学了 1,lnx 的导数就是x^(-1) = 1/x 那么求∫(1/x)dx = ln|x|+C  2,初值问题.就是求∫f(x)dx = F(x) + C 求C . 3,Houdi ...

  7. Firefox is already running,实际后台查不到进程了

    Firefox is already running, but is not responding. To open a new window, you must first close the ex ...

  8. 正则表达式处理BT的html嵌套问题

    在博问里面求教大神,把问题搞定.在此做个记录备份,也给碰到类似问题的园友提供解决思路. 简化的业务场景就是,在页面html标签中的属性中嵌套了html标签,怎么用用正则表达式过滤闭合的html标签(& ...

  9. MFCWinInet学习

    http://blog.csdn.net/segen_jaa/article/details/6278167 背景: 功能:服务端下载文件 服务端:用Java写Sevlet进行有效性验证 客户端:用C ...

  10. 码云 Git No network connection

    背景 git,好久没用了都.心血来潮还是赶紧熟悉下吧.果不其然,每次要熟悉或开始一个东西,立马就出现问题.本来好好的环境竟然不行了,搞定后感觉应该是换了网络环境的事.这倒次要,主要让我想起了最初学习g ...