Kafka的安装及与Spring Boot的集成
- 安装JDK
- 下载jdk-8u202-ea-bin-b03-linux-x64-07_nov_2018.tar.gz
- 解压
- 配置
- $ vi /etc/profile,在最后加入下面两行
export JAVA_HOME=/usr/local/bigdata/jdk1.8.0_202
export PATH=$JAVA_HOME/bin:$PATH - 重新登录执行 java,验证JDK配置成功
- 安装Kafka
- 下载kafka_2.11-1.0.2.tgz,这里主要1.0.2这个Kafka Server的 版本需要和客户端Spring-Kafka的版本对应,具体对应关系请看https://spring.io/projects/spring-kafka
- 解压 tar -xzvf kafka_2.11-1.0.2.tgz
- 配置 vi config/server.properties,host.name 非常非常关键,否则你讲无法远程连接到Kafka
# Hostname and port the broker will advertise to producers and consumers. If not set,
# it uses the value for "listeners" if configured. Otherwise, it will use the value
# returned from java.net.InetAddress.getCanonicalHostName().
#advertised.listeners=PLAINTEXT://your.host.name:9092
host.name=192.168.198.128 - 启动 Zookeeper
bin/zookeeper-server-start.sh config/zookeeper.properties - 启动 Kafka
bin/kafka-server-start.sh config/server.properties
- 创建一个Topic并查看是否创建成功
bin/kafka-topics.sh --create --zookeeper 192.168.198.128:2181 --replication-factor 1 --partitions 1 --topictest
- 查看Topic是否创建成功
bin/kafka-topics.sh --list --zookeeper192.168.198.128:2181- 本地Producer及Consumer演示
- 创建一个本地消息消费者
bin/kafka-console-consumer.sh --bootstrap-server:9092 --topic192.168.198.128test--from-beginning - 创建一个本地消息生产者
bin/kafka-console-producer.sh --broker-list:9092 --topic192.168.198.128test - 在生产者端输入消息,消费者端将会打印此消息
- 远程Consumer演示(Windows 平台)
- 下载kafka_2.11-1.0.2.tgz解压并进入bin/windows
- 创建一个远程消费者
kafka-console-consumer.bat --bootstrap-server:9092 --topic192.168.198.128test--from-beginning - 在Linux平台生成者端输入消息,检查windows端远程消费者是否打印此消息
- Spring Boot集成配置
在Maven中添加依赖
<!--kafka-->
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
<version>1.3.8.RELEASE</version>
</dependency>
- KafkaProducer.java
@Component
public class KafkaProducer { Logger logger = LoggerFactory.getLogger(KafkaProducer.class); @Autowired
private KafkaTemplate kafkaTemplate; @Scheduled(fixedRateString = "1000") //per second
public void send(){
logger.info("Start to send message to Kakfa with topic name 'test'");
String message = UUID.randomUUID().toString();
ListenableFuture future = kafkaTemplate.send("test", message);
future.addCallback(o -> System.out.println("message sent successfully: " + message), throwable -> System.out.println("message sent failed: " + message));
}
} - KafkaConsumer.java
@Component
public class KafkaConsumer { @KafkaListener(topics = {"test"})
public void receive(String message){
System.out.println("test-message:" + message);
}
}
Kafka的安装及与Spring Boot的集成的更多相关文章
- Spring Boot快速集成kaptcha生成验证码
Kaptcha是一个非常实用的验证码生成工具,可以通过配置生成多样化的验证码,以图片的形式显示,从而无法进行复制粘贴:下面将详细介绍下Spring Boot快速集成kaptcha生成验证码的过程. 本 ...
- [转帖]spring boot项目集成jacoco
小试牛刀:spring boot项目集成jacoco 2019-03-28 20:14:36 zyq23333 阅读数 509 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议, ...
- Spring Boot:集成Druid数据源
综合概述 数据库连接池负责分配.管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个:释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据 ...
- shiro 和 spring boot 的集成
1 添加依赖 使用 shiro-spring-boot-web-starter 在 spring boot 中集成 shiro 只需要再添加一个依赖 <dependency> <gr ...
- Java | Spring Boot Swagger2 集成REST ful API 生成接口文档
Spring Boot Swagger2 集成REST ful API 生成接口文档 原文 简介 由于Spring Boot 的特性,用来开发 REST ful 变得非常容易,并且结合 Swagg ...
- Spring Boot 项目集成 Alibaba Druid
Druid 是一个非常好用的数据库连接池,但是他的好并不止体现在作为一个连接池加快数据访问性能上和连接管理上,他带有一个强大的监控工具:Druid Monitor.不仅可以监控数据源和慢查询,还可以监 ...
- Spring Boot Redis 集成配置(转)
Spring Boot Redis 集成配置 .embody{ padding:10px 10px 10px; margin:0 -20px; border-bottom:solid 1px #ede ...
- spring boot 2 集成JWT实现api接口认证
JSON Web Token(JWT)是目前流行的跨域身份验证解决方案.官网:https://jwt.io/本文使用spring boot 2 集成JWT实现api接口验证. 一.JWT的数据结构 J ...
- elasticsearch 的安装配置与spring boot的整合应用
linux上的elasticsearch安装 一.下载elasticsearch 直接进入elasticsearch的官网,下载最新的安装包:https://www.elastic.co/downlo ...
随机推荐
- mybatis入门篇:mybatis动态SQL
1.if用法 <select id="selectUser" resultType="com.forest.owl.entity.User"> se ...
- 优于 swagger 的 java markdown 文档自动生成框架-01-入门使用
设计初衷 节约时间 Java 文档一直是一个大问题. 很多项目不写文档,即使写文档,对于开发人员来说也是非常痛苦的. 不写文档的缺点自不用多少,手动写文档的缺点也显而易见: 非常浪费时间,而且会出错. ...
- 关于使用echarts走过的坑(同grid多图、多轴系列)
相信大家在工作中,经常会用到echarts,今天我说下我在工作中浪费时间较长的坑 先来看看我的终极需要实现的图吧: 相信以上效果对于常用的小伙伴来说并不困难, 在此我只说option的配置,关于数据, ...
- springboot 问题总结
一:返回格式化日期 如果我们是用fastjson处理成jsonString,可以通过下面两种方式处理 1,在接受实体上@JSONField(format="yyyy-MM-dd HH:mm: ...
- mongo 数据查询
基本查询 方法find():查询 db.集合名称.find({条件文档}) 方法findOne():查询,只返回第一个 db.集合名称.findOne({条件文档}) 方法pretty():将结果格式 ...
- Docker笔记——jdk镜像制作
openjdk镜像依赖如下: openjdk:8-jdk -> buildpack-deps:jessie-scm -> buildpack-deps:jessie-curl -> ...
- ExcelPackage 读取、导出excel
private static string GetString(object obj) { try { return obj.ToString(); } catch (Exception ex) { ...
- matlab-单位圆内射线数次反射
转载自 https://zhidao.baidu.com/question/2268408219692883828.html 先贴代码和放图,然后我再做出一点解释(其实只是觉得这个思路好厉害,所以想保 ...
- 渐进反馈式搜索技术助力运维工程师——Linux命令高效检索
日常生活工作中,我们通过搜索引擎查询相关资料时,经常遇到不知如何指定准确关键词的情况,仅仅根据指定大概范围的关键词时,搜索结果往往不能尽如人意. <信息导航>APP最新版本(Ver 1.1 ...
- python大法好——python json
Python JSON 本章节我们将为大家介绍如何使用 Python 语言来编码和解码 JSON 对象. JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式, ...