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. ActiveMQ中JMS的可靠性机制

    全文用到的生产者代码: package cn.qlq.activemq; import javax.jms.Connection; import javax.jms.ConnectionFactory ...

  2. Vue获取事件源

    设置事件源 <label :data-weight="item1.EvaluateWeight" @click='radioClick' :data-id="ite ...

  3. mlock实现原理及应用【转】

    转自:https://blog.csdn.net/yiyeguzhou100/article/details/78085857 https://wenku.baidu.com/view/e25b4af ...

  4. VC++、MFC最好的开源项目

    介绍:介绍一下用VC++/MFC写的最好的开源项目. Sourceforge.net中有许多高质量的VC++开源项目,我列举了一些可以作为VC++程序员的参考. 正文: VC++.MFC中最好的开源项 ...

  5. hibernate框架学习之数据查询(本地SQL)

    本地SQL查询方式 lHibernate框架支持使用原生态SQL语句进行操作数据库 l查询对象SQLQuery由Session获取 •SQLQuery sq = s.createSQLQuery(&q ...

  6. php OpenSSL 加解密

    2018-1-6 17:10:19 星期六 $data = '123456'; $openssl_method = 'AES-256-CBC'; $openssl_iv_length = openss ...

  7. 虚拟机静态ip设置

    1.安装之后,用ifconfig命令发现没有ip信息,如下图,发现没有ip信息(好坑). 网上找了各种资料,最后才发现实自己的网卡没有启动,虽然使用service restart network,但是 ...

  8. mysql 命令行常用命令

    1.显示数据库列表.  show databases; 2.显示库中的数据表:  use mysql; show tables; 3.显示数据表的结构:  describe 表名; 4.建库:  cr ...

  9. luasocket 安装记录 (FS1.4)

    说明:FS 1.4 使用的lua 5.2 ,需要使用luasocket 3.0 以上. 本文以FS 1.4 && luasocket 3.0 为基础,记录安装使用过程. 一.下载 &a ...

  10. ASP.NET MVC5入门2之Ajax实现数据查询

    开发环境:VS2013 数据库:SQL Server2008R2 架构:ASP.NET MVC5 开发语言:C# 代码下载链接:http://download.csdn.net/detail/u010 ...