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/ 下的所有日志,然后重新启动

相关推荐
长安城没有风4 小时前
从入门到精通【Redis】Redis 典型应⽤ --- 分布式锁
数据库·redis·分布式
爬山算法7 小时前
Redis(69)Redis分布式锁的优点和缺点是什么?
数据库·redis·分布式
wudl556611 小时前
Flink SQL 与 Kafka 整合详细教程
sql·flink·kafka
virtuousOne13 小时前
Kafka基础
分布式·kafka
虫小宝13 小时前
Java分布式架构下的电商返利APP技术选型与架构设计实践
java·分布式·架构
007php00713 小时前
百度面试题解析:Zookeeper、ArrayList、生产者消费者模型及多线程(二)
java·分布式·zookeeper·云原生·职场和发展·eureka·java-zookeeper
waving-black13 小时前
windows系统下安装测试kafka
windows·分布式·kafka
深思慎考14 小时前
RabbitMQ 入门:基于 AMQP-CPP 的 C++ 实践指南与二次封装
开发语言·c++·分布式·rabbitmq·api
Andya_net14 小时前
Java | 基于redis实现分布式批量设置各个数据中心的服务器配置方案设计和代码实践
java·服务器·分布式
沉默终止1 天前
Kafka Queue: 完成 alterShareGroupOffsets Api
kafka