• 安装JDK
  1. 下载jdk-8u202-ea-bin-b03-linux-x64-07_nov_2018.tar.gz
  2. 解压
  3. 配置
  4. $ vi /etc/profile,在最后加入下面两行
      export JAVA_HOME=/usr/local/bigdata/jdk1.8.0_202
      export PATH=$JAVA_HOME/bin:$PATH
  5. 重新登录执行 java,验证JDK配置成功
  • 安装Kafka
  1. 下载kafka_2.11-1.0.2.tgz,这里主要1.0.2这个Kafka Server的 版本需要和客户端Spring-Kafka的版本对应,具体对应关系请看https://spring.io/projects/spring-kafka
  2. 解压 tar -xzvf kafka_2.11-1.0.2.tgz
  3. 配置 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
  4. 启动 Zookeeper
    bin/zookeeper-server-start.sh config/zookeeper.properties
  5. 启动 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 --topic test  
  • 查看Topic是否创建成功
  • bin/kafka-topics.sh --list --zookeeper 192.168.198.128:2181
  • 本地Producer及Consumer演示
  1. 创建一个本地消息消费者
    bin/kafka-console-consumer.sh --bootstrap-server 192.168.198.128:9092 --topic test --from-beginning
  2. 创建一个本地消息生产者
    bin/kafka-console-producer.sh --broker-list 192.168.198.128:9092 --topic test
  3. 在生产者端输入消息,消费者端将会打印此消息
  • 远程Consumer演示(Windows 平台)
  1. 下载kafka_2.11-1.0.2.tgz解压并进入bin/windows
  2. 创建一个远程消费者
    kafka-console-consumer.bat --bootstrap-server 192.168.198.128:9092 --topic test --from-beginning
  3. 在Linux平台生成者端输入消息,检查windows端远程消费者是否打印此消息
  • Spring Boot集成配置

    在Maven中添加依赖

  1.     <!--kafka-->
        <dependency>
        <groupId>org.springframework.kafka</groupId>
        <artifactId>spring-kafka</artifactId>
        <version>1.3.8.RELEASE</version>
        </dependency>
    关于依赖版本及Kafka Server的版本的对应关系,查看https://spring.io/projects/spring-kafka
  • KafkaProducer.java

    1. @Component
    2. public class KafkaProducer {
    3.  
    4. Logger logger = LoggerFactory.getLogger(KafkaProducer.class);
    5.  
    6. @Autowired
    7. private KafkaTemplate kafkaTemplate;
    8.  
    9. @Scheduled(fixedRateString = "1000") //per second
    10. public void send(){
    11. logger.info("Start to send message to Kakfa with topic name 'test'");
    12. String message = UUID.randomUUID().toString();
    13. ListenableFuture future = kafkaTemplate.send("test", message);
    14. future.addCallback(o -> System.out.println("message sent successfully: " + message), throwable -> System.out.println("message sent failed: " + message));
    15. }
    16. }
  • KafkaConsumer.java
    1. @Component
    2. public class KafkaConsumer {
    3.  
    4. @KafkaListener(topics = {"test"})
    5. public void receive(String message){
    6. System.out.println("test-message:" + message);
    7. }
    8. }

