Kafka-分布式安装

发布时间 2023-12-28 10:27:12作者: 业余砖家

一、kafka是什么?

Kafka是一个快速、可扩展的、高吞吐、可容错的分布式发布订阅消息系统。Kafka具有高吞吐量、内置分区、支持数据副本和容错的特性,它可以处理消费者规模的网站中的所有动作流数据,具有高性能、持久化、多副本备份、横向扩展能力,适合在大规模消息处理场景中使用。

(1) 分布式系统,易于向外扩展;

(2) 同时为发布和订阅提供高吞吐量;

(3) 支持多订阅者,当失败时能自动平衡消费者;

(4) 将消息持久化到磁盘,可用于批量消费;

二、安装kafka

 kafka的安装需要依赖于jdk和zookeeper。(kafka 2.12-3.4.0,JDK1.8及以上版本)

1.安装规划

主机名

主机IP

hadoop01

192.168.80.131

hadoop02

192.168.80.132

hadoop03

192.168.80.133

 

 

组件

安装位置

Zookeeper

hadoop01,hadoop02,hadoop03

Kafka

hadoop01,hadoop02,hadoop03

 

2.软件下载

Kafka官方下载:http://kafka.apache.org/downloads.html

Zookeeper官方下载:https://zookeeper.apache.org/releases.html

Jdk官方下载:https://www.oracle.com/java/technologies/downloads/

 

3.安装JDKZookeeper

需要说明的是,kafka的安装依赖于Zookeeper,所以运行kafka需要先启动Zookeeper。当然,kafka默认也内置了zk的启动脚本,在kafka安装路径的bin目录下,名称为zookeeper-server-start.sh,如果不想独立安装zk,可直接使用该脚本。

JDK 和Zookeeper安装步骤这里省略,Zookeeper需要启动。

4. Kafka安装步骤

(1)将安装包上传到hadoop01节点

cd  /data/software/

ls  

kafka_2.12-3.4.0.tgz

(2)配置hadoop01节点

# 下载并解压kafka部署包至/usr/local/目录

cd  /data/software/

tar -zxvf kafka_2.12-3.4.0.tgz -C /usr/local/

mv /usr/local/kafka_2.12-3.4.0  /usr/local/kafka

 

# 修改配置文件

vim config/server.properties

broker.id=0                                           #唯一标识,集群里每个brokerid需不同

listeners=PLAINTEXT://192.168.80.131:9092       #tcp监听IP地址                        

log.dirs=/usr/local/kafka/kafka-logs             #日志路径,路径需提前创建好,且必须有读写权限

zookeeper.connect=192.168.80.131:2181,192.168.80.132:2181,192.168.80.133:2181      #设置zk的连接地址及端口 

 

配置文件中的一些配置项解释:

broker.id : kafka 节点的标示,每个节点必须不一样

listeners :表示客户端要连接的broker入口地址列表

log.dirs  :kafka数据的存储目录,log.dirs可以配置多个目录

zookeeper.connect :ZooKeeper服务地址<ip:port>, 多个zk节点用逗号隔开。

 

## 创建kafka存储消息(log日志数据)的目录

mkdir /usr/local/kafka/kafka-logs

##kafka分发到其他两个节点

scp -r  /usr/local/kafka   hadoop02:/usr/local/ ;

scp -r  /usr/local/kafka   hadoop02:/usr/local/ ;

(3)配置hadoop02、hadoop03节点

## 登录hadoop02节点,修改hadoop02配置文件

vim config/server.properties

broker.id=1                                           #唯一标识,集群里每个brokerid需不同

listeners=PLAINTEXT://192.168.80.132:9092       #tcp监听IP地址                        

 

## 登录hadoop03节点,修改hadoop03配置文件

vim config/server.properties

broker.id=2                                           #唯一标识,集群里每个brokerid需不同

listeners=PLAINTEXT://192.168.80.133:9092       #tcp监听IP地址                        

(4)分别启动三台节点的Kafka

##启动kafka

nohup /usr/local/kafka/bin/kafka-server-start.sh  /usr/local/kafka/config/server.properties &

##jps查看进程

jps

输出如下内容:

5301 Jps

4774 QuorumPeerMain

4886 Kafka

 

关闭命令:

/usr/local/kafka/bin/kafka-server-stop.sh