1、先搭建zookeeper集群

2、kafka集群配置

1、zookeeper

zookeeper安装与配置

(1)下载并解压

    去下载Index of /apache/zookeeper

   在node01 /opt/kafka/下 解压 tar -zxvf zookeeper-3.7.1.tar.gz  和apache-zookeeper-3.7.1-bin.tar.gz

mv zookeeper-3.7.1  zookeeper

cd kafka/
cd zookeeper/
  cd conf/   cp zoo_sample.cfg  zoo.cfg
  vim zoo.cfg 

修改下 dataDir 和dataLogDir的地址

修改下下面server的地址可直接IP地址(master,slave1,slave2) 

创建所需目录和新建的myid文件
创建/opt/kafka/zookeeper/data与/opt/kafka/zookeeper/datalog目录

sudo mkdir /opt/kafka/zookeeper/data
sudo mkdir /opt/kafka/zookeeper/datalog
sudo vim /opt/kafka/zookeeper/data/myid
1
2
3
将myid内容设置为1
设置为1是由于配置文件zoo.cfg中“server.id=host:port:port”,配置项master机器对应的“id”为"1"

同步zookeeper文件到salve1、slave2
su root
scp -r /opt/kafka/zookeeper root@slave1:/opt/kafka/zookeeper
scp -r /opt/kafka/zookeeper root@slave2:/opt/kafka/zookeeper

解压apache-zookeeper-3.7.1-bin后将lib 文件传到zookeeper目录下

在用户主目录中添加环境变量

在这里插入图片描述

export ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=$ZOOKEEPER_HOME/bin:$PATH
  • 在这里插入图片描述
  • source  /etc/profile

验证zookeeper集群
zkServer.sh status
jps

leader角色按照内部算法分配 这次slave1为leader, master与slave2为follower


master、slave1、slave2 三机器jps出现上图QuorumPeerMain 说明zookeeper集群配置成功

 

、下载安装包
cd /opt/module
# 下载kafka安装包
wget https://archive.apache.org/dist/kafka/2.6.0/kafka_2.13-2.6.0.tgz

2、解压
# 解压kafka安装包
tar -zxvf kafka_2.13-2.6.0.tgz
mv kafka_2.13-2.6.0 kafka

3、创建存放kafka消息的目录
cd kafka
mkdir kafka-logs

4、修改配置文件
vim /opt/module/kafka/config/server.properties
# 修改如下参数
broker.id=0 
listeners=PLAINTEXT://hadoop1:9092
log.dirs=/opt/module/kafka/kafka-logs
zookeeper.connect=hadoop1:2181,hadoop2:2181,hadoop3:2181

参数说明:
broker.id : 集群内全局唯一标识,每个节点上需要设置不同的值
listeners:这个IP地址也是与本机相关的,每个节点上设置为自己的IP地址
log.dirs :存放kafka消息的
zookeeper.connect : 配置的是zookeeper集群地址

5、分发kafka安装目录
# 分发kafka安装目录给其他集群节点
scp -r /opt/module/kafka/ hadoop2:/opt/module
scp -r /opt/module/kafka/ hadoop3:/opt/module

分发完成后,其他集群节点都需要修改配置文件server.properties中的 broker.id 和listeners 参数。

6、编写kafka集群操作脚本


# 导入java环境
vim /etc/profile
# 添加如下内容(注意:填写自己的java安装目录)
export JAVA_HOME=/usr/java/jdk1.8.0_131
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

脚本命令说明:

启动kafka集群命令
./kafka-cluster.sh start

停止kafka集群命令
./kafka-cluster.sh stop

7、启动kafka集群
首先启动zookeeper集群
然后执行kafka集群脚本启动命令

cd /opt/module/kafka/bin
./kafka-cluster.sh start

8、测试
kafka集群启动成功后,我们就可以对kafka集群进行操作了。

创建主题
cd /opt/module/kafka
./bin/kafka-topics.sh --create --bootstrap-server hadoop1:9092 --replication-factor 3 --partitions 1 --topic test

查看主题列表
./bin/kafka-topics.sh --list --bootstrap-server hadoop1:9092
1
启动控制台生产者
./bin/kafka-console-producer.sh --broker-list hadoop1:9092 --topic test
1
启动控制台消费者
./bin/kafka-console-consumer.sh --bootstrap-server hadoop1:9092 --topic test --from-beginning
1
在生产者控制台输入hello kafka,消费者控制台,就可以消费到生产者的消息,输出 hello kafka,表示消费端成功消费了生产者生产的消息!

至此,我们就顺利完成了kafka集群搭建的整个过程!

希望大家都能有所收获,喜欢的可以点赞和收藏,有疑问的可以在评论区留言,也欢迎转发分享给更多的人!

谢谢大家!
————————————————
版权声明:本文为CSDN博主「笑看风云路」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u011109589/article/details/124920047

Logo

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

更多推荐