当前位置:   article > 正文

【踩坑笔记】linux搭建kafka集群,详细到复制命令就能成功(1)_kafka主从复制搭建

kafka主从复制搭建

cp -i zoo_sample.cfg zoo.cfg

当前目录列表

在这里插入图片描述

接着修改zoo.cfg文件

主要修改下民红框中几个地方,其它默认或者根据你自己的情况来修改

在这里插入图片描述

如果你全程都是跟着我的目录来的,直接像下面这样配置即可

#/opt/zookeeper/server1/zookeeper-3.4.10/conf/zoo.cfg

dataDir=/opt/zookeeper/server1/data

dataLogDir=/opt/zookeeper/server1/datalog

clientPort=2181

server.1=localhost:2887:3887

server.2=localhost:2888:3888

server.3=localhost:2889:3889

#/opt/zookeeper/server2/zookeeper-3.4.10/conf/zoo.cfg

dataDir=/opt/zookeeper/server2/data

dataLogDir=/opt/zookeeper/server2/datalog

clientPort=2182

server.1=localhost:2887:3887

server.2=localhost:2888:3888

server.3=localhost:2889:3889

#/opt/zookeeper/server3/zookeeper-3.4.10/conf/zoo.cfg

dataDir=/opt/zookeeper/server3/data

dataLogDir=/opt/zookeeper/server3/datalog

clientPort=2183

server.1=localhost:2887:3887

server.2=localhost:2888:3888

server.3=localhost:2889:3889

配置完成,进入zookeeper的bin目录启动zk服务

cd /opt/zookeeper/server1/zookeeper-3.4.10/bin

./zkServer.sh start

cd /opt/zookeeper/server2/zookeeper-3.4.10/bin

./zkServer.sh start

cd /opt/zookeeper/server3/zookeeper-3.4.10/bin

./zkServer.sh start

启动信息

在这里插入图片描述

三个zk都启动完了后,jps确认下启动成功没,如果都成功,会有这三个服务

在这里插入图片描述

至此,zookeeper集群搭建完成

开始搭建kafka集群


1、进入/opt目录,创建kafka文件夹

mkdir /opt/kafka

cd /opt/kafka

2、进去下载kafka安装包

wget https://archive.apache.org/dist/kafka/1.0.0/kafka_2.11-1.0.0.tgz

3、创建kafkalogs1、kafkalogs2、kafkalogs3三个文件夹

mkdir kafkalogs1

mkdir kafkalogs2

mkdir kafkalogs3

4、解压kafka安装包

tar -zxvf zookeeper-3.4.10.tar.gz

至此,你的kafka目录应该长这样

在这里插入图片描述

开始配置kafka

进入kafka的config目录

cd /opt/kafka/kafka_2.11-1.0.0/config/

里面有个 server.properties 文件

把这个文件重命名并且复制两份,得到这三个文件(不重命名也行,反正要有三份server配置文件,重命名了看着舒服)

mv server.properties server1.properties

cp -i server1.properties server2.properties

cp -i server1.properties server3.properties

最终得到三个server配置文件

在这里插入图片描述

我们需要 分别 修改三个server配置文件的四个属性:

  • broker.id:节点id,对应上面zookeeper三个myid文件的值,server1.properties写1,2写2,3写3

  • listeners:监听端口,把下面的 ip 换成你服务器的私有地址(如果填127.0.0.1或localhost可能无法从外面访问kafka服务)

  • log.dirs:日志文件存放目录

  • zookeeper.connect:zk集群ip:端口

修改的时候注意,这个文件很大,你忍一下

//server1

broker.id=1

listeners=PLAINTEXT://ip:9092

log.dirs=/opt/kafka/kafkalogs1

zookeeper.connect=127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183

//server2

broker.id=2

listeners=PLAINTEXT://ip:9093

log.dirs=/opt/kafka/kafkalogs2

zookeeper.connect=127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183

//server3

broker.id=3

listeners=PLAINTEXT://ip:9094

log.dirs=/opt/kafka/kafkalogs3

zookeeper.connect=127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183

配置完成,启动

来到解压好的kafka目录,启动三个kafka服务

cd /opt/kafka/kafka_2.11-1.0.0

./bin/kafka-server-start.sh -daemon config/server1.properties

./bin/kafka-server-start.sh -daemon config/server2.properties

./bin/kafka-server-start.sh -daemon config/server3.properties

jps看下启动成功没

在这里插入图片描述

如果没有kafka进程,说明启动失败了,具体原因可以在logs目录下的kafkaServer.out文件看日志

测试


来到kafka安装目录

cd /opt/kafka/kafka_2.11-1.0.0

创建个topic先

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

命令解释:在127.0.0.1:2181这台zk上,创建一个名为test-topic的topic,将消息切分成3分,每份3个副本

–zookeeper:指定zk服务

–topic:指定topic名称

–partitions:分区数量

–replication-factor:数据副本数量

在这里插入图片描述

启动生产者

./bin/kafka-console-producer.sh --broker-list 私有地址:9092 --topic test-topic

随便发几条消息

在这里插入图片描述

启动消费者

./bin/kafka-console-consumer.sh --bootstrap-server 私有地址:9092 --topic test-topic

在这里插入图片描述

常见错误


失败的很大可能性都是配置文件里面的路径没配好,好好检查下

确定上面步骤和配置文件都没错的话,可能是机器内存不足,kafka默认最小启动内存1g

看下启动日志

tail -111f /opt/kafka/kafka_2.11-1.0.0/logs/kafkaServer.out

如果显示如下信息,则就是你机器内存不足

在这里插入图片描述

简单,执行下面命令设置kafka启动参数

export KAFKA_HEAP_OPTS=“-Xmx256M -Xms128M”

再次启动,如果还提示内存不足

清下机器缓存

sync

echo 3 > /proc/sys/vm/drop_caches

如果不是以上原因,就只能根据启动日志来灵活解决了

其它kafka常用命令


查看topic列表

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
自己摸索成长,自己不成体系的自学效果低效漫长且无助。**

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

[外链图片转存中…(img-VIwmpQim-1715176959092)]

[外链图片转存中…(img-9WxziEgk-1715176959093)]

[外链图片转存中…(img-RIlHSZQF-1715176959093)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/秋刀鱼在做梦/article/detail/891758
推荐阅读
相关标签
  

闽ICP备14008679号