kafka配置与安装教程

1、jar包下载

2、集群部署

正常集群规划为完全分布式里的每台主机都要配置有zookeeper,kafka如:

①使用工具将jar包传到集群中(为了方便演示,使用的是伪分布式)

②解压到相应文件夹中

tar -zxf kafka_2.11-0.11.0.0.tgz -C /opt/modules/

解压成功,个人习惯将文件夹命名为kafka:

③在kafka目录下创建logs文件

④配置zookeeper

当前下载的kafka程序里自带Zookeeper,可以直接使用其自带的Zookeeper建立集群,也可以单独使用Zookeeper安装文件建立集群。

因为很多其它大数据框架也需要使用zookeeper,建议没安装zookeeper的同学先安装zookeeper,具体教程本篇就不在叙述了。

⑤修改配置文件

需要注意的:

# broker 的全局唯一编号,不能重复
broker.id=0

需要修改的:

# 能够真正删除topic(主题)需要server.properties中设置delete.topic.enable=true否则只是标记删除
delete.topic.enable=true
# kafka消息存放的路径
log.dirs=/opt/modules/kafka/data
# 配置连接 Zookeeper 集群地址,看情况来配,有几个机器就配几个
zookeeper.connect=hadoop100:2181

注意,log.dir不是log日志存放的dir目录,而是kafka消息存放目录,只是命名为log,不要搞混掉

不需要修改,只是讲述一下该参数的意义:

# 处理网络请求的线程数量
num.network.threads=3
# 用来处理磁盘 IO 的现成数量
num.io.threads=8
# 发送套接字的缓冲区大小
socket.send.buffer.bytes=102400
# 接收套接字的缓冲区大小
socket.receive.buffer.bytes=102400
# 请求套接字的缓冲区大小
socket.request.max.bytes=104857600
# topic 在当前 broker 上的分区个数
num.partitions=1
# 用来恢复和清理 data 下数据的线程数量
num.recovery.threads.per.data.dir=1
# segment 文件保留的最长时间,超时将被删除
log.retention.hours=168

⑥配置环境变量

# kAFKA_HOME
export KAFKA_HOME=/opt/modules/kafka
export PATH=$PATH:$KAFKA_HOME/bin

⑦分发配置文件到其它集群

xsync kafka/

并将其它集群配置文件中borker.id修改为1,2......依次递增

⑧启动&关闭集群

启动集群:

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

关闭集群:

bin/kafka-server-stop.sh stop

⑨群起脚本

#!/bin/bash

case $1 in
"start"){
	for i in hadoop102 hadoop103 hadoop104
	do
		echo "========== $i ==========" 
		ssh $i '/opt/modules/kafka/bin/kafka-server-start.sh -daemon /opt/modules/kafka/config/server.properties'
	done
};;

"stop"){
	for i in hadoop102 hadoop103 hadoop104
	do
		echo "========== $i ==========" 
		ssh $i '/opt/modules/kafka/bin/kafka-server-stop.sh stop'
	done
};;
esac

 注:kafka关闭后要等一下进程才会被结束

猜你喜欢

转载自blog.csdn.net/tyh1579152915/article/details/109683520