0


kafka单节点以及集群安装

前言

Apache Kafka 是一种高吞吐量的分布式发布订阅消息系统,它能够处理大量的数据流,并且被广泛应用于日志收集、监控报告、流处理等多种场景中。本文详细介绍了kafka单节点以及集群的安装

一、kafka单节点安装

kafka需要java环境

所以需要用java -version检查Java版本 推荐8以上版本,详情可以关注

https://blog.csdn.net/moxiaotian0510/article/details/144057974

1)下载

这边可以选择直接去官网下载

Apache Kafka

也可以选择下载到本地然后上传到服务器

或者选择用weget命令下载

2)安装

笔者用的是下载到本地然后上传服务器的方式

将kafka_2.12-3.8.0.tgz上传到/u01目录

解压安装包

tar -zxvf kafka_2.12-3.8.0.tgz

mv kafka_2.12-3.8.0 kafka

kafka建议规划单独用户安装我们这里规划为kafka用户

groupadd -g 555 kafka
useradd -u 555 -g kafka kafka

在kafka用户的~目录修改配置环境变量

vi .bashrc

#kafka
export KAFKA_HOME=/u01/kafka
export PATH=$PATH:$KAFKA_HOME/bin

vi /u01/kafka/config/server.properties

基本设置

broker.id=0 # 单节点环境通常使用 0 作为 broker id

监听地址和端口

listeners=PLAINTEXT://localhost:9092 # Kafka 服务监听的地址和端口
advertised.listeners=PLAINTEXT://localhost:9092 # 广告的监听地址和端口,如果 Kafka 在网络上被其他机器访问,这里需要改成相应的 IP 地址

存储设置

log.dirs=/u01/kafka/kafka-logs # 日志文件存放路径
num.partitions=1 # 每个主题默认的分区数量,可以根据需要调整
log.retention.hours=168 # 日志保留时间(小时),这里设置为一周
log.segment.bytes=1073741824 # 日志段大小(字节),默认 1GB

Zookeeper 设置

zookeeper.connect=localhost:2181 # Zookeeper 连接字符串,如果不需要 Zookeeper 支持,可以注释掉此行

网络设置

socket.send.buffer.bytes=102400 # 发送缓冲区大小
socket.receive.buffer.bytes=102400 # 接收缓冲区大小
socket.request.max.bytes=104857600 # 请求的最大大小

控制器设置

controller.socket.timeout.ms=30000 # 控制器连接超时时间(毫秒)

日志清理策略

log.cleaner.enable=false # 是否启用日志清理器,默认关闭

消费者组相关

group.initial.rebalance.delay.ms=0 # 初始消费者组再平衡延迟时间(毫秒)

安全认证(如果需要开启安全认证,取消注释并配置)

security.inter.broker.protocol=SASL_PLAINTEXT

sasl.mechanism.inter.broker.protocol=PLAIN

sasl.enabled.mechanisms=PLAIN

super.users=User:kafka

以上主要是单机模式安装,因此配置文件保持默认,不进行编辑配置。默认的Zookeeper端口是2181,默认的Kafka端口是9092

zookeeper 我们连接本机安装的zookeeper 不用kafka包含的zookeeper 具体安装zookeeper可以看主页zookeeper安装

3)启动

因为配置了环境变量所以可以用以下命令进行启动

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

当然也可以编写一个启动脚本,限制只能用kafka用户启动,防止root误启动

#!/bin/bash

if [ `whoami` != kafka ];then
echo 'Only gcc is permitted to excute!'
exit 1
fi
./bin/kafka-server-start.sh -daemon config/server.properties &

二、kafka集群安装

集群安装与的单节点安装不同的地方主要体现在配置文件,不同的节点要修改不同的节点id和节点主机名称

broker.id=
1
(节点id)
delete.topic.enable=
true
auto.create.topics.enable=
false
不允许⾃动创建 Topic
unclean.leader.election.enable=
false
不允许 Unclean Leader 选举
listeners=PLAINTEXT://192.168.0.1:9092  (监听端口号)
advertised.listeners=PLAINTEXT:
//10.0.8.101:9092  (对外服务端口号)
log.dirs=/dsj2017/kafka_2.
11
-
0.10
.
1.1
/logs  (日志路径)
num.partitions=
6
(分多少块存储)
zookeeper.connect=192.168.0.1
:
2181
,192.168.0.2:
2181
,192.168.0.3:
2181
,192.168.0.4:
2181
,192.168.0.5:
2181
(zookeeper集群地址)
replica.fetch.max.bytes=
20971520
(broker可复制的消息的最大字节数。这个值应该比message.max.bytes大,否则broker会接收此消息,但无法将此消息复制出去,从而造成数据丢失)
offsets.retention.minutes=
10080
(针对一个offset的消费记录的最长保留时间,默认为
24
小时,这里配置
7
天)

同时修改kafka运行内存大小
vi ./bin/kafka-server-start.sh
修改内存参数
export KAFKA_HEAP_OPTS="-Xmx4G -Xms4G"
export JMX_PORT="9999"

其余操作均可参考单节点安装

至此集群安装完毕

标签: kafka 分布式

本文转载自: https://blog.csdn.net/moxiaotian0510/article/details/144063582
版权归原作者 skoutain 所有, 如有侵权,请联系我们删除。

“kafka单节点以及集群安装”的评论:

还没有评论