Kafka02:Kafka安装部署:单机安装部署、集群安装部署

前面我们对Kafka有了一个基本的认识,下面我们就想使用一下Kafka
在使用之前,需要先把Kafka安装部署起来
Kafka是支持单机和集群模式的,建议大家在学习阶段使用单机模式即可,单机和集群在操作上没有任何区别。

注意:由于Kafka需要依赖于Zookeeper,所以在这我们需要先把Zookeeper安装部署起来。

一、Zookeeper安装部署

1、Zookeeper单机安装

Zookeeper02:Zookeeper安装部署【单机】

2、Zookeeper集群安装

Zookeeper03:Zookeeper安装部署【集群】

zookeeper集群安装好了以后就可以开始安装kafka了。

注意:在安装kafka之前需要先确保zookeeper集群是启动状态。

kafka还需要依赖于基础环境jdk,需要确保jdk已经安装到位。

二、Kafka单机安装

1:下载kafka安装包

Kafka02:Kafka安装部署:单机安装部署、集群安装部署_第1张图片
最终下载链接如下:

kafka_2.12-2.4.1.tgz

百度网盘地址:

链接:https://pan.baidu.com/s/1SQWhcvIOFgn9H-by0DnTyw?pwd=qbmg 
提取码:qbmg 

注意:kafka在启动的时候不需要安装scala环境,只有在编译源码的时候才需要,因为运行的时候是在jvm虚拟机上运行的,只需要有jdk环境就可以了.

2:把kafka安装包上传到bigdata01的/data/soft目录下

[root@bigdata01 soft]# ll
-rw-r--r--.  1 root root   62358954 Jun  2 21:22 kafka_2.12-2.4.1.tgz

3:解压

[root@bigdata01 kafka_2.12-2.4.1]# tar -zxvf kafka_2.12-2.4.1.tgz

4:修改配置文件

主要参数:

broker.id:集群节点id编号,单机模式不用修改
listeners:默认监听9092端口
log.dirs:注意:这个目录不是存储日志的,是存储Kafka中核心数据的目录,这个目录默认是指向的tmp目录,所以建议修改一下
zookeeper.connect:kafka依赖的zookeeper

针对单机模式,如果kafka和zookeeper在同一台机器上,并且zookeeper监听的端口就是那个默认的2181端口,则zookeeper.connect这个参数就不需要修改了。
只需要修改一下log.dirs即可

[root@bigdata01 kafka_2.12-2.4.1]# cd kafka_2.12-2.4.1/config/
[root@bigdata01 config]# vi server.properties
log.dirs=/data/soft/kafka_2.12-2.4.1/kafka-logs

5:启动kafka

[root@bigdata01 kafka_2.12-2.4.1]# bin/kafka-server-start.sh -daemon config/server.properties 

6:验证

启动成功之后会产生一个kafka进程

[root@bigdata01 kafka_2.12-2.4.1]# jps
2230 QuorumPeerMain
3117 Kafka
3182 Jps

7:停止kafka

[root@bigdata01 kafka_2.12-2.4.1]# bin/kafka-server-stop.sh 

三、Kafka集群安装

1:集群节点规划,使用三个节点搭建一个kafka集群

bigdata01
bigdata02
bigdata03

注意:针对Kafka集群而言,没有主从之分,所有节点都是一样的。

2:首先在bigdata01节点上配置kafka

(1)解压:

[root@bigdata01 soft]# tar -zxvf kafka_2.12-2.4.1.tgz

修改配置文件

注意:此时针对集群模式需要修改 broker.id、log.dirs、以及zookeeper.connect

broker.id的值默认是从0开始的,集群中所有节点的broker.id从0开始递增即可
所以bigdata01节点的broker.id值为0

log.dirs的值建议指定到一块存储空间比较大的磁盘上面,因为在实际工作中kafka中会存储很多数据,我这个虚拟机里面就一块磁盘,所以就指定到/data目录下面了

zookeeper.connect的值是zookeeper集群的地址,可以指定集群中的一个节点或者多个节点地址,多个节点地址之间使用逗号隔开即可

[root@bigdata01 soft]# cd kafka_2.12-2.4.1/config/
[root@bigdata01 config]# vi server.properties
broker.id=0
log.dirs=/data/kafka-logs
zookeeper.connect=bigdata01:2181,bigdata02:2181,bigdata03:2181

3:将修改好配置的kafka安装包拷贝到其它两个节点

[root@bigdata01 soft]# scp -rq kafka_2.12-2.4.1 bigdata02:/data/soft/
[root@bigdata01 soft]# scp -rq kafka_2.12-2.4.1 bigdata03:/data/soft/

4:修改bigdata02和bigdata03上kafka中broker.id的值

首先修改bigdata02节点上的broker.id的值为1

[root@bigdata02 ~]# cd /data/soft/kafka_2.12-2.4.1/config/
[root@bigdata02 config]# vi server.properties 
broker.id=1

然后修改bigdata03节点上的broker.id的值为2

[root@bigdata03 ~]# cd /data/soft/kafka_2.12-2.4.1/config/
[root@bigdata03 config]# vi server.properties 
broker.id=2

5:启动集群

分别在bigdata01、bigdata02、bigdata03上启动kafka进程

(1)在bigdata01上启动

[root@bigdata01 kafka_2.12-2.4.1]# bin/kafka-server-start.sh -daemon config/server.properties

(2)在bigdata02上启动

[root@bigdata02 kafka_2.12-2.4.1]# bin/kafka-server-start.sh -daemon config/server.properties

(3)在bigdata03上启动

[root@bigdata03 kafka_2.12-2.4.1]# bin/kafka-server-start.sh -daemon config/server.properties

6:验证

分别在bigdata01、bigdata02、bigdata03上执行jps命令验证是否有kafka进程
如果都有就说明kafka集群启动正常了

你可能感兴趣的:(kafka,kafka,zookeeper)