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误启动

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

二、kafka集群安装

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

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

同时修改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单节点以及集群安装”的评论:

还没有评论