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 ...
随机推荐
- Python PEP8 编码规范
代码编排 缩进.缩进4个空格,不能混合使用Tab和空格. 每行最大长度79,文档字符串和注释行最大长度为72,换行可以使用反斜杠,最好使用圆括号. 类和顶层函数定义之间空两行:类中的方法定义以单行分隔 ...
- 强大的oracle分析函数
转载:https://www.cnblogs.com/benio/archive/2011/06/01/2066106.html 学习步骤:1. 拥有Oracle EBS demo 环境 或者 PRO ...
- ef err
InvalidCastException: The field of type jcz.DomainModels.Sex must be a string, array or ICollection ...
- java8-函数编程
在Function里面看到一个很奇怪的代码 static <T> Function<T, T> identity() { return t -> t; } 手动写了几个代 ...
- centos7,zabbix3.2通过zabbix_java_gateway监控jmx[java/tomcat]
网络上很多教程也比较多和全了,但是自己做时候多多少少的坑备注下吧. 1,监控原理简单说一下,就是zabbix_server通过代理(zabbix_java_gateway)来获取agent端(tomc ...
- python module -- sys
sys模块主要是用于提供对python解释器相关的操作 http://www.cnblogs.com/pycode/p/sysos.html http://blog.csdn.net/pipisorr ...
- C# ConfigurationManager不存在问题解决
在做串口通信的时候,需要使用"ConfigurationManager"类,但是添加"Using System.Configuration"命名空间后编译器依旧 ...
- Jenkins+Git+Maven构建并部署springboot(构建多模块中的单个模块)
主要思路:1.jenkins从git中拉取项目源码:jenkins使用maven构建并将生成的jar包通过shell脚本启动. 环境:环境:Centos7.Maven3.5.3.git(单机) 准备工 ...
- linux上如何设置网络,出现connect: network is unreachable 的问题。
发现有网友问有关ping命令出现connect: network is unreachable 的问题. 这通常是因为没正确设置ip地址. 解决方法: 在确保完善网卡驱动,以及确保将网卡驱动编译进内核 ...
- Python中函数和方法的区别
方法是一种特殊的函数属于某个类的的函数叫方法不属于某个类的函数叫函数 转自csdn https://blog.csdn.net/weixin_40380298/article/details/7825 ...