Centos7环境下 Kafka安装及配置

前言

本教程是在同一台Linux服务器上搭建三个节点Kafka集群,Zookeeper是使用单独安装的(安装教程),同学们也可以使用Kafka中自带的Zookeeper(可网上查询)。

 

一.下载

wget https://mirrors.bfsu.edu.cn/apache/kafka/2.7.0/kafka_2.12-2.7.0.tgz

    

二.解压并复制到指定目录(通常放在/usr/local),并重命名为kafka0

tar -zvxf kafka_2.12-2.7.0.tgz -C /usr/local/
cd /usr/local
mv kafka_2.12-2.7.0 kafka0

 

三.配置

kafka配置文件:/usr/local/kafka0/config/server.properties

vim /usr/local/kafka0/config/server.properties

 

broker.id是kafka broker的编号,集群里每个broker的id需不同,默认为0,如果使用集群,递增该编号即可。

  

如果允许外网访问,需要配置 advertised.listeners=PLAINTEXT://<公网IP>:9092

listeners=PLAINTEXT://<内网IP>:9092

注意:外网访问

listeners=PLAINTEXT://<内网IP>:9092
advertised.listeners=PLAINTEXT://<公网IP>:9092

    

设置Zookeeper地址,如果Zookeeper采用了集群模式,多个地址间使用英文逗号隔开

 

num.partitions 为新建Topic的默认Partition(分区)数量,默认为1,partition数量提升,一定程度上可以提升并发性

 

日志存放位置,如果kafka集群分布在不同机器上,日志存在位置可以保持默认,如果同一机器,需要配置成不同的目录

若目录不存在,则创建相应的目录

cd /usr/local/kafka0
mkdir logs

 

内部topic配置,为保证消息的高可用,建议副本集大于1(副本集数要<=broker数(集群),本案例是三节点,故设置为3)

default.replication.factor为kafka保存消息的副本数,如果一个副本失效了,另一个还可以继续提供服务,是在自动创建topic时的默认副本数

 

四.其余两个节点安装配置

根据kafka0复制两份,分别命名为kafka1,kafka2,并对配置文件做相应修改,  尤其是brokerid、IP地址和日志目录。 

 

 五.启动及停止(以kafka0为例,其余节点相似)

1.启动:

cd /usr/local/kafka0
bin/kafka-server-start.sh -daemon config/server.properties

判断是否启动成功:

方法一:

查看启动日志,如有started字样说明启动成功:

cat logs/kafkaServer.out 

如果机器内存不够,会报内存不足。

可以编辑

bin/kafka-server-start.sh

修改 export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G" 

为 export KAFKA_HEAP_OPTS="-Xmx512M -Xms256M"

 

 

 方法二:使用jps命令,如有kafka字样,说明启动成功。

 

 

 2.停止

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

 

六.测试(以下测试是在只有一个broker环境下进行,机器配置太低了,起不了三个broker

1. 创建topic,名为test

 bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

 

 

2.查看主题列表

bin/kafka-topics.sh --list --zookeeper localhost:2181

 

3.查看特定主题

bin/kafka-topics.sh --zookeeper localhost:2181 --describe test

 

4.发消息

bin/kafka-console-producer.sh --broker-list 101.132.236.198:9092 --topic test

 

5.接收消息

kafka0]# bin/kafka-console-consumer.sh --bootstrap-server 101.132.236.198:9092 --topic test --from-beginning

 

6.删除主题

bin/kafka-topics.sh --zookeeper localhost:2181 --delete  --topic test

 

posted @ 2021-03-12 16:20  咔咔皮卡丘  阅读(1590)  评论(5编辑  收藏  举报