文章目录
kafka安装使用,以kafka_2.13-2.8.1为例
前言:
1、开放端口:firewall-cmd --zone=public --add-port=2888/tcp --permanent
2、将kafka安装包下载到data目录下(也可以是其他目录,不影响的),然后解压
一、安装
1.1 如果需要创建集群的话,先配置host(可以不配,直接用IP,为了统一最好配制,有几台,配几台)
vim /etc/hosts
host文件配置内容
# 在hosts文件最下面加入IP地址的别名
192.168.1.129 host1
192.168.1.132 host2
# ping一下,查看配置的地址是否能通
ping host1
# 出现以下就证明配置成功
1.2 配置zookeeper.properties
1.2.1 创建数据目录和集群ID
mkdir /tmp/zookeeper
# myid 集群内不能重复的,每台机器设置成不一样的。
echo 1 > /tmp/zookeeper/myid
vim kafka_2.13-2.8.1/config/zookeeper.properties
zookeeper.properties文件的配置内容
dataDir=/tmp/zookeeper
# the port at which the clients will connect
clientPort=2181
# disable the per-ip limit on the number of connections since this is a non-production config
maxClientCnxns=0
# Disable the adminserver by default to avoid port conflicts.
# Set the port to something non-conflicting if choosing to enable this
admin.enableServer=false
# admin.serverPort=8080
tickTime=2000
initLimit=5
syncLimit=2
# 这里的host1和host2是我们在上面配置的地址,如果没有配置的话(或者需要外网访问的话),就写IP
server.1=host1:2888:3888
server.2=host2:2888:3888
1.3 启动zookeeper
# 进入到kafka中,启动zookeeper
# 临时启动
./bin/zookeeper-server-start.sh config/zookeeper.properties
# 后台启动
./bin/zookeeper-server-start.sh config/zookeeper.properties &
1.4 配置kafka配置文件server.properties
vim kafka_2.13-2.8.1/config/server.properties
server.properties的配置文件中的配置
# id保证在集群里面唯一
broker.id=2
# 这里的host1和host2是我们在上面配置的地址,如果没有配置的话(或者需要外网访问的话),就写IP
listeners=PLAINTEXT://host2:9092
zookeeper.connect=host1:2181,host2:2181
1.5 启动kafka
# 临时启动
./bin/kafka-server-start.sh config/server.properties
# 后台启动1
./bin/kafka-server-start.sh config/server.properties &
# 后台启动2
nohup ./bin/kafka-server-start.sh config/server.properties > kafka.log 2>&1 &
1.6 测试和使用
cd /data/kafka_2.13-2.8.1
# 创建topic
./bin/kafka-topics.sh --create --zookeeper host1:2181 --replication-factor 1 --partitions 1 --topic testtopic
# 查看topic list
./bin/kafka-topics.sh --zookeeper host1:2181 --list
# 控制台生产消息
./bin/kafka-console-producer.sh --bootstrap-server host1:9092 --topic testtopic
# 控制台消费消息
./bin/kafka-console-consumer.sh --bootstrap-server host2:9092 --topic testtopic --from-beginning
二、使用守护进程启动程序
2.1 zookeeper(后台启动)可选
vim /etc/systemd/system/zookeeper.service
zookeeper.service配置文件
[Unit]
Description=Zookeeper service
After=network.target
[Service]
Type=simple
User=root
Group=root
ExecStart=/data/kafka_2.13-2.8.1/bin/zookeeper-server-start.sh /data/kafka_2.13-2.8.1/config/zookeeper.properties
ExecStop=/data/kafka_2.13-2.8.1/bin/zookeeper-server-stop.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
# 加载配置文件
systemctl daemon-reload
# 启动zookeeper
systemctl start zookeeper.service
# 查看启动的状态
systemctl status zookeeper.service
2.2 使用守护进程启动kafka(可选)
vim /etc/systemd/system/kafka.service
kafka.service配置文件
[Unit]
Description=Apache Kafka server (broker)
After=network.target zookeeper.service
[Service]
Type=simple
User=root
Group=root
ExecStart=/data/kafka_2.13-2.8.1/bin/kafka-server-start.sh /data/kafka_2.13-2.8.1/config/server.properties
ExecStop=/data/kafka_2.13-2.8.1/bin/kafka-server-stop.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
# 加载配置文件
systemctl daemon-reload
# 启动kafka服务
systemctl start kafka.service
# 查看kafka服务状态
systemctl status kafka.service
# 停止kafka服务
systemctl stop kafka.service