1.下载安装
1.1.下载
下载路径
- http://kafka.apache.org/downloads
或者使用命令下载
- wget https://mirror-hk.koddos.net/apache/kafka/2.8.0/kafka_2.13-2.8.0.tgz
1.2.安装
tar -zxvf kafka_2.13-2.8.0.tgz
2.修改Kafka的配置
2.1.修改文件的位置
vi ./kafka_2.13-2.8.0/config/server.properties
2.2.修改配置
broker.id=0
port=9000
host.name=localhost
log.dirs=/home/XXX/kafka_2.13-2.8.0/logs
zookeeper.connect=localhost:2181
2.3.说明
- broker.id 默认值为-1,只有大于等于0的时候,才会正常启动
- port 为当前Kafka的端口
- host.name 单机可直接用localhost
- log.dirs 为保存日志的地方,需要新建一个文件夹
- zookeeper.connect zookeeper的连接ip和端口
2.4.新建日志文件夹
mkdir /home/XXX/kafka_2.13-2.8.0/logs
该文件夹为2.2配置中日志值
3.修改ZooKeeper配置
3.1.修改位置
在config/zookeeper.properties进行修改
3.2.修改配置
dataDir=/home/XXX/kafka/zookeeper/datas
dataLogDir=/home/XXX/kafka/zookeeper/logs
clientPort=2181
maxClientCnxns=100
tickTime=2000
initLimit=10
3.3.说明
- dataDir - - -zookeeper数据储存的位置
- dataLogDir - - - zookeeper日志储存的位置
- clientPort - - - zookeepr 的端口,和步骤2中的配置对应
- maxClientCnxns - - - 最大的连接数
- tickTime - - - zookeeper服务器之间或客户端之间维持心跳的时间间隔
- initLimit - - - zookeeper 接受客户端初始化连接时,最长能忍受多少个心跳时间间隔
3.4.创建文件夹
mkdir /home/XXX/kafka_2.13-2.8.0/zookeeper
mkdir /home/XXX/kafka_2.13-2.8.0/zookeeper/datas
mkdir /home/XXX/kafka_2.13-2.8.0/zookeeper/logs
4.启动Kafka
4.1.创建文件并赋予执行权限
touch /home/XXX/kafka_2.13-2.8.0/kafka_start.sh
chmod u+x /home/XXX/kafka_2.13-2.8.0/kafka_start.sh
4.2.编写Shell脚本
#!bin/bash
# 先启动zookeeper
/home/XXX/kafka/bin/zookeeper-server-start.sh /home/XXX/kafka/config/zookeeper.properties & sleep 3
# 后启动kafka
/home/XXX/kafka/bin/kafka-server-start.sh /home/XXX/kafka/config/server.properties &
4.3.执行脚本
sh /home/XXX/kafka_2.13-2.8.0/kafka_start.sh
5.关闭Kafka
5.1.创建文件并赋予执行权限
touch /home/XXX/kafka_2.13-2.8.0/kafka_stop.sh
chmod u+x /home/XXX/kafka_2.13-2.8.0/kafka_stop.sh
5.2.编写Shell脚本
#!bin/bash
/home/XXX/kafka_2.13-2.8.0//bin/kafka-server-stop.sh
sleep 3
/home/XXX/kafka_2.13-2.8.0//bin/zookeeper-server-stop.sh &
5.3.执行脚本
sh /home/XXX/kafka_2.13-2.8.0/kafka_stop.sh
6.启动并创建Topic
执行脚本启动
sh /home/XXX/kafka_2.13-2.8.0/kafka_start.sh
执行命令创建Topic
./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic MyTopic
7.测试
7.1.创建生产者
./kafka-console-producer.sh --broker-list localhost:9000 --topic MyTopic
说明:
- /kafka-console-producer.sh 为生产者的执行文件
- –broker-list 后面跟随的IP和端口,对应的我们在第2步骤修改的IP和端口
- –topic 后面跟的是创建的topic
7.2.创建消费者
./kafka-console-consumer.sh --bootstrap-server localhost:9000 --topic MyTopic --from-beginning
说明:
- /kafka-console-consumer.sh 为消费者的执行文件
- –bootstrap-server 后面跟随的IP和端口,对应的我们在第2步骤修改的IP和端口
- –topic 后面跟的是创建的topic
- –from-beginning 读取历史未消费的数据,如果不需要历史数据,可以不需要