龙空技术网

陪你一起学kafka(三)——集群篇

java永无bug 110

前言:

当前兄弟们对“kafka集群状态”大致比较关切,你们都需要学习一些“kafka集群状态”的相关内容。那么小编也在网上汇集了一些关于“kafka集群状态””的相关知识,希望看官们能喜欢,同学们一起来了解一下吧!

简介

微服务的三高,高并发,高可用,高可靠,作为微服务中必不可少的MQ中间件,kafka也必须要满足这三点。kafka如何如何保证高并发,高可用,高可靠,两个字——集群。

前置条件三台服务器,用来部署三个kafakjava环境,jdk1.8+kafka安装包版本kafka_2.13-3.0.0zookeeper(非必须,可以使用kafka自带的)zookeeper集群安装

kafka本身是没有调度能力,需要借助zookeeper来进行任务调度,所以需要安装zookeeper

单机安装解压zookeeper安装包

tar -zxvf apache-zookeeper-3.7.0-bin.tar.gz
修改配置
cp apache-zookeeper-3.7.0-bin/conf/zoo_sample.cfg apache-zookeeper-3.7.0-bin/conf/zoo.cfgvi apache-zookeeper-3.7.0-bin/conf/zoo.cfg

末尾添加内容:

#事务日志输出目录dataDir=../zkdatas#集群服务器配置,数字1/2/3需要与myid文件一致。右边两个端口,2888表示数据同步和通信端口;3888表示选举端口server.1=server1:2888:3888server.2=server2:2888:3888server.3=server3:2888:3888
创建日志目录和myid文件
#创建数据存储目录:    mkdir zkdatas #创建myid:   cd zkdatas   touch myid  并编辑myid内容为1
启动
apache-zookeeper-3.7.0-bin/bin/zkServer.sh start
复制到其他两台服务器并启动

将以上的步骤在其他两台服务器上一模一样的执行,其中注意myid文件的内容,三台服务器要分别是1,2,3

查看集群状态

apache-zookeeper-3.7.0-bin/bin/zkServer.sh status
kafka集群安装安装单机kafka

参考:

复制该kafka到其他服务器

复制该kafka到其他服务器

修改配置文件

修改server.properties,主要参数是:

broker.id,保证三台服务器都是唯一的zookeeper.connect,zookeeper集群地址log.dirs 日志目录

vi kafka_2.13-3.0.0/config/server.properties
分别启动三台服务器上的kafka

kafka_2.13-3.0.0/bin/kafka-server-start.sh –daemon config/server.properties &

测试创建主题

./kafka_2.13-3.0.0/bin/kafka-topics.sh --zookeeper localhost:2181 --create --topic test --replication-factor 3 --partitions 2
发送消息
./kafka_2.13-3.0.0/kafka-console-producer.sh --broker-list localhost:9092 --topic test
消费消息
./kafka_2.13-3.0.0/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

需要交流学习可以关注公众号【温故知新之java】,互相学习,一起进步。

标签: #kafka集群状态