Kafka参数配置原理及demo整理

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文

目录

文章目录

前言

一、kafka定义

二、kafka安装和配置

1.jdk环境

2.zookeeper安装

3.kafka安装

 三、kafka入门案例

1.3.1 创建工程kafka-demo

1.3.2 消息生产者

1.3.3 消息消费者

1.3.4 测试及结论

1.3.5 相关概念详解

1.3.5 生产者详解

1.3.6 消费者详解

1.4 spring boot集成kafka收发消息

1.4.1 环境搭建

1.4.3 消息消费者

1.5 传递消息为对象

附录一

kafka生产者发送消息成功回调

后面再更新集群和高级应用吧


一、kafka定义

Kafka传统定义:是一个分布式的基于发布/订阅模式消息队列(Message Queue) 

                         传统的消息队列主要应用场景也就是缓存/消峰解耦异步通信 

kafka最新定义:开源的分布式事件流平台(Event Streaming Platform)也可用于高性能数据管道流分析数据集成和关键任务的应用

kafka官网:http://kafka.apache.org/

kafka名词解释

  • topic:Kafka将消息分门别类,每一类的消息称之为一个主题(Topic)
  • producer:发布消息的对象称之为主题生产者(Kafka topic producer)
  • consumer:订阅消息并处理发布的消息的对象称之为主题消费者(consumers)
  • broker:已发布的消息保存在一组服务器中,称之为Kafka集群。集群中的每一个服务器都是一个代理(Broker)。 消费者可以订阅一个或多个主题(topic),并从Broker拉数据,从而消费这些已发布的消息。

二、kafka安装和配置

1.jdk环境

首先需要安装Java环境,同时配置环境变量

2.zookeeper安装

       Zookeeper是安装Kafka集群的必要组件,Kafka通过Zookeeper来实施对元数据信息的管理,包括集群、主题、分区等内容。


同样在官网下载安装包到指定目录解压缩

ZooKeeper 官网: Apache ZooKeeper

 下面以一个zookeeper-3.4.14.tar.gz安装包为例,上传到linux服务器,也可以到官网上下载

(1)解压压缩包

tar zxvf zookeeper-3.4.14.tar.gz

(2)修改配置文件,进入安装路径conf目录,并将zoo_sample.cfg文件修改为zoo.cfg

cd zookeeper-3.4.14  #进入安装目录
cd conf   #进入配置目录
mv zoo_sample.cfg zoo.cfg  # 把文件改名

(3)创建存放数据的目录 data

在zookeeper安装的根目录创建目录 data

mkdir data 

创建完的效果如下:

(4)配置数据存储目录

进入conf目录下,编辑zoo.cfg

vi conf/zoo.cfg

修改内容,如下图

(5)启动zookeeper

进入bin目录

./zkServer.sh start # 启动
./zkServer.sh status # 查看状态
./zkServer.sh restart # 重启
./zkServer.sh stop # 关闭

启动后可以查看进行

jps

3.kafka安装

(1)官网下载

下载地址:http://kafka.apache.org/downloads

也可以在今天的资源文件夹中找到这个安装,直接上传到服务器即可

(2)解压

tar zxvf kafka_2.12-2.2.1.tgz

(3)修改参数

修改config目录下的server.properties文件,效果如下

  • 修改listeners=PLAINTEXT://host:9092
  • log.dirs=/root/kafka_2.12-2.2.1/logs 需要在kafka安装目录新建logs目录

(4)启动kafka

在kafka的根目录

bin/kafka-server-start.sh config/server.properties  #启动kafka

查看进程

注意:启动kafka之前,必须先启动zookeeper

 三、kafka入门案例

1.3.1 创建工程kafka-demo

创建kafka-demo工程,引入依赖信息

<properties>
    <kafka.client.version>2.0.1</kafka.client.version>
</properties>
<dependencies>
    <dependency>
        <groupId>org.apache.kafka</groupId>
        <artifactId>kafka-clients</artifactId>
        <version>${kafka.client.version}</version>
    </dependency>
</dependencies>

做一个java普通的生产者和消费者只需要依赖kafka-clients即可

1.3.2 消息生产者

创建类:

package com.kafka.simple;

import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.ProducerConfig;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.apache.kafka.common.protocol.types.Field;

import java.util.Properties;

/**
 * 消息生产者
 */
public class ProducerFastStart {

    private static final String TOPIC = "itcast-heima";

    public static void main(String[] args) {

        //添加kafka的配置信息
        Properties properties = new Properties();
        //配置broker信息
        properties.put("bootstrap.servers","192.168.200.130:9092");
        properties.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG,"org.apache.kafka.common.serialization.StringSerializer");
        properties.put(ProducerConf
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值