CentOS7部署Kafka

CentOS7部署Kafka

  • 一、部署
    • 1、前置条件
    • 2、下载与解压
    • 3、修改配置
    • 4、启动kafka
  • 二、使用详解
    • 1、创建一个主题
    • 2、展示所有主题
    • 3、启动消费端接收消息
    • 4、生产端发送消息
  • 三、代码集成
    • pom.xml
    • application.properties
    • KafkaConfiguration.java
    • KafkaConsumer.java
    • KafkaProducer.java
    • VehiclePartitioner.java
    • KafkaTestController.java

一、部署

1、前置条件

1.安装jdk1.8
2.安装zookeeper

2、下载与解压

wget https://archive.apache.org/dist/kafka/2.8.0/kafka_2.12-2.8.0.tgz
tar xf kafka_2.12-2.8.0.tgz

3、修改配置

cd /data/kafka_2.12-2.8.0
vim /data/kafka_2.12-2.8.0/config/server.properties

编辑内容

# broker 的编号,如果集群中有多个 broker,则每个 broker 的编号需要设置的不同
broker.id=0
# 31 行
listeners=PLAINTEXT://192.168.50.93:9092
# 123 行,修改 zookeeper.connect 为自己的 IP:PORT
zookeeper.connect=localhost:2181
#存放消息日志文件的地址
log.dirs=/home/seven/kafka/kafka-logs
//默认的分区数,一个topic默认3个分区数
num.partitions=2

配置详解(与部署无关)

//当前机器在集群中的唯一标识,和zookeeper的myid性质一样(broker.id和host.name每个节点都不相同)
broker.id=0
//当前kafka对外提供服务的端口默认是9092listeners=PLAINTEXT://192.168.1.202:9092
//这个参数默认是关闭的,在0.8.1有个bug,DNS解析问题,失败率的问题。
host.name=hadoop1
//这个是borker进行网络处理的线程数
num.network.threads=3
//这个是borker进行I/O处理的线程数
num.io.threads=8
//发送缓冲区buffer大小,数据不是一下子就发送的,先回存储到缓冲区了到达一定的大小后在发送,能提高性能
socket.send.buffer.bytes=102400
//kafka接收缓冲区大小,当数据到达一定大小后在序列化到磁盘
socket.receive.buffer.bytes=102400
//这个参数是向kafka请求消息或者向kafka发送消息的请请求的最大数,这个值不能超过java的堆栈大小
socket.request.max.bytes=104857600
//消息存放的目录,这个目录可以配置为“,”逗号分割的表达式,上面的num.io.threads要大于这个目录的个数这个目录,
//如果配置多个目录,新创建的topic他把消息持久化的地方是,当前以逗号分割的目录中,那个分区数最少就放那一个
log.dirs=/home/hadoop/log/kafka-logs
//默认的分区数,一个topic默认2个分区数
num.partitions=2
//每个数据目录用来日志恢复的线程数目
num.recovery.threads.per.data.dir=1
//默认消息的最大持久化时间,168小时,7天
log.retention.hours=168
//轮转时间,当需要删除指定小时之前的数据时,该设置项很重要
log.roll.hours=12
//这个参数是:因为kafka的消息是以追加的形式落地到文件,当超过这个值的时候,kafka会新起一个文件
log.segment.bytes=1073741824
//每隔300000毫秒去检查上面配置的log失效时间
log.retention.check.interval.ms=300000
//是否启用log压缩,一般不用启用,启用的话可以提高性能
log.cleaner.enable=false
//设置zookeeper的连接端口
zookeeper.connect=192.168.123.102:2181,192.168.123.103:2181,192.168.123.104:2181
//设置zookeeper的连接超时时间
zookeeper.connection.timeout.ms=6000

4、启动kafka

nohup ./kafka-server-start.sh /home/seven/kafka/config/server.properties & 

二、使用详解

1、创建一个主题

–zookeeper:指定了kafka所连接的zookeeper服务地址
–topic:指定了所要创建主题的名称
–partitions:指定了分区个数
–replication-factor:指定了副本因子
–create:创建主题的动作指令

./kafka-topics.sh --zookeeper localhost:2181 --create --topic test --partitions 2 --replication-factor 1

在这里插入图片描述

2、展示所有主题

./kafka-topics.sh --zookeeper localhost:2181 --describe --topic heartbeatMessage

在这里插入图片描述

3、启动消费端接收消息

–bootstrap-server 指定了连接kafka集群的地址
–topic 指定了消费端订阅的主题

./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic heima

4、生产端发送消息

./kafka-console-producer.sh --broker-list localhost:9092 --topic heima

三、代码集成

pom.xml

<dependency><groupId>org.springframework.kafka</groupId><artifactId>spring-kafka</artifactId><version>2.2.0.RELEASE</version>
</dependency>

