Kafka集群部署
1、背景知识
Kafka是一个高吞吐量,基于Zookeeper(Zookeeper维护Kafka的broker信息)的分布式发布订阅信息系统,它可以处理消费者在网站中的素有动作(网页浏览、搜索和其他用户的行动)流数据。通常情况下,使用Kafka构建系统或应用程序之间的数据管道,用来转换或响应事实数据,使数据能够及时地进行业务计算,得出相应的结果。
2、使用软件及其版本
环境
虚拟机:VirtualBox 6.0.24 r139119
Linux:CentOS 7
Windows:Windows10
软件
Kafka:kafka_2.11-2.3.0
工具
远程连接工具:XShell6
SFTP工具:FileZilla3.33.0
3、目标
-
Kafka集群部署
4、操作步骤
-
下载Kafka
可以在
http://kafka.apache.org/downloads
下载kafka安装包注意:kafka版本的选择要和当前使用的scala版本对应(scala2.11)
-
安装Kafka
-
上传Kafka安装包到master节点,解压安装,使用命令
tar -zxvf kafka_2.11-2.3.0.tgz -C ~/app/
-
修改配置文件
进入Kafka安装目录下的config目录,修改server.properties文件,使用命令
sudo vi server.properties
修改配置信息
broker.id=0
listeners=PLAINTEXT://master:9092
advertised.listeners=PLAINTEXT://master:9092
log.dirs=/home/hadoop/data/kafka/kafka-logs
zookeeper.connect=master:2181,slave01:2181,slave02:2181/kafka-
broker.id:broker的全局唯一编号,每个kafka节点的编号值不能重复。
-
listeners:定义外部连接着通过指定主机名和端口号访问开发的kafka服务(替换host.name和port参数)
-
log.dirs:定义kafka日志存放目录
-
zookeeper.connect:配置zookeeper集群地址,其中/kafka用于指定zookeeper中存放kafka信息的znode(目录节点)
-
-
-
分发Kafka到slave01和slave02节点,使用命令
scp -r kafka_2.11-2.3.0 hadoop@slave01:~/app/
scp -r kafka_2.11-2.3.0 hadoop@slave02:~/app/ -
在slave01节点和slave02节点修改Kafka安装目录下
`server.properties
,使用命令sudo vi server.properties
修改broker.id分别为
broker.id=1
和broker.id=2
-
配置环境变量
在master,slave01,slave02节点,使用
sudo vi /etc/profile
命令,修改环境变量export KAFKA_HOME=/home/hadoop/app/kafka_2.11-2.3.0
export PATH=$KAFKA_HOME/bin:$PATH使用
source /etc/profile
命令,使配置生效。 -
启动Kafka集群
启动Kafka集群前,需要确保Zookeeper集群式正常启动的。在master,slave01,slave02节点使用命令
kafka-server-start.sh -daemon $KAFKA_HOME/config/server.properties &
5、总结