大三寒假学习进度(六)

由于疫情影响原因,我要出去当社区志愿者。今天学习时间会少一些。

Kafka是一个消息队列框架,在大数据生态体系中有着极其重要的作用。同时其在java后端领域也有着很高的地位。今天就来学习一下kafka

快速入门

前置配置

kafka需要zookeeper的支持,因此要先配置好zookeeper,详见这篇博客: ZooKeeper搭建和使用笔记,这里就默认已经配好了zookeeper

这里选用的是kafka的0.11的版本,如图:

image-20210117212425870

可以从官网进行下载。

配置

kafka的配置还是很简单的。首先我们解压压缩包:

 tar -zxvf kafka_2.11-0.11.0.0.tgz -C /opt/module/

在kafka目录下创建data文件夹,用来存储kafka的缓存文件

 
mkdir data

接着修改配置文件(config/server.properties)

cd config/
vim server.properties

接着修改配置文件:

 
#broker 的全局唯一编号,不能重复
broker.id=0
#删除 topic 功能使能
delete.topic.enable=true
#处理网络请求的线程数量
num.network.threads=3
#用来处理磁盘 IO 的现成数量
num.io.threads=8
#发送套接字的缓冲区大小
socket.send.buffer.bytes=102400
#接收套接字的缓冲区大小
socket.receive.buffer.bytes=102400
#请求套接字的缓冲区大小
socket.request.max.bytes=104857600
#kafka 运行日志存放的路径
log.dirs=/opt/module/kafka_2.11-0.11.0.0/data
#topic 在当前 broker 上的分区个数
num.partitions=1
#用来恢复和清理 data 下数据的线程数量
num.recovery.threads.per.data.dir=1
#segment 文件保留的最长时间,超时将被删除
log.retention.hours=168
#配置连接 Zookeeper 集群地址
zookeeper.connect=hadoop03:2181,hadoop04:2181,hadoop05:2181

这里要注意,重点要配置的项是broker.id,要全局唯一。我们这里配置的是集群,每台机子的id不能相同。再就是zookeeper集群的配置,这里已经配置了本地host,所以可以直接填写主机名,这里建立都配置一下。

然后如果需要的话,可以配置一下环境变量:

sudo vi /etc/profile
 #KAFKA_HOME
export KAFKA_HOME=/opt/module/kafka_2.11-0.11.0.0
export PATH=$PATH:$KAFKA_HOME/bin
source /etc/profile

将配置好的kafka包进行分发:

xsync kafka_2.11-0.11.0.0/

关于这里的分发的脚本,可以去看我的这篇博客,里面写了如何写这个分发脚本。

然后在其他的机子上修改一下broker.id就好了。

启动

要启动的话,十分简单,在kafka目录:

 

 

bin/kafka-server-start.sh config/server.properties

如果配置了环境变量,可以直接:

 

 

kafka-server-start.sh config/server.properties

然后就发现以上是前台启动,如果想后台启动需要加一个参数:

copy

 

bin/kafka-server-start.sh -daemon config/server.properties
posted @ 2021-01-15 11:42  烈日灼心h  阅读(27)  评论(0编辑  收藏  举报