Kafaka集群安装部署

By | 2019年4月18日

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  

 

 

发表评论