Kafaka如何下载
官网地址
目前Kafka最新的版本就是3.7.1
我们可以看到下面这两个版本信息?什么意思呢?
- Scala 2.12 - kafka_2.12-3.7.1.tgz (asc, sha512)
- Scala 2.13 - kafka_2.13-3.7.1.tgz (asc, sha512)
我们应该知道,一个完整的Kafka实例,至少包含了3部分: - 生产者-Producer
- Broker
- 生产者-Consumer
其中生产者和消费者是使用Java语言,Broker则是使用的Scala语言,这样是不是就明白了。2.12和2.13其实就是说的Scala的版本,3.7.1就是Kafka真正的正式版本号。
Kafka的安装
我们需要先保证我们的服务器安装了Java环境:
java -version
下载kafka:
通过 -o 指定我们存放的路径
wget -O /usr/local/kafka_2.13-3.7.1.tgz https://downloads.apache.org/kafka/3.7.1/kafka_2.13-3.7.1.tgz
解压:
tar -zxvf kafka_2.13-3.7.1.tgz
Kafka的配置和启动
小贴士
Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。
Kafka在之前的版本中,如果没有ZooKeeper,Kafka将无法运行。
用过kafka的开发者应该知道,每次启动kafka服务时,都是需要先把Zookeeper启动,然后启动kafka,步骤相当繁琐。
Kafka在在发布的2.8版本里,让用户可在完全不需要ZooKeeper的情况下运行Kafka,该版本将依赖于ZooKeeper的控制器改造成了基于Kafka Raft的Quorm控制器(KRaft模式)。
通过ZooKeeper启动
查看配置文件:
connect-console-sink.properties
connect-console-source.properties
connect-distributed.properties
connect-file-sink.properties
connect-file-source.properties
connect-log4j.properties
connect-mirror-maker.properties
connect-standalone.properties
consumer.properties
kraft
log4j.properties
producer.properties
server.properties
tools-log4j.properties
trogdor.conf
zookeeper.properties
1:修改ZooKeeper配置
vim zookeeper.properties
## 配置地址用于存放zookeeper数据存储位置,不存在会自动创建
dataDir=/usr/local/kafka_data/zookeeper_data
2:启动ZooKeeper
进入kafka的bin目录:
#启动zookeeper
../bin/zookeeper-server-start.sh -daemon ./config/zookeeper.properties
# 查看zookeeper进程是否启动
ps -ef | grep zookeeper
3:启动Kafka
vim ../config/server.properties
#修改log.dirs地址
log.dirs=/usr/local/kafka_data/kafka_data
#启动Kafka
../bin/kafka-server-start.sh -daemon ../config/server.properties
#通过jps命令可以查看是否启动成功,看到下面的结果表示我们的zookeeper和Kafka都启动成功了
[root@qingshan bin]# jps
7297 Jps
1592 QuorumPeerMain
7241 Kafka
查看启动log
如果执行启动命令之后,使用JPS命令没有看到Kafka的进程,则可能是启动失败了。可以到对应的路径下查看启动日志,路径替换为自己Kafka的路径下即可
/usr/local/kafka_2.13-3.7.1/bin/hs_err_pid***.log
KRaft模式下启动Kafka
打开我们Kafka的Config目录下,有一个KRaft文件夹。
1:修改我们修改数据存储位置
vim config/kraft/server.properties
log.dirs=/usr/local/kafka_data/kafka_KRaft_data
2:生成存储目录唯一ID
kafka的bin目录下有一个kafka-storage.sh文件
./kafka-storage.sh random-uuid
#结果
bxoRVvPvR0qjT307GQ6Gag
3:格式化存储目录
# 将上一步生成的唯一ID替换成自己的,启动使用kraft下的配置文件
./kafka-storage.sh format -t bxoRVvPvR0qjT307GQ6Gag -c /usr/local/kafka_2.13-3.7.1/config/kraft/server.properties
执行结果:
4:启动Kafka
#执行启动命令。
./kafka-server-start.sh -daemon ../config/kraft/server.properties