目录💻
- 一、linux安装kafka
- 1. 安装jdk
- 2. 上传解压到/usr/local目录下
- 3、使用kafka
- 二、docker安装kafka
- 1. 下载
- 2. 安装zookeeper
- 3. 安装kafka
一、linux安装kafka
环境主机 mac m2、虚拟机Ubuntu22.04.4
1. 安装jdk
yum install -y java-1.8.0-openjdk.x86_64
下载kafka,zk安装包
链接: https://pan.baidu.com/s/1FWKZWv-7H_xYSOs6iZhoEg?pwd=jddh 提取码: jddh
2. 上传解压到/usr/local目录下
#通过解压命令
tar -zvxf 压缩文件
-
执行配置
-
安装jdk
jdk不同的系统的有区别,就不做上传了,环境变量如果是通过上面的命令执行的,可以不用配置#解压 tar -xvzf jdk-8u401-linux-aarch64.tar.gz #配置环境变量 vim /etc/profile #配置, exportJAVA_HOME=/usr/local/jdk1.8.0_401 #路径改为自己的解压路径 exportCLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar exportPATH=$PATH:${JAVA_HOME}/bin #重置环境变量 source /etc/profile #查看是否安装成功 java -version
-
安装配置zookeeper
#进入到zk的conf目录下 cd /usr/local/zookeeper-3.4.12 #查看zookeeper-3.4.12路径下是否有data文件,没有的话创建一个 mkdir data #进入conf存放配置文件目录 cd conf #通过zoo模版文件创建zoo.cfg配置文件 cp zoo_sample.cfg ./zoo.cfg
-
修改配置文件:其他的不用修改
dataDir=/usr/local/zookeeper-3.4.12/data #存放节点数据路径地址
-
配置kafka
#进入解压的kafka目录,可以修改kafka文件名 mv kafka_2.12-2.4.1 kafka #在kafka里面添加一个logs目录 mkdir logs #修改配置文件 cd /usr/local/kafka/config vim server.properties
-
修改配置文件
注意下面几个配置
broker.id=0 #如果是集群,这个broker.id不能重复 log.dirs=usr/local/kafka/kafka-logs #数据日志存放位置,填自己的存放地址 zookeeper.connect=10.211.55.4:2181 #zookeeper地址,填自己的ip
-
-
-
创建一键启动、关闭脚本
cd /usr/local
-
创建kafka启动文件脚本:vim
#!/bin/sh #启动zookeeper /usr/local/zookeeper-3.4.12/bin/zkServer.sh start sleep 3 #等3秒后执行 #启动kafka脚本文件 使用的配置文件 /usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties &
-
创建kafka关闭脚本
#!/bin/sh #关闭kafka /usr/local/kafka/bin/kafka-server-stop.sh & sleep 3 #等3秒后执行 #关闭zookeeper /usr/local/zookeeper-3.4.12/bin/zkServer.sh stop
-
-
把文件设置为可执行文件
chmod +x kafka_start.sh chmod +x kafka_stop.sh
-
设置开机自启动
vi /etc/rc.d/rc.local #编辑,在最后添加一行 sh /usr/local/kafka/kafka_start.sh & #设置开机自动在后台运行脚本
-
启动和关闭
cd /usr/local #启动 ./kafka_start.sh #关闭 ./kafka_stop.sh
启动成功后通过jps
查看是否有对应的进程
3、使用kafka
先进入kafka/bin
目录下
- . 创建topic
./kafka-topics.sh
:脚本路径,都默认存放bin目录下my_topic
:主题名字localhost:9092
:zookeeper的ip和端口3
:分区设置三个1
:副本设置一个
#:脚本地址
./kafka-topics.sh --create --topic my_topic --bootstrap-server localhost:9092 --partitions 3 --replication-factor 1
- 查看主题
#查看所有主题
./kafka-topics.sh --list --bootstrap-server localhost:9092
#查看主题详情
./kafka-topics.sh --describe --topic my_topic --bootstrap-server localhost:9092
- 删除主题
./kafka-topics.sh --delete --topic my_topic --bootstrap-server localhost:9092
- 创建生产者并且生产消息
./kafka-console-producer.sh --topic my_topic --broker-list localhost:909
- 创建消费者并且指定消费者
my_consumer_group
:消费组my_topic
:消费者
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic my_topic --group my_consumer_group
二、docker安装kafka
1. 下载
docker pull wurstmeister/kafka //下载命令
docker pull zookeeper
2. 安装zookeeper
docker run -d --name zookeeper-kafka -p 2181:2181 -v /etc/localtime:/etc/localtime zookeeper
3. 安装kafka
docker run -d --name kafka-server2 \
-p 9092:9092 \
-e KAFKA_BROKER_ID=1 \
-e KAFKA_ZOOKEEPER_CONNECT=192.168.0.102:2181 \ #不能localhost
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.0.102:9092 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
-t wurstmeister/kafka