Kafka的安装及与Spring Boot的集成的更多相关文章

  1. Spring Boot快速集成kaptcha生成验证码

    Kaptcha是一个非常实用的验证码生成工具,可以通过配置生成多样化的验证码,以图片的形式显示,从而无法进行复制粘贴:下面将详细介绍下Spring Boot快速集成kaptcha生成验证码的过程. 本 ...

  2. [转帖]spring boot项目集成jacoco

    小试牛刀:spring boot项目集成jacoco 2019-03-28 20:14:36 zyq23333 阅读数 509   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议, ...

  3. Spring Boot:集成Druid数据源

    综合概述 数据库连接池负责分配.管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个:释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据 ...

  4. shiro 和 spring boot 的集成

    1 添加依赖 使用 shiro-spring-boot-web-starter 在 spring boot 中集成 shiro 只需要再添加一个依赖 <dependency> <gr ...

  5. Java | Spring Boot Swagger2 集成REST ful API 生成接口文档

      Spring Boot Swagger2 集成REST ful API 生成接口文档 原文 简介 由于Spring Boot 的特性,用来开发 REST ful 变得非常容易,并且结合 Swagg ...

  6. Spring Boot 项目集成 Alibaba Druid

    Druid 是一个非常好用的数据库连接池,但是他的好并不止体现在作为一个连接池加快数据访问性能上和连接管理上,他带有一个强大的监控工具:Druid Monitor.不仅可以监控数据源和慢查询,还可以监 ...

  7. Spring Boot Redis 集成配置(转)

    Spring Boot Redis 集成配置 .embody{ padding:10px 10px 10px; margin:0 -20px; border-bottom:solid 1px #ede ...

  8. spring boot 2 集成JWT实现api接口认证

    JSON Web Token(JWT)是目前流行的跨域身份验证解决方案.官网:https://jwt.io/本文使用spring boot 2 集成JWT实现api接口验证. 一.JWT的数据结构 J ...

  9. elasticsearch 的安装配置与spring boot的整合应用

    linux上的elasticsearch安装 一.下载elasticsearch 直接进入elasticsearch的官网,下载最新的安装包:https://www.elastic.co/downlo ...

随机推荐

  1. [python,2018-06-29] 37%法则及其拓展解决恋爱问题

    37%法则 苏格拉底的问题: 在一片麦田里摘出一颗最大最好的麦穗.但只能摘一次,而且不能回头. 传说这是苏格拉底给他的弟子柏拉图提出的问题,又传说柏拉图进行了2次选择: 1.柏拉图第一次走进麦田,他发 ...

  2. Eclipse下支持编写HTML/JS/CSS/JSP页面的自动提示

    地址:https://blog.csdn.net/AinUser/article/details/64904339 使用eclipse自带的插件,无需另外安装插件,具体步骤如下 1.打开eclipse ...

  3. HTTP 请求头中的 Remote_Addr,X-Forwarded-For,X-Real-IP

    REMOTE_ADDR 表示发出请求的远程主机的 IP 地址,remote_addr代表客户端的IP,但它的值不是由客户端提供的,而是服务端根据客户端的ip指定的,当你的浏览器访问某个网站时,假设中间 ...

  4. 【perl】企业微信发消息

    https://open.work.weixin.qq.com/api/doc#90000/90135/90236 #!/usr/bin/env perl use strict; use warnin ...

  5. Jmeter5.1.1的汉化

    Jmeter的汉化: 在菜单导航栏,选择options-->choose language-->chinese(simplified)中文简体 默认打开汉化: 编辑jmeter.bat: ...

  6. session的处理机制

    https://blog.csdn.net/deepwishly/article/details/6659613 https://blog.csdn.net/dz45693/article/detai ...

  7. Shell 批量修改主机 用户密码

    问题:132.121.114 和 132.121.118 网段共 48 台主机未添加基础监控,但是 wh 账户不能登录 需进行批量修改密码操作. 目前情况:op1对上述48台机器设备均能免密登录. 操 ...

  8. 搭建Android浏览器壳子

    搭建Android浏览器壳子 不久前我们要做一个Android端的手机APP,但没有用Android原生的组件, 而是把这个APP做成了一个访问某一固定IP的浏览器,即单纯的一个壳子: 具体的内容用V ...

  9. List 去重

    private static List removeDuplicate(List list) { HashSet h = new HashSet(list); list.clear(); list.a ...

  10. 阿里云ossfs配置

    Github:https://github.com/aliyun/ossfs/wiki Root账户卸载:umount /挂载目录非root用户要卸载目录,请用:fusermount -u your_ ...