目录
准备工具
工具名称 | 工具版本 | 包名 | 下载地址 |
kakfa | 2.13-2.8.1 | kafka_2.13-2.8.1.tgz | https://kafka.apache.org/downloads |
上传与解压
将kafka安装包kafka_2.13-2.8.1.tgz上传至/opt/tools目录下
注:kafka自带的zookeeper除启动程序名称、配置文件名称与启动命令配置与普通版不同外,其他配置均无差别
- 进入/opt/tools目录
cd /opt/tools
- 解压jdk压缩包
tar -zxvf kafka_2.13-2.8.1.tgz
得到目录kafka_2.13-2.8.1
修改配置文件
- 创建kafka数据文件目录,应指定至较大磁盘空间的路径下,此处以/opt/tools/kafka_2.13-2.8.1/kafkadata为例
mkdir -p /opt/tools/kafka_2.13-2.8.1/kafkadat
- 进入配置文件目录
cd /opt/tools/kafka_2.13-2.8.1/config
- 编辑配置文件
vim server.properties
- 修改节点id,如果部署为集群版,则每台主机该id都不可相同,如仅部署单机版,则可保持默认
- 修改网络I/O数量,建议为““CPU核数/2+1””
- 修改I/O数量,建议为“CPU核数”
- 修改kafka数据文件路径
- 修改broker保存的分区数,单机版建议配置5-10
- 修改zookeeper配置,zookeeper集群以“,”分隔,使用hosts名称或IP地址均可
- 进入bin目录
cd /opt/tools/kafka_2.13-2.8.1/bin
- 编辑启动脚本kafka-run-class.sh
- 若不添加该行配置,则该脚本将日志输至kafka家目录下的logs目录下。
vim kafka-run-class.sh
在第一页注释内容下第一行,添加日志输出路径
LOG_DIR="/opt/tools/kafka_2.13-2.8.1/kafkalogs"
启动服务
- 启动服务(单机版或集群版启动命令无差别)
/opt/tools/kafka_2.13-2.8.1/bin/kafka-server-start.sh -daemon /opt/tools/kafka_2.13-2.8.1/config/server.properties
注:如防火墙已开启,则需开放kafka端口,单机版需开放9092端口,集群版需每台主机均开启9092端口。firewall开启端口命令,如firewall-cmd --permanent --zone=public --add-port=9092/tcp,开放完成后,重新加载防火墙,如firewall-cmd --reload
- 通过jps查看是否启动成功
jps
测试kafka
- 进入bin目录
cd /opt/tools/kafka_2.13-2.8.1/bin
- 创建topic(注意配置好自己的zookeeper信息)
./kafka-topics.sh --bootstrap-server wbnode2:9092 --create --topic test --partitions 10 --replication-factor 1
- 创建生产者(注意配置好自己的kafka信息)
./kafka-console-producer.sh --broker-list wbnode2:9092 --topic test
注:窗口会卡住,处于等待输入状态
- 创建消费者(注意配置好自己的zookeeper信息,若为单机版则另开一个远程窗口)
./kafka-console-consumer.sh --bootstrap-server wbnode2:9092 --topic test --from-beginning
注:窗口会卡住,等待消费状态
- 在生产者窗口随意输入内容并回车,查看消费者是否成功显示相同内容,若显示则成功。
配置Kafka为系统服务
- 创建并编辑服务配置文件
vim /usr/lib/systemd/system/kafka.service
根据实际情况修改如下内容:
[Unit]
Description=Apache Kafka server (broker)
Documentation=https://kafka.apache.org
After=network.target
Wants=network-online.target
[Service]
Type=forking
ExecStart=/apps/kafka_2.13-3.4.1/bin/kafka-server-start.sh -daemon /apps/kafka_2.13-3.4.1/config/kraft/server.properties
Restart=on-failure
LimitNOFILE=265535
[Install]
WantedBy=multi-user.target
- 重新加载服务配置
systemctl daemon-reload
- 启动kafka服务
systemctl start kafka
- 查看kafka服务状态
systemctl status kafka
- 停止kafka服务
systemctl stop kafka
- 设置kafka服务自启动
systemctl enable kafka