文档编写目的
Cloudera Data Flow(CDF) 作为 Cloudera 一个独立的产品单元,围绕着实时数据采集,实时数据处理和实时数据分析有多个不同的功能模块,如下图所示:
![1.jpg 1.jpg]()
图中 4 个功能模块从左到右分别解释如下:
- Cloudera Edge Management(CEM),主要是指在边缘设备如传感器上部署 MiNiFi 的 agent 后用于采集数据。
- Cloudera Flow Management(CFM),主要是使用 Apache NiFi 通过界面化拖拽的方式实现数据采集,处理和转换。
- Cloudera Streaming Processing(CSP),主要包括 Apache Kafka,Kafka Streams,Kafka 的监控 Streams Messaging Manager(SMM),以及跨集群 Kafka topic 的数据复制 Streams Replication Manager(SRM)。
- Cloudera Streaming Analytics(CSA),以前这块是使用 Storm 来作为 Native Streaming 来补充 Spark Streaming 的 Micro-batch 的时延问题,目前这块改为 Flink 来实现,未来的 CDF 中将不再包含 Storm。
本文 Fayson 主要是介绍如何在 CDH6.3 中安装 Flink 1.9 以及运行你的第一个 Flink 例子,以下是测试环境信息:
- CM 和 CDH 版本为 6.3
- Redhat 7.4
- JDK 1.8.0_181
- 集群未启用 Kerberos
- Root 用户安装
安装 Flink 1.9
1.准备 Flink 1.9 的 csd 文件,并放置到 Cloudera Manager Server 的 /opt/cloudera/csd 目录。然后重启 Cloudera Manager Server 服务。
[root@ip-172-31-13-38 ~]# cd /opt/cloudera/csd
[root@ip-172-31-13-38 csd]# ll
total 44
-rw-r--r-- 1 root root 12407 Nov 8 01:26 FLINK-1.9.0-csa1.0.0.0-cdh6.3.0.jar
-rw-r--r-- 1 root root 24630 Sep 4 20:02 STREAMS_MESSAGING_MANAGER-2.1.0.jar
[root@ip-172-31-13-38 csd]# systemctl restart cloudera-scm-server
2.CM 重启完成以后,添加服务页面可以看到有 Flink 服务。
![22.jpg 22.jpg]()
3.下载 Flink 1.9 的 Parcel,并放置 /var/www/html 目录。
[root@ip-172-31-13-38 ~]# cd /var/www/html/flink1.9/
[root@ip-172-31-13-38 flink1.9]# ll
total 127908
-rw-r--r-- 1 root root 130962403 Nov 8 01:36 FLINK-1.9.0-csa1.0.0.0-cdh6.3.0-el7.parcel
-rw-r--r-- 1 root root 41 Nov 8 01:28 FLINK-1.9.0-csa1.0.0.0-cdh6.3.0-el7.parcel.sha1
-rw-r--r-- 1 root root 4421 Nov 8 01:28 manifest.json
[root@ip-172-31-13-38 flink1.9]#
4.通过 Hosts > Parcels 进入 Cloudera Manager 的 Parcel 页面,输入 SMM Parcel 的 http 地址,下载->分配->激活。
![2.jpg 2.jpg]()
![3.jpg 3.jpg]()
5.进入 CM 主页点击“添加服务”。
![4.jpg 4.jpg]()
6.选择添加 Flink 服务,点击继续。
![5.jpg 5.jpg]()
7.选择 Flink History Server 以及 Gateway 节点,点击继续。
![6.jpg 6.jpg]()
8.点击继续。
![7.jpg 7.jpg]()
9.等待 Flink History Server 启动成功,完成后点击继续。
![8.jpg 8.jpg]()
![9.jpg 9.jpg]()
10.安装完成,点击完成回到 CM 主页。
![10.jpg 10.jpg]()
![11.jpg 11.jpg]()
发现 Flink 的状态为灰色,CMS 有重启提示,按照提示重启 CMS 服务,重启过程略。重启完成后显示 Flink 服务正常。
![12.jpg 12.jpg]()
第一个 Flink 例子
1.执行 Flink 自带的 example 的 wordcount 例子。
[root@ip-172-31-13-38 ~]# flink run -m yarn-cluster -yn 4 -yjm 1024 -ytm 1024 /opt/cloudera/parcels/FLINK/lib/flink/examples/streaming/WordCount.jar --input hdfs://ip-172-31-13-38.ap-southeast-1.compute.internal:8020/fayson/ods_user_600.txt --output hdfs://ip-172-31-13-38.ap-southeast-1.compute.internal:8020/fayson/wordcount_output
![13.jpg 13.jpg]()
![14.jpg 14.jpg]()
2.查看输出结果。
![15.jpg 15.jpg]()
3.在 YARN 和 Flink 的界面上分别都能看到这个任务。
![16.jpg 16.jpg]()
![17.jpg 17.jpg]()
至此,Flink 1.9 安装到 CDH 6.3 以及第一个例子介绍完毕。
备注:这是 Cloudera Streaming Analytics 中所包含 Apache Flink 的抢先测试版。Cloudera 不提供对此版本的支持。该 Beta 版本的目的是让用户可以尽可能早的开始使用 Flink 进行应用程序的开发。