1. 下载
Kafka 版本选择:
Flume 对 Kafka 版本的要求:
http://flume.apache.org/FlumeUserGuide.html#kafka-sink
Spark 对 Kafka 版本的要求:
http://spark.apache.org/docs/2.3.0/structured-streaming-kafka-integration.html
Kafka 版本下载:
0.10 版本以上下载:http://mirrors.hust.edu.cn/apache/kafka/
所有版本下载地址:http://kafka.apache.org/downloads
这里选择下载 kafka_2.11-0.10.2.2.tgz 版本,并上传至主节点 app 目录下
2. 解压
使用如下命令解压 Kafka 安装包:
tar -zxvf kafka_2.11-0.10.2.2.tgz
删除 Kafka 安装包:
rm -rf kafka_2.11-0.10.2.2.tgz
3. 修改配置文件
3.1 修改 zookeeper.properties
$ vi zookeeper.properties
#Zookeeper 数据存储路径与 Zookeeper 配置文件保持一致
dataDir=/home/hadoop/data/zookeeper/zkdata
3.2 修改 consumer.properties
$ vi consumer.properties
#配置 Zookeeper 集群连接地址zookeeper.connect=hadoop01:2181,hadoop02:2181,hadoop03:2181
3.3 修改 producer.properties
$ vi producer.properties
#修改 kafka 集群配置地址(0.10版本以上)
bootstrap.servers=master:9092,slave1:9092,slave2:9092
#修改 kafka 集群配置地址(0.8)
metadata.broker.list=master:9092,slave1:9092,slave2:9092
3.4 修改 server.properties
$ vi server.properties
#配置 Zookeeper 集群地址
zookeeper.connect=master:2181,slave1:2181,slave2:2181
#存储日志文件目录
log.dirs=/home/hadoop/data/kafka-logs4.
Kafka 安装目录同步通过集群分发脚本将 kafka 整个安装目录分发到其他节点
$ deploy.sh kafka_2.11-0.10.2.2 /home/hadoop/app/ slave(为远程分发脚本,原理就是scp,后面会有单独文章介绍该脚本)
5. 再次修改 server.properties
在各个节点分别修改 server.properties(保证各个节点之间的broker.id唯一不重复)
#修改 hadoop01 节点
broker.id=1
#修改 hadoop02 节点
broker.id=2
#修改 hadoop03 节点
broker.id=3
6 依据上述配置文件中自己写的日志文件的路径进行创建文件夹
7 kafaka集群
单个节点启动:
1 先启动zookeeper:
./zookeeper-server-start.sh config/zookeeper.properties &
2 启动kafka:
./kafka-server-start.sh ../config/server.properties &
3 创建Topic:
bin/kafka-topics.sh --zookeeper localhost:2181--create --topic test --replication-factor 3
--partitions 3
4 查看topic列表:
bin/kafka-topics.sh --zookeeper localhost:2181 --list
5 查看topic详情:
bin/kafka-topics.sh --zookeeper localhost:2181--describe --topic test
8 生产和消费测试:
1 生产者测试:
./kafka-console-producer.sh --broker-list 127.0.0.1:9092 --topic test_zxh (创建test_zxh的生产者 ,在命令行输入内容即为生产的消息)
2 消费者测试 :
./kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9092 --topic test_zxh