在 Cloudera Data Flow 上运行你的第一个 Flink 例子-阿里云开发者社区

开发者社区> 阿里云实时计算Flink版> 正文

在 Cloudera Data Flow 上运行你的第一个 Flink 例子

简介: 本文主要是介绍如何在 CDH6.3 中安装 Flink 1.9 以及运行你的第一个 Flink 例子。

文档编写目的

Cloudera Data Flow(CDF) 作为 Cloudera 一个独立的产品单元,围绕着实时数据采集,实时数据处理和实时数据分析有多个不同的功能模块,如下图所示:

1.jpg

图中 4 个功能模块从左到右分别解释如下:

  1. Cloudera Edge Management(CEM),主要是指在边缘设备如传感器上部署 MiNiFi 的 agent 后用于采集数据。
  2. Cloudera Flow Management(CFM),主要是使用 Apache NiFi 通过界面化拖拽的方式实现数据采集,处理和转换。
  3. Cloudera Streaming Processing(CSP),主要包括 Apache Kafka,Kafka Streams,Kafka 的监控 Streams Messaging Manager(SMM),以及跨集群 Kafka topic 的数据复制 Streams Replication Manager(SRM)。
  4. Cloudera Streaming Analytics(CSA),以前这块是使用 Storm 来作为 Native Streaming 来补充 Spark Streaming 的 Micro-batch 的时延问题,目前这块改为 Flink 来实现,未来的 CDF 中将不再包含 Storm。

本文 Fayson 主要是介绍如何在 CDH6.3 中安装 Flink 1.9 以及运行你的第一个 Flink 例子,以下是测试环境信息:

  1. CM 和 CDH 版本为 6.3
  2. Redhat 7.4
  3. JDK 1.8.0_181
  4. 集群未启用 Kerberos
  5. 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

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
3.jpg

5.进入 CM 主页点击“添加服务”。

4.jpg

6.选择添加 Flink 服务,点击继续。

5.jpg

7.选择 Flink History Server 以及 Gateway 节点,点击继续。

6.jpg

8.点击继续。

7.jpg

9.等待 Flink History Server 启动成功,完成后点击继续。

8.jpg
9.jpg

10.安装完成,点击完成回到 CM 主页。

10.jpg
11.jpg

发现 Flink 的状态为灰色,CMS 有重启提示,按照提示重启 CMS 服务,重启过程略。重启完成后显示 Flink 服务正常。

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
14.jpg

2.查看输出结果。

15.jpg

3.在 YARN 和 Flink 的界面上分别都能看到这个任务。

16.jpg
17.jpg

至此,Flink 1.9 安装到 CDH 6.3 以及第一个例子介绍完毕。

备注:这是 Cloudera Streaming Analytics 中所包含 Apache Flink 的抢先测试版。Cloudera 不提供对此版本的支持。该 Beta 版本的目的是让用户可以尽可能早的开始使用 Flink 进行应用程序的开发。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:

一套基于Apache Flink构建的一站式、高性能实时大数据处理平台,广泛适用于流式数据处理、离线数据处理、DataLake计算等场景。

官方博客
链接