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

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开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

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

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

权威指南-第一本Docker书

引领完成Docker的安装、部署、管理和扩展,让其经历从测试到生产的整个开发生命周期,深入了解Docker适用于什么场景。并且这本Docker的学习权威指南介绍了其组件的基础知识,然后用Docker构建容器和服务来完成各种任务:利用Docker为新项目建立测试环境,演示如何使用持续集成的工作流集成Docker,如何构建应用程序服务和平台,如何使用Docker的API,如何扩展Docker。

总共包含了:简介、安装Docker、Docker入门、使用Docker镜像和仓库、在测试中使用Docker、使用Docker构建服务、使用Fig编配Docke、使用Docker API、获得帮助和对Docker进行改进等9个章节的知识。

image

image

image

image

关于阿里内部都在强烈推荐使用的“K8S+Docker学习指南”—《深入浅出Kubernetes:理论+实战》、《权威指南-第一本Docker书》,看完之后两个字形容,爱了爱了!
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
和平台,如何使用Docker的API,如何扩展Docker。

总共包含了:简介、安装Docker、Docker入门、使用Docker镜像和仓库、在测试中使用Docker、使用Docker构建服务、使用Fig编配Docke、使用Docker API、获得帮助和对Docker进行改进等9个章节的知识。

[外链图片转存中…(img-G4eoGJ0T-1713426290186)]

[外链图片转存中…(img-5qPcagwM-1713426290186)]

[外链图片转存中…(img-hVIiDCuJ-1713426290186)]

[外链图片转存中…(img-A5MYSxnI-1713426290187)]

关于阿里内部都在强烈推荐使用的“K8S+Docker学习指南”—《深入浅出Kubernetes:理论+实战》、《权威指南-第一本Docker书》,看完之后两个字形容,爱了爱了!
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 24
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值