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

相关推荐
guitarCC3 小时前
spark Rdd的创建方式
大数据·分布式·spark
Yz98763 小时前
Hadoop里面MapReduce的序列化与Java序列化比较
java·大数据·jvm·hadoop·分布式·mapreduce·big data
happycao1235 小时前
kafka 生产者拦截器
中间件·kafka
XMYX-05 小时前
Kafka 命令详解及使用示例
kafka
coisini.cn5 小时前
Windows10、CentOS Stream9 环境下安装kafka_2.12-3.6.2记录
运维·zookeeper·kafka·windows10·centos stream 9
不能再留遗憾了5 小时前
RabbitMQ 高级特性——发送方确认
分布式·rabbitmq·ruby
益达_z5 小时前
中间件知识点-消息中间件(Rabbitmq)一
分布式·中间件·rabbitmq
.生产的驴8 小时前
SpringBoot 消息队列RabbitMQ在代码中声明 交换机 与 队列使用注解创建
java·spring boot·分布式·servlet·kafka·rabbitmq·java-rabbitmq
RestCloud8 小时前
一文说清楚ETL与Kafka如何实现集成
数据仓库·kafka·etl·数据处理·数据集成
lipviolet9 小时前
Redis系列---Redission分布式锁
数据库·redis·分布式