Kafka安装配置

#安装启动之前必须配置好zookeeper 可以参考zookeeper安装配置-CSDN博客

一、下载安装包,并解压

复制代码
#创建目录
mkdir -p /kafka/{install,data}
#进入/kafka/install目录下
cd /kafka/install
#下载kafka
wget https://archive.apache.org/dist/kafka/3.7.0/kafka_2.12-3.7.0.tgz
#解压
tar -xzvf kafka_2.12-3.7.0.tgz

二、修改配置文件

1、修改server.properties配置文件

bash 复制代码
vim /kafka/install/kafka_2.12-3.7.0/config/server.properties
#####################server.properties修改下面数据#######
listeners=PLAINTEXT://192.168.90.243:9092
zookeeper.connect=192.168.90.243:2188
#########################################################

#zookeeper.connect  调用zookeeper服务

三、启动kafka

1、启动关闭

bash 复制代码
#启动
#启动的时候引用了配置文件
/kafka/install/kafka_2.12-3.7.0/bin/kafka-server-start.sh -daemon /kafka/install/kafka_2.12-3.7.0/config/server.properties
#关闭
/kafka/install/kafka_2.12-3.7.0/bin/zookeeper-server-stop.sh

2、验证

bash 复制代码
tail -f /kafka/install/kafka_2.12-3.7.0/logs/server.log

#以上是单体kafka搭建

四、集群搭建

本次主要记录同一台服务器上搭建集群,类似于单体的搭建方式,我们只需要配置每个节点的配置文件,然后分别启动即可,如果是分不同的服务器搭建,类似于每台服务器上搭建单体,然后在配置文件中增加相应集群相关的配置项即可使用了,以下默认已经将压缩包解压好后的操作。

1、复制配置文件

#复制server.properties文件并重命名,复制出3(集群最好大于等于三个节点)份来

bash 复制代码
cp /kafka/install/kafka_2.12-3.7.0/config/server.properties /kafka/install/kafka_2.12-3.7.0/config/server-1.properties 
cp /kafka/install/kafka_2.12-3.7.0/config/server.properties /kafka/install/kafka_2.12-3.7.0/config/server-2.properties 
cp /kafka/install/kafka_2.12-3.7.0/config/server.properties /kafka/install/kafka_2.12-3.7.0/config/server-3.properties

2、改写配置文件

bash 复制代码
#节点id,不同的节点用不同的数字表示
broker.id=1
#对外的ip及端口,端口号每个文件不要用同一个,我使用的分别是9091,9092,9093
listeners=PLAINTEXT://192.168.90.243:9091
#数据存放位置,每个节点一个如/kafka-logs-1,/kafka-logs-2,/kafka-logs-3等,不同节点使用文件不可重复,如果重复了容易启动失败
log.dirs=/usr/local/kafka_2.12-2.5.1/data/cluster/kafka-logs-1
#填zookeeper的地址,多个用,隔开
zookeeper.connect=192.168.90.243:2181

#下面ip地址改成实际ip
sed -i 's/broker.id=0/broker.id=1/g' server-1.properties
sed -i 's#listeners=PLAINTEXT://192.168.90.243:9092#listeners=PLAINTEXT://192.168.90.243:9093#g' server-1.properties
sed -i 's#log.dirs=/tmp/kafka-logs#log.dirs=/tmp/kafka-logs1#g' server-1.properties
sed -i 's/zookeeper.connect=192.168.90.243:2887/zookeeper.connect=192.168.90.243:2887/g' server-1.properties

sed -i 's/broker.id=0/broker.id=2/g' server-2.properties
sed -i 's#listeners=PLAINTEXT://192.168.90.243:9092#listeners=PLAINTEXT://192.168.90.243:9094#g' server-2.properties
sed -i 's#log.dirs=/tmp/kafka-logs#log.dirs=/tmp/kafka-logs2#g' server-2.properties
sed -i 's/zookeeper.connect=192.168.90.243:2887/zookeeper.connect=192.168.90.243:2888/g' server-2.properties


sed -i 's/broker.id=0/broker.id=3/g' server-3.properties
sed -i 's#listeners=PLAINTEXT://192.168.90.243:9092#listeners=PLAINTEXT://192.168.90.243:9095#g' server-3.properties
sed -i 's#log.dirs=/tmp/kafka-logs#log.dirs=/tmp/kafka-logs3#g' server-3.properties
sed -i 's/zookeeper.connect=192.168.90.243:2887/zookeeper.connect=192.168.90.243:2889/g' server-3.properties

3、启动kafka

bash 复制代码
/kafka/install/kafka_2.12-3.7.0/bin/kafka-server-start.sh -daemon /kafka/install/kafka_2.12-3.7.0/config/server-1.properties 

/kafka/install/kafka_2.12-3.7.0/bin/kafka-server-start.sh -daemon /kafka/install/kafka_2.12-3.7.0/config/server-2.properties 

/kafka/install/kafka_2.12-3.7.0/bin/kafka-server-start.sh -daemon /kafka/install/kafka_2.12-3.7.0/config/server-3.properties

4、验证

bash 复制代码
#1、查看运行日志
tail -f /kafka/install/kafka_2.12-3.7.0/logs/server.log
#2、查网络端口
netstat -nalpt | grep 9095
#3、lsof -i:端口
lsof -i:9093

如果可以查到端口

报错解决

为正常关闭kafka导致无法启动

解决:清空log.dirs=/tmp/kafka-logs ,/tmp/kafka-logs/ 下的所有日志,然后重新启动

相关推荐
哈哈哈笑什么2 小时前
企业级高并发分布式SpringCloud系统下,订单动态超时自动取消(最终成熟方案),使用spring-cloud-starter-stream-rabbit
分布式·spring cloud·rabbitmq
哈哈哈笑什么2 小时前
Sleuth+Zipkin 与 OpenSearch 结合是企业级分布式高并发系统的“王炸组合”
分布式·后端·spring cloud
RestCloud3 小时前
如何用ETL做实时风控?从交易日志到告警系统的实现
数据库·数据仓库·kafka·数据安全·etl·数据处理·数据集成
哈哈哈笑什么4 小时前
在高并发分布式SpringCloud系统中,什么时候时候并行查询,提高查询接口效率,从10s到100ms
java·分布式·后端
阿杰同学7 小时前
Hadoop 面试题及答案整理,最新面试题
大数据·hadoop·分布式
听风吟丶7 小时前
微服务分布式事务实战:从数据一致性到故障恢复全方案
分布式·微服务·架构
ClouGence9 小时前
从 0 到 1 构建 TDSQL MySQL 实时同步链路
数据库·分布式·sql·mysql
技术破壁人9 小时前
Kafka 的自动提交机制详解:Spring Boot 中如何正确使用?
kafka
哈哈哈笑什么9 小时前
完整Redis分布式锁技术方案(基于Redisson)
redis·分布式·spring cloud
树下水月9 小时前
kafka的topic积压的问题汇总
分布式·kafka