📅  最后修改于: 2023-12-03 15:37:36.553000             🧑  作者: Mango
Kafka是一个分布式流平台,可用于构建实时数据流数据管道和流式应用程序。在Linux上安装Kafka分为以下几步:
Kafka是用Java语言编写的,因此需要安装Java环境。在Linux下,可以使用如下命令进行安装:
sudo apt-get update
sudo apt-get install default-jre
到Kafka官网(http://kafka.apache.org/downloads)下载Kafka的二进制压缩包。
wget http://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.8.0/kafka_2.13-2.8.0.tgz
使用如下命令解压Kafka:
tar -zxvf kafka_2.13-2.8.0.tgz
首先进入Kafka目录:
cd kafka_2.13-2.8.0
在config
目录下,有三个配置文件需要修改:zookeeper.properties
、server.properties
和producer.properties
。
zookeeper.properties
配置文件:
dataDir=/var/lib/zookeeper # zookeeper数据存放路径
clientPort=2181 # zookeeper端口号
server.properties
配置文件:
broker.id=0 # kafka实例id
advertised.listeners=PLAINTEXT://localhost:9092 # kafka监听地址和端口
num.network.threads=3 # 网络线程数
num.io.threads=8 # IO线程数
socket.send.buffer.bytes=102400 # 发送缓存大小
socket.receive.buffer.bytes=102400 # 接收缓存大小
socket.request.max.bytes=104857600 # 请求大小
log.dirs=/tmp/kafka-logs # 日志存放路径
num.partitions=1 # 分区数量
num.recovery.threads.per.data.dir=1 # 恢复线程数
offsets.topic.replication.factor=1 # 偏移量topic复制因子
transaction.state.log.replication.factor=1 # 事务state topic复制因子
transaction.state.log.min.isr=1 # 事务最小ISR
log.retention.hours=168 # 日志保留时间,单位小时
log.segment.bytes=1073741824 # 日志切分段大小
log.retention.check.interval.ms=300000 # 日志保留时间检查间隔
zookeeper.connect=localhost:2181 # zookeeper地址和端口
zookeeper.connection.timeout.ms=6000 # zookeeper连接超时时间
group.initial.rebalance.delay.ms=0 # 初始化时partition分配时的等待时间
producer.properties
配置文件:
bootstrap.servers=localhost:9092 # broker地址和端口
acks=all # 等待确认级别
buffer.memory=33554432 # 消息缓冲区大小
compression.type=none # 压缩类型
retries=0 # 重试次数
batch.size=16384 # 批处理大小
linger.ms=0 # 延迟发送时间
max.request.size=1048576 # 最大请求大小
在修改完以上配置文件后,可以使用如下命令启动Kafka:
bin/kafka-server-start.sh config/server.properties
启动后,可以使用如下命令测试Kafka是否正常工作:
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
bin/kafka-topics.sh --list --zookeeper localhost:2181
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
以上命令操作分别为创建一个名为test的topic,查询当前已存在的topic并发送、接收消息。
至此,Kafka已经在Linux系统上安装成功。