文档章节

17.windows上安装kafka并简单应用

2
 20190513
发布于 06/19 23:38
字数 482
阅读 7
收藏 0

参考:https://blog.csdn.net/yao8513277/article/details/81116718

1.单机版

1.1 安装jdk

1.2 安装zookeeper

https://my.oschina.net/springMVCAndspring/blog/3045210

1.3 安装window上安装kafka

1.3.1 下载

http://kafka.apache.org/downloads

7b5ae7e62e33f0afcb50e07e421714c6354.jpg

 

9a301287506d3f79dc5ab15187cd0c2d262.jpg

 

1.3.2 解压

1.3.3 建立一个空文件夹 logs

1.3.4 进入config目录,编辑 server.properties文件

(1)编辑log.dirs

(2)编辑zookeeper.connect

1.4 启动kafka

(1)启动zookeeper

(2)启动kafka

  .\bin\windows\kafka-server-start.bat .\config\server.properties

 

 

 

 

2.kafka整合springboot

效果:

2.1 生产者项目

2.1.1 创建 生产者项目

 

 

设置maven

 

2..1.2 配置pom.xml

<!--1.web-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 2.kafka -->
<dependency>
    <groupId>org.springframework.kafka</groupId>
    <artifactId>spring-kafka</artifactId>
    <version>2.2.1.RELEASE</version>
</dependency>
<!--3.lombook-->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.16.18</version>
    <scope>provided</scope>
</dependency>
<!-- 4jackson -->
<!--4.1 定义了底层的streaming API和实现了Json特性 -->
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.7.3</version>
</dependency>
<!-- 4.2 实现了数据绑定和对象序列化,它依赖于streaming和annotations的包  -->
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.7.3</version>
</dependency>
<!-- 4.3 包含了标准的Jackson注解。本文暂不介绍 -->
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-annotations</artifactId>
    <version>2.7.3</version>
</dependency>

2.1.3 配置文件

 

2.1.4 编写代码

这里只简单的编写controller层代码

2.1.4.1 domain

 

2.1.4.2 controller

@Resource
private KafkaTemplate<String, String> kafkaTemplate;

//发送消息方法
@ResponseBody
@RequestMapping("/send")
public void send(String msg) {
    Message message = new Message();
    message.setId(UUIDUtils.returnUuid());
    message.setMsg(msg);
    message.setSendTime(TimeUtils.getStringDate(new Date()));
    try {
        kafkaTemplate.send("kafka0620", JacksonUtils.objectToJson(message));
    } catch (JsonProcessingException e) {
        e.printStackTrace();
    }
}

 

2.2 消费者

(1)搭建项目 与生产者一模一样

(2)pom.xml相同

(3)配置文件

#项目端口
server.port=9000
#============== kafka ===================
# 指定kafka 代理地址,可以多个
spring.kafka.bootstrap-servers=localhost:9092

#=========== consumer  =======================
# 指定默认消费者group id
spring.kafka.consumer.group-id=test201906191305

spring.kafka.consumer.auto-offset-reset=earliest
spring.kafka.consumer.enable-auto-commit=true
spring.kafka.consumer.auto-commit-interval=100

# 指定消息key和消息体的编解码方式
spring.kafka.consumer.key-deserializer=org.apache.kafka.common.serialization.StringDeserializer
spring.kafka.consumer.value-deserializer=org.apache.kafka.common.serialization.StringDeserializer

 

(4) controller

@KafkaListener(topics = {"kafka0620"})
public void listen(ConsumerRecord<?, ?> record) {
    Optional<?> kafkaMessage = Optional.ofNullable(record.value());

    if (kafkaMessage.isPresent()) {

        Object message = kafkaMessage.get();
        System.err.println(record);
        System.err.println(message);

    }

}

2.3 源码

链接:https://pan.baidu.com/s/1zhbepbSKHuuDtnY9Z5DiKw 
提取码:8c59 

© 著作权归作者所有

2
粉丝 0
博文 33
码字总数 9648
作品 0
浦东
私信 提问
Apache Flink 漫谈系列(14-1) - DataStream Connectors之Kafka【编写中]

聊什么 为了满足本系列读者的需求,在完成《Apache Flink 漫谈系列(14) - DataStream Connectors》之前,我先介绍一下Kafka在Apache Flink中的使用。所以本篇以一个简单的示例,向大家介绍在...

金竹
01/14
0
0
搞懂分布式技术22:Kafka 安装及快速入门

Kafka 安装及快速入门2018-01-04 ×文章目录 1. 介绍 2. 安装 kafka 3. 功能验证: 4. 集群配置 5. 使用 Kafka Connect 来导入/导出数据 6. 使用 Kafka 流来处理数据 7. 参考 8. 关注我 9. 最...

你的猫大哥
2018/07/05
0
0
flume+kafka+zookeeper 日志收集平台的搭建

首先说明下我的目的是什么,我的目的是单纯的收集nginx的日志以及各种应用程序的日志 nginx 日志 预留的位置 flume 和 kafka这个大小的作用是什么我就不再说了,大家去自己搜下 一 。 环境 ...

jastme
2016/01/11
1K
0
Kafka安装与简介

今天来讲一下Kafka,它是一个消息队列,应用场景比较广泛。刚开始学习一门东西,咱们先不管它是干什么的,先跑起来才是正经,所以本文主要讲两点: 安装搭建Kafka 简单介绍下Kafka的原理和应...

Trigl
2017/05/23
0
0
Flink消费kafka消息实战

版权声明:欢迎转载,请注明出处,谢谢。 https://blog.csdn.net/boling_cavalry/article/details/85549434 本次实战的内容是开发Flink应用,消费来自kafka的消息,进行实时计算; 环境情况 ...

博陵精骑
01/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

简单的博客系统(四)Django请求HTML页面视图信息--基于函数的视图

1. 编写用于查询数据的功能函数 应用目录 下的 views.py 文件通常用于保存响应各种请求的函数或类 from django.shortcuts import renderfrom .models import BlogArticles# Create your ...

ZeroBit
13分钟前
0
0
用脚本将本地照片库批量导入到Day One中

因为目前iCloud 空间已经不足,其中95%都是照片,之前入手了DayOne,且空间没有限制,订阅费一年也不少,再加上DayOne作为一款日记App 也比较有名,功能方面最大的就是地理视图与照片视图,尤...

在山的那边
昨天
8
0
Vue-Ueditor

记录,忘了还要写啥了,先发吧,后面再补。。。 代码示例 import UEditor from '@/components/UE.vue';components: { UEditor },return {config: { //可以在此处定义工...

华山猛男
昨天
2
0
jupyter部署安装

python373 -m ipykernel install --name python373 ipython kernelspec list sc create myjupyterservice binpath="D:\apply\Python373\Scripts\jupyter-notebook --config=V:/my_work/jupyt......

mbzhong
昨天
4
0
聊聊feign的Contract

序 本文主要研究一下feign的Contract Contract feign-core-10.2.3-sources.jar!/feign/Contract.java public interface Contract { /** * Called to parse the methods in the class t......

go4it
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部