application.properties

#============== kafka ===================
# 指定kafka代理地址,可以多个,逗号分隔
spring.kafka.bootstrap-servers=192.168.50.93:9092 #=============== producer生产者  ======

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/326091.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

低代码平台的崛起:探索火爆背后的因素

文章目录 前言低代码开发平台优缺点有哪些&#xff1f;速度稳定性赋能一致性安全简单低代码为什么能火&#xff1f;由哪些因素导致&#xff1f; 低代码的优势后记 前言 在当前科技发展快速的时代&#xff0c;低代码开发平台越来越受到关注和推崇。与传统的软件开发方式相比&am…

静态代理还是动态代理?来聊聊Java中的代理设计模式

代理模式&#xff08;Proxy Design Pattern&#xff09;是一种结构型设计模式&#xff0c;为一个对象提供一个代理对象&#xff0c;然后使用代理对象控制对原对象的引用。即通过代理对象访问目标对象。被代理的对象可以是远程对象、创建开销大的对象或需要安全控制的对象。 一、…

【CentOS 7.9】死机卡住如何处理

一、解决办法 1.打开tty2 按下组合键&#xff1a;ctrl alt F2 进入 tty2 2.进入 root 权限 su root3.杀死该用户的所有进程&#xff08;相当于 windows 里面的注销用户&#xff09; 请注意&#xff0c;用户名应该全部使用小写字母&#xff0c;如我的用户名叫 Ragdoll&am…

FreeRTOS 实时操作系统第九讲 - 链表 (数据结构)

一、链表简述 链表是一种物理存储单元上非连续、非顺序的存储结构&#xff0c;数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列节点&#xff08;链表中每一个元素称为节点&#xff09;组成&#xff0c;节点可以在运行时动态生成。每个节点包括两个部分&…

C++11 14 17线程

线程类封装 #include<thread> #include<iostream> #include<string>using namespace std::chrono_literals; class MyThread { public:void Main() {std::cout << "MyThread Main" << name << ":" << age;} pr…

数据结构 模拟实现LinkedList双向不循环链表

目录 一、双向不循环链表的概念 二、链表的接口 三、链表的方法实现 &#xff08;1&#xff09;display方法 &#xff08;2&#xff09;size方法 &#xff08;3&#xff09;contains方法 &#xff08;4&#xff09;addFirst方法 &#xff08;5&#xff09;addLast方法 …

【HBase】——优化

1 RowKey设计 重要&#xff1a;一条数据的唯一标识就是 rowkey&#xff0c;那么这条数据存储于哪个分区&#xff0c;取决于 rowkey 处于 哪个一个预分区的区间内&#xff0c;设计 rowkey的主要目的 &#xff0c;就是让数据均匀的分布于所有的 region 中&#xff0c;在一定程度…

西电期末1025.平滑滤波

一.题目 二.分析与思路 别光看公式&#xff0c;读题干&#xff1a;“位置i的输出为距离i最近的三个输入的平均值”&#xff0c;再看示例&#xff0c;输入几个&#xff0c;输出几个&#xff0c;所以就是输出每个位置距离最近的三个输入的平均值&#xff0c;中间没什么问题&…

Service Weaver:Google开源基于分布式应用程序开发的框架,重新定义微服务边界

大家好&#xff0c;我是萧楚河&#xff0c;公众号&#xff1a;golang面试经典讲解&#xff0c;感谢关注&#xff0c;一起学习一起成长。一、前言 今年6月&#xff0c;一群谷歌员工&#xff08;由谷歌软件工程师Michael Whittaker领导&#xff09;发表了一篇名为“Towards Mode…

PyTorch基础操作

一、Tensor 在 PyTorch 中&#xff0c;张量&#xff08;Tensor&#xff09;是一个核心概念&#xff0c;它是一个用于存储和操作数据的多维数组&#xff0c;类似于 NumPy 的 ndarray&#xff0c;但与此同时&#xff0c;它也支持 GPU 加速&#xff0c;这使得在大规模数据上进行科…

vue简单实现滚动条

背景&#xff1a;产品提了一个需求在一个详情页&#xff0c;一个form表单元素太多了&#xff0c;需要滚动到最下面才能点击提交按钮&#xff0c;很不方便。他的方案是&#xff0c;加一个滚动条&#xff0c;这样可以直接拉到最下面。 优化&#xff1a;1、支持滚动条&#xff0c;…

吉林大学19、21级计算机学院《计算机网络》期末真题试题

一、21级&#xff08;考后回忆&#xff09; 一、不定项选择&#xff08;一共10个选择题&#xff0c;一个两分&#xff0c;选全得满分&#xff09; 不定项&#xff1a;可以选择1~4个 考点有&#xff1a; ①协议、服务 ②码分多路复用通过接受码片序列&#xff0c;求哪个站点发送…