linux 安装kafka,kafka安装(单机版)
需要安装jdk
(1) kafka 下载
https://kafka.apache.org/
wget https://archive.apache.org/dist/kafka/3.3.2/kafka_2.12-3.3.2.tgz
如果太慢了可以尝试:
kafka: https://url69.ctfile.com/d/253469-56309544-e95bad?p=2206 (访问密码: 2206)
不要下载带src的文件
否则提示
Classpath is empty. Please build the project first e.g. by running './gradlew jar -PscalaVersion=2.12.8'
(2) 解压后,配置 环境变量
[root@baimeidashu-elk111 /baimei/softwares/kafka_2.12-3.3.2]#cat /etc/profile.d/kafka.sh
#!/bin/bash
export KAFKA_HOME=/baimei/softwares/kafka_2.12-3.3.2
export PATH=$PATH:$KAFKA_HOME/bin
(3)修改配置文件
[root@elk111 ~]# yy $KAFKA_HOME/config/server.properties
# 指定broker的唯一ID
broker.id=111
# 套接字服务器监听的地址。如果没有配置,主机名将等于的值
listeners=PLAINTEXT://10.0.0.1.111:9092
# 当前kafka对外提供服务的端口默认是9092
port=9092
...
# 指定数据目录
log.dirs=/baimei/data/kafka
...
# 指定ZK的集群并指定chroot目录
zookeeper.connect=10.0.0.111:2181,10.0.0.112:2181,10.0.0.113:2181/kafka-3.3.2
注意: 这里 zookeeper 我们可以使用集群,也可以 用kafka 自带的 ,
我自己配置的: server.properties
listeners=PLAINTEXT://localhost:9092
zookeeper.connect=localhost:2181
如果你没有集群,可以用自带的:
/app/kafka/kafka_2.12-3.3.2/bin/zookeeper-server-start.sh
先来启动zk
修改zookeeper配置 : 必须修改 默认是0
cd /app/kafka/kafka_2.12-3.3.2/config
vim zookeeper.properties
maxClientCnxns=100
启动:
zookeeper-server-start.sh /app/kafka/kafka_2.12-3.3.2/config/zookeeper.properties &
参考:Kafka 安装部署-单节点_kafka单节点部署-CSDN博客
(4)启动kafka服务
-daemon 是后台运行
kafka-server-start.sh $KAFKA_HOME/config/server.properties &
检查:
lsof -i:2181
lsof -i:9092
到此单机版的 kafka已经安装完成了。
配置外网访问:
listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://外网ip:9092
{#more-10433}
检查:
#生产者生产数据 在其他 有kafaka环境的地方 启动生产
bin/kafka-console-producer.sh --topic topic1 --bootstrap-server 10.0.0.210:9092
#消费者消费数据
bin/kafka-console-consumer.sh --topic topic1 --from-beginning --bootstrap-server 10.0.0.210:9092
只要在 其他客户端有kafaka 就可以测试(不需要启动)
创建topic
kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test
查看所有的topic信息
kafka-topics.sh --list --bootstrap-server localhost:9092
启动生产者生产数据
kafka-console-producer.sh --broker-list localhost:9092 --topic test
消费者消费数据
kafka-console-consumer.sh --bootstrap-server 192.168.1.250:9092 --topic test --from-beginning
这样在生产者 窗口,输入数据, 在消费者窗口可以接收到数据
这样就算部署成功了。
验证 zk 是否有数据,有了就成功。
不确定,可以先在测试环境,先删除, 再次启动kafka
有的是如下图所示:
指定ZK的集群并指定chroot目录