开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第18天,点击查看活动详情
Kafka集群的安装
登录Kafka的官网kafka.apache.org/。
Kafka是Java和Scala语言开发的。所以安装Kafka之前必须要保证先安装JDK。
Kafka依赖于Zookeeper的选举机制,所以安装Kafka之前还要保证Zookeeper已经被安装好了。
下载安装包:
注意选择kafka的版本,以及scala的版本。
上传安装包到集群中,并解压。
利用已有的3台机器:node01、node02、node03
修改配置:
cd config
vi server.properties
0: node01
1: node02
2: node03
| broker.id=0 从0 开始 ,0 1 2delete.topic.enable=true
//这条在文件中没有,手动添加,默认主题不允许删除
listeners=PLAINTEXT:
//node01:9092log.dirs=/root/kafkadata
// 数据存放的目录,会自动生成,不需要创建num.partitions=3zookeeper.connect=node01:2181,node02:2181,node03:2181
分发kafka的安装包,到其他的节点中:
scp -r kafka_2.12-2.8.0 node02:$PWD
scp -r kafka_2.12-2.8.0 node03:$PWD
在其他的节点上,修改broker.id 和 listeners中的主机名。
启动kafka集群
启动脚本和停止脚本命令。
kafka-server-start.sh
kafka-server-stop.sh
以后台守护进程启动:
kafka-server-start.sh -daemon /opt/software/kafka/config/server.properties
注意: 在启动kafka之前,必须先启动zookeeper。
为了使用方便,可以配置环境变量。
Kafka常用的配置解释
#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=/root/kafkadata
#topic 在当前 broker 上的分区个数
num.partitions=3
#用来恢复和清理 data 下数据的线程数量
num.recovery.threads.per.data.dir=1
# segment 文件保留的最长时间,超时将被删除
log.retention.hours=168
#配置连接 Zookeeper 集群地址
zookeeper.connect=node01:2181,node02:2181,node03:2181