kafka集群配置


要配置Kafka集群,首先要安装jdk8,zookeeper,链接我放评论里了(不知道为啥编辑里不能放百度云链接🥲)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这三个文件里面放的.tar.gz文件,然后我将其解压到server目录里面,比如将zookeeper解压到server目录,我已进入softwar的zookeeper目录里面了

tar -zxvf zookeeper-3.4.14.tar.gz -C /home/yang/server/

搭建zookeeper集群

我创建了三个节点,如下所示
在这里插入图片描述

关闭防火墙

首先我们都进入root权限里面,命令是su,然后输入你的密码
在这里插入图片描述
接着我们先看下防火墙的状态,命令是

systemctl status firewalld

关闭防火墙

systemctl stop firewalld

配置zookeeper

进入 zookeeper的data目录,输入命令

[root@node01 data]#vi myid

进入后输入1(我这里是第一个节点输入1,其他两个分别输入2和3),这里是为了对应下面的server.1,server.2,server.3

然后进入conf目录

cd /home/yang/server/kafka/conf/

注:我前面将解压的zookeeper.tar.gz重命名了,重命名命令是

mv zookeeper-3.4.14.tar.gz zookeeper

然后 ls可以看到里zoo_sample.cfg,我们不要动他,复制一份并重命名为zoo.cfg,命令是

cp zoo_sample.cfg zoo.cfg

接着输入vi zoo.cfg,在里面追加下面几行,这个路径根据个人情况定,但是一定是在zookeeper目录里面创建data和datalog,这里面后三句前面的ip是你三个节点的ip,后面:2888:3888不要变,即
server.A=B:C:D;A分别是1,2,3代表你的三个节点,B代表三个节点的IP,2888是节点服务器的对外服务端口,3888是节点之间的选举端口(通过3888端口节点内部商量选举一个leader),2181端口是客户端连接节点的端口

dataDir=/home/yang/server/zookeeper/data
dataLogDir=/home/yang/server/zookeeper/datalog
server.1=192.168.254.128:2888:3888
server.2=192.168.254.132:2888:3888
server.3=192.168.254.134:2888:3888
clientPort=2181

因为上面又data和datalog,故需要在zookeeper目录下创建data和datalog,命令是

[root@node01 zookeeper]# mkdir data
[root@node01 zookeeper]# mkdir datalog

ls下
在这里插入图片描述
其他两个节点同样是这样配置

配置环境

然后我们来配置下zookeeper,kafka,jdk的环境变量
输入 vi /etc/profile,进入后在末尾追加,我们这里一并将jdk,kafka,zookeeper的环境配置好,其他两个节点也这样配置

export KAFKA_HOME=/home/yang/server/kafka
export PATH=:$PATH:${KAFKA_HOME}
export JAVA_HOME=/home/yang/software/jdk1.8/jdk1.8.0_331
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
export ZOOKEEPER_HOME=/home/yang/server/zookeeper
export PATH=$ZOOKEEPER_HOME/bin:$PATH

我没将jdk解压在server里,我就解压在software/jdk1.8里面,这个无所谓放哪

启动zookeeper

分别进去三个节点的zookeeper的bin目录下,启动zookeeper服务,输入

zkServer.sh start

三个节点都启动后,查看服务的状态

zkServer.sh status

这里我第二,三节点的模式是follower,节点一是leader,这个是选举出来的,不一定节点一就是leader
在这里插入图片描述

搭建kafka集群

上面我们已经搭建好zookeeper集群了,下面来到我们的主角kafka
进入kafka的config目录,开始配置server.properties

vi server.properties

我们需要修改一下

broker.id=0
listeners=PLAINTEXT://192.168.254.128:9092
advertised.listeners=PLAINTEXT://192.168.254.128:9092
log.dirs=/home/yang/server/kafka/kafkalogs/
zookeeper.connect=192.168.254.128:2181,192.168.254.132:2181,192.168.254.134:2181/myTest

其中将三个broker的id分别设为0,1,2
两个listeners里面的ip就是本节点的ip
log.dirs需要在kafka目录里面mkdir一个文件,文件名自定义,我这里mkdir kafkalogs
zookeeper.connect里面的三个ip分别对应我的三个节点的IP,最后的/myTest代表我的topic

启动kafka服务

分别进入三个节点的kafka的bin目录,输入以下命令

kafka-server-start.sh /home/yang/server/kafka/config/server.properties 

然后我们输入以下命令查看kafka集群是否启动成功

[root@node01 bin]# kafka-topics.sh --bootstrap-server 192.168.254.128:9092 --list

若成功什么都不会显示

发送消息

先创建一个topic(还是在kafka的bin目录下),这里我命名为myTest

kafka-topics.sh --create --bootstrap-server 192.168.254.128:9092 --topic myTest

查看topic

kafka-topics.sh --list --bootstrap-server 192.168.254.128:9092

发送消息,这里输完命令后先别输入内容

kafka-console-producer.sh --broker-list 192.168.254.128:9092 --topic myTest

开启一个节点接受消息(同样要进入此节点kafka的bin目录下),命令为

kafka-console-consumer.sh --bootstrap-server 192.168.254.128:9092 --topic myTest --from-beginning

然后在发送节点里面输入hello,world(输入消息后,按回车即可发送),此时第二个节点就会显示hello,world
在这里插入图片描述
在这里插入图片描述
这里我节点1发送消息,节点2 成功接受到了消息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值