原创 Flink1.12 yarn部署和兼容CDH环境

发布时间:2021-06-24 20:16:36 浏览 19 来源:猿笔记 作者:libai_go

    ###1.3配置环境:#运行任务,上面跑了官方例子没有问题,只是一个单词统计。并没有对hadoopeskafka等读写操作,接下来对接hadoop会有问题,所以要做一下兼容。###2.1官网说明:为解决特定HADOOP版本做的一个解决依赖的项目这里的CDH就是属于特定版本这个项目的1.11和1.12版本已经没有hadoop项目了所以我们只能拉取1.10的分支进行打包下载地址开始配置1###2.4编译打包maven安装略过(下载官方包解压声明环境变量配置文件不需要更改)*Session模式预分配资源向集群申请flink集群并长驻在集群


    1.下载安装Flink1.12

    -------------

    ###1.1下载

    选择scala2.11的下载既可

    cd/opt/

    ###1.2解压

    tarxfflink-1.12.2-bin-scala_2.11.tgz

    ###1.3配置环境

    vim/etc/profile

    exportHADOOP_CONF_DIR=PATH/lib/hadoop/etc/hadoop

    exportHBASE_CONF_DIR=PATH/lib/hbase/conf

    exportHADOOP_CLASSPATH=`hadoopclasspath`

    source/etc/profile

    执行一下hadoopclasspath显示libjar包,配置正确

    ###1.4测试例子(基于yarn)

    cdflink-1.12.2

    ./bin/flinkrun-myarn-cluster-p5-yjm1024m-ytm1024mexamples/streaming/WordCount.jar

    ###1.5flinkstandalone模式

    cdflink-1.12.2

    ./bin/start-cluster.sh#启动

    访问:

    #运行任务

    ./bin/flinkrunexamples/streaming/WordCount.jar

    2.兼容CDH环境

    -------

    运行上面的官方例子没有问题,只是一个单词统计,没有针对above卡夫卡等的读写操作。那么hadoop就会出现问题,所以兼容是必须的

    ###2.1官网描述

    flink-shaded-hadoop-2-uber是啥

    为了解决一个特定的HADOOP版本,一个解决依赖性的项目,这里的CDH属于一个特定的版本

    警告:从Flink1.11开始,flink-shaded-hadoop-2-uberFlink项目不再正式支持使用发行版。建议用户通过提供Hadoop依赖关系HADOOP_CLASSPATH

    官网说了Flink1.11之后了flink-shaded-hadoop-2-uber这个项目就不做了,所以需要我们自已去打包,打好包之后放到flink的lib目录下

    ###2.2配置flink-shaded

    flink-shaded是啥flink依赖项目

    地址:

    这个项目的1.11和1.12版本都没有hadoop项目,所以只能拉1.10分支打包

    下载地址:

    开始配置

    unzipflink-shaded-release-10.0.zip

    cdflink-shaded-release-10.0/flink-shaded-hadoop-2-parent

    vimpom.xml

    3.0.0

    3.4.5

    cdflink-shaded-hadoop-2-uber

    vimpom.xml#加这个是因为hadoopcommons-cli是1.2版本。直接跑会报错

    commons-cli

    commons-cli

    1.3.1

    cd../../#回到项目工程下加入aliyun源

    vimpom.xml

    vendor-repos

    vendor-repos

    cloudera-releases

    true

    false

    ###2.4编译和打包

    Maven安装被跳过(下载官方包,解压,声明环境变量,配置文件不需要修改)

    cdflink-shaded-release-10.0/

    mvncleaninstall-DskipTests-Drat.skip=true-Pvendor-repos-Dhadoop.version.cdh=3.0.0将

    打包完成后,将flink-shaded-hadoop-2-parent/flink-shaded-hadoop-2-uber/target/flink-shaded-hadoop-2-uber-3.0.0-10.0.jar包放到flinklib目录下

    ###2.5声明Flink命令全局可用

    ln-sv/opt/flink-1.12.1/bin/flink/usr/bin/flink

    ###2.6运行带hadoop和es读取写入的例子

    flinkrun-myarn-cluster-p5-yjm1024m-ytm2048m-ynmMysqlSyncEsStream-yquroot.default-ccom.xxxx.xxx.xxxx.task.MysqlSyncEsStream/root/xxx-xxxx-xxx-xx-1.0-SNAPSHOT.jar9

    3.部署模式(Flink1.11新增一种)

    -------------------

    ###3.1Flink三种部署模式

    *Session模式预分配资源,应用于集群为flink集群,长时间停留在集群中,JobManager和TaskManager数量固定。提交任务可以不申请创建资源和费用就可以工作,但是资源一般是有限的,任务越多,负荷越大,资源不是孤立的。会话模式通常用于部署对延迟非常敏感但运行时间很短的作业。

    *每个作业模式独立的弗林克集群,每个应用程序和每个创建,是我们上面使用的弗林克运行纱线集群模式。资源隔离,独占作业管理器和任务管理器,重新创建启动任务资源,缓慢启动。作业运行后,资源被销毁。每作业模式通常用于部署那些长期运行的作业。

    *Application模式Flink1.11新增的部署模式

    参考链接:

作者信息

libai_go [等级:3] devops
发布了 16 篇专栏 · 获得点赞 97 · 获得阅读 10252

相关推荐 更多