记一次 Centos7.4 搭建 Kafka 集群 (v2.12-2.3.0)

一、基本信息说明

官网:http://kafka.apache.org

快速开始:http://kafka.apache.org/quickstart

官网下载:http://kafka.apache.org/downloads   http://apache.fayea.com/kafka/

中文文档:http://kafka.apachecn.org/

W3CSchool:https://www.w3cschool.cn/apache_kafka/

Hortonworks:https://hortonworks.com/apache/kafka

二、系统、工具配置信息

1、系统版本:CentOS-7-x86_64-Minimal-1708  

2、JDK版本:jdk1.8

3、工具:xshell5

4、VMware 版本:VMware Workstation Pro15

三、集群搭建

1、虚拟机安装

参考 https://blog.csdn.net/llwy1428/article/details/89328381

2、JDK8环境搭建

参考 https://blog.csdn.net/llwy1428/article/details/85232267

3、Zookeeper 集群环境搭建

参考 https://blog.csdn.net/llwy1428/article/details/85937442

必须在集群的各个节点上完成上述JDK和Zookeeper环境搭建

4、在node3.cn节点上进行基本的配置(配置完毕基本信息,再把配置好的安装文件发送至其他各节点)

进入目录

[root@node3 ~]# cd /opt/cluster/

5、下载、解压文件

下载: 
[root@node3 cluster]# wget https://www-eu.apache.org/dist/kafka/2.3.0/kafka_2.12-2.3.0.tgz 
解压:
[root@node3 cluster]# tar zxvf kafka_2.12-2.3.0.tgz

6、赋权

[root@node3 cluster]# chmod 777 -R kafka_2.12-2.3.0

查看目录

记一次 Centos7.4 搭建 Kafka 集群 (v2.12-2.3.0)_第1张图片

7、编辑配置文件

[root@node3 cluster]# vim /opt/cluster/kafka_2.12-2.3.0/config/server.properties
#修改以下配置
#为方便,直接将broker.id设置为了ip的最后一段,当集群中有多个Kafka时,他们的这个值必须不一样
broker.id=133
#端口暂时不变
port=9092
#hostname修改为本机的主机名
host.name=node3.cn
#可选配置项,将日志输出到指定的位置
log.dirs=/tmp/kafka-logs
#必须配置自己的zookeeper
zookeeper.connect=node3.cn:2181,node4.cn:2181,node5.cn:2181
#在配置集群的时候,必须设置
listeners = PLAINTEXT://node3.cn:9092

注意

如果是单机版的话,使用默认配置即可。

如果是配置集群,下面信息必须修改:

(1)、broker.id:同一个集群中,每台机器均不能一样

(2)、zookeeper.connect:因为我有3台zookeeper服务器,所以在这里zookeeper.connect设置为3台,必须全部加进去

(3)、listeners:在配置集群的时候,必须设置,不然以后的操作会报找不到leader的错误

8、分发配置好的文件

[root@node3 cluster]# scp -r /opt/cluster/kafka_2.12-2.3.0 node4.cn:/opt/cluster/
[root@node3 cluster]# scp -r /opt/cluster/kafka_2.12-2.3.0 node5.cn:/opt/cluster/

9、进入节点 node4.cn

修改配置文件 server.properties

[root@node4 cluster]# vim /opt/cluster/kafka_2.12-2.3.0/config/server.properties

修改信息

broker.id=134
listeners=PLAINTEXT://node4.cn:9092

10、进入节点 node5.cn

修改配置文件 server.properties

[root@node5 cluster]# vim /opt/cluster/kafka_2.12-2.3.0/config/server.properties

修改信息

broker.id=135
listeners=PLAINTEXT://node5.cn:9092

11、防火墙或端口设置

集群中各节点 关闭防火墙,或者开启相应端口

关闭防火墙

关闭防火墙    : systemctl stop firewalld
查看状态      : systemctl status firewalld
开机禁用      : systemctl disable firewalld

端口加入白名单

[root@node3 ~]# firewall-cmd --zone=public --add-port=9092/tcp --permanent
[root@node3 ~]# firewall-cmd --reload

12、启动 Zookeeper 集群,并查看集群中各节点 Zookeeper 状态

过程:略。参考 https://hunter.blog.csdn.net/article/details/96651537

查看Zookeeper集群各个节点的状态

~]# /opt/cluster/zookeeper-3.4.5-cdh5.16.1/bin/zkServer.sh status

13、集群各节点启动 Kafka 服务

[root@node3 ~]# /opt/cluster/kafka_2.12-2.3.0/bin/kafka-server-start.sh -daemon /opt/cluster/kafka_2.12-2.3.0/config/server.properties
[root@node4 ~]# /opt/cluster/kafka_2.12-2.3.0/bin/kafka-server-start.sh -daemon /opt/cluster/kafka_2.12-2.3.0/config/server.properties
[root@node5 ~]# /opt/cluster/kafka_2.12-2.3.0/bin/kafka-server-start.sh -daemon /opt/cluster/kafka_2.12-2.3.0/config/server.properties

14、查看集群中各个节点的服务的启动状态

    

15、操作 Kafka 

创建topic

[root@node3 ~]# /opt/cluster/kafka_2.12-2.3.0/bin/kafka-topics.sh --create --zookeeper node3.cn:2181 --replication-factor 1 --partitions 1 --topic test

成功创建,如下图:

说明: 
--zookeeper:为zk服务器地址,已逗号分割配置多个 
--replication-factor:分区leader副本数,1代表没有副本即分区本身,建议为2 
--partitions:分区数 
--topic:topic名称

16、查看topic

[root@node3 ~]# /opt/cluster/kafka_2.12-2.3.0/bin/kafka-topics.sh --list --zookeeper node3.cn:2181

17、查看test topic信息

[root@node3 ~]# /opt/cluster/kafka_2.12-2.3.0/bin/kafka-topics.sh --describe --zookeeper node3.cn:2181 --topic test

说明: 

leader:负责处理消息的读和写,leader是从所有节点中随机选择的.

Replicas:列出了所有的副本节点,不管节点是否在服务中.

Lsr:是正在服务中的节点.

18、发布消息

[root@node3 ~]# /opt/cluster/kafka_2.12-2.3.0/bin/kafka-console-producer.sh --broker-list node3.cn:9092 --topic test

19、消费消息

[root@node5 ~]# /opt/cluster/kafka_2.12-2.3.0/bin/kafka-console-consumer.sh --bootstrap-server node3.cn:9092 --topic test --from-beginning

说明: 

from-beginning:每次从头开始消费

20、删除topic

[root@node3 ~]# /opt/cluster/kafka_2.12-2.3.0/bin/kafka-topics --delete --zookeeper node3.cn:2181 --topic test

四、集群可视化管理

https://blog.csdn.net/llwy1428/article/details/94389615

 

至此,Centos7.4 搭建 Kafka 集群 (v2.12-2.3.0),操作完毕!

你可能感兴趣的:(Kafka,大数据生态圈)