Kafka集群环境搭建

1.安装kafka集群,要确保安装zookeeper集群zookeeper安装方式
2. Kafka安装

3台虚拟机均进行以下操作:

2.1 解压下载好的kafka压缩包并重命名

cd /usr/local
wget http://mirror.bit.edu.cn/apache/kafka/1.0.0/kafka_2.11-1.0.0.tgz 
tar -zxvf kafka_2.11-1.0.0.tgz
mv kafka_2.12-0.11.0.0 kafka

2.2 修改配置文件

vi ./kafka/config/server.properties

需要修改的内容如下(192.168.223.140)

broker.id=1
listeners=PLAINTEXT://192.168.223.140:9092
zookeeper.connect=192.168.223.140:2181,192.168.223.141:2181,192.168.223.142:2181

2.3 添加环境变量
(1) 在系统环境中配置kafka的路径

vi /etc/profile

(2)添加环境变量

#kafka
export KAFKA_HOME=/usr/local/kafka
PATH=${KAFKA_HOME}/bin:$PATH
export PATH

(3)使修改完的环境变量生效


source /etc/profile

2.4 克隆虚拟机
       我们选择克隆虚拟机,每一台都去执行上述命令,很繁琐,我们可以选择克隆虚拟机节约时间
虚拟机克隆方法

(1)需要修改的内容如下(192.168.223.141)

broker.id=2
listeners=PLAINTEXT://192.168.223.141:9092
zookeeper.connect=192.168.223.140:2181,192.168.223.141:2181,192.168.223.142:2181

(2)需要修改的内容如下(192.168.223.142)

broker.id=3
listeners=PLAINTEXT://192.168.223.142:9092
zookeeper.connect=192.168.223.140:2181,192.168.223.141:2181,192.168.223.142:21811

注意:kafka的broker.id和zookeeper中的myid,没有任何关系,只要保证在集群中唯一即可

3.Kafka集群环境测试

3.1验证zookeeper集群有没有问题

3.1.1 开启3台虚拟机的zookeeper程序 
/usr/local/zookeeper/bin/zkServer.sh start 
3.1.2 开启成功后查看zookeeper集群的状态 
/usr/local/zookeeper/bin/zkServer.sh status 
出现Mode:follower或是Mode:leader则代表成功 
3.1.3在后台开启3台虚拟机的kafka程序(cd /usr/local/kafka) 
./bin/kafka-server-start.sh -daemon config/server.properties

连接任意一台zookeeper服务器,能看到一下信息,说明zookeeper集群没有问题
在这里插入图片描述
3.2验证kafka集群有没有问题
创建topic和查询所有topic

cd /usr/local/kafka/
  1. 在其中一台虚拟机(192.168.223.142)创建主题,不建议写localhost,同时主题已经存在也会报错
bin/kafka-topics.sh --create --zookeeper 192.168.223.142:2181 --replication-factor 1 --partitions 1 --topic test
  1. 查询所有主题
bin/kafka-topics.sh --list --zookeeper 192.168.223.142:2181

在这里插入图片描述
3.生产者和消费者
创建 producer(生产者): 测试生产消息

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

在这里插入图片描述

创建 consumer(消费者): 测试消费

bin/kafka-console-consumer.sh --bootstrap-server 192.168.223.142:9092 -topic test --from-beginning

在这里插入图片描述
kafka相关原理、参数解析以及springboot整合kafka请参考本篇文章

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