22

Flink实践|在CDH上运行你的第一个Flink例子

 2 years ago
source link: http://mp.weixin.qq.com/s?__biz=MzU5OTQ1MDEzMA%3D%3D&%3Bmid=2247487138&%3Bidx=1&%3Bsn=632e3d2310a7ff53826efb52e5dcab65
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

文档编写目的

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

3aE7z2q.jpg!web

图中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中安装Flink1.9以及运行你的第一个Flink例子,以下是测试环境信息:

1.CM和CDH版本为6.3

2.Redhat7.4

3.JDK1.8.0_181

4.集群未启用Kerberos

5.root用户安装

安装Flink1.9

1.准备Flink1.9的csd文件,并放置到Cloudera Manager Server的/opt/cloudera/csd目录。然后重启Cloudera Manager Server服务。

[[email protected]-172-31-13-38 ~]# cd /opt/cloudera/csd
[[email protected]-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
[[email protected]-172-31-13-38 csd]# systemctl restart cloudera-scm-server

2.CM重启完成以后,添加服务页面可以看到有Flink服务。

3.下载Flink1.9的Parcel,并放置/var/www/html目录

[[email protected]-172-31-13-38 ~]# cd /var/www/html/flink1.9/
[[email protected]-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
[[email protected]-172-31-13-38 flink1.9]#

4.通过 Hosts > Parcels 进入Cloudera Manager的Parcel页面,输入SMM Parcel的http地址,下载->分配->激活。

umuU7j3.png!web

Mvy2Ebb.png!web

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

aQzyma2.png!web

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

NFzyuav.png!web

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

nmIbqyb.png!web

8.点击继续

eeYBju3.png!web

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

aeueAbI.png!web

BZv2mmi.png!web

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

euu2yuY.png!web

BnAJjuI.png!web

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

yiIbAra.png!web

第一个Flink例子

1.执行Flink自带的example的wordcount例子。

[[email protected]-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

BzENZnY.jpg!web

UfMN3mF.jpg!web

2.查看输出结果。

yeiUFnu.png!web

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

RfauMjj.png!web

2MR7Jry.jpg!web

至此,Flink1.9安装到CDH6.3以及第一个例子介绍完毕。

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

Disclaimer: this is an early access beta version of Cloudera Streaming Analytics Powered by Apache Flink. Cloudera does not offer support for this version. The goal of this beta release is to enable application development with CSA as early as possible.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK