简介
基本模块
Apache Kafka
消息分发组件,数据采集后先入Kafka。Schema Registry
Schema管理服务,消息出入kafka、入hdfs时,给数据做序列化/反序列化处理。Kafka Connect
提供kafka到其他存储的管道服务,此次焦点是从kafka到hdfs,并建立相关HIVE表。Kafka Rest Proxy
提供kafka的Rest API服务。Kafka Clients
提供Client编程所需SDK。
说明:以上服务除Apache kafka由Linkedin始创并开源,其他组件皆由Confluent公司开发并开源。上图解决方案由confluent提供。
基本逻辑步骤
- 数据通过Kafka Rest/Kafka Client写入Kafka;
- kafka Connect任务作为consumer从kafka订阅数据;
- kafka Connect任务建立HIVE表和hdfs文件的映射关系;
- kafka connect任务收到数据后,以指定格式,写入指定hdfs目录;
实操:
1. 启动服务
启动kafka 服务
- 修改配置
/*
1.修改192.168.103.44、192.168.103.45、192.168.103.46三台服务器上配置
2.配置文件中broker.id值分别修改为0、1、2
*/
cd /home/ubuntu/confluent-2.0.0
vi etc/kafka/server.properties
- 命令行启动
cd /home/ubuntu/confluent-2.0.0
nohup bin/kafka-server-start etc/kafka/server.properties &
- 服务说明
kafka服务无Leader概念,服务访问端口为9092
启动Schema Register服务
- 命令行启动
//wonderwoman集群环境,只在woderwoman上启动了服务
cd /home/ubuntu/confluent-2.0.0
nohup bin/schema-registry-start etc/schema-registry/schema-registry.properties &
- 服务说明
Schema Register服务端口为8081
启动Kafka Rest API服务
- 修改配置