• Flink ON YARN


    Flink ON YARN 模式就是使用客户端的方式,直接向Hadoop集群提交任务即可,不需要单独启动Flink进程

    Flink ON YARN有两种使用方式:

    1. 在yarn中初始化一个flink集群,以后提交任务都提交到这个flink集群中,这个flink集群会常驻在yarn集群中,除非手工停止
    2. 每次提交任务都会创建一个新的flink集群,任务之间相互独立,互不影响,任务执行完成后创建的集群也会消失

    一、Flink ON YARN第一种方式

    1.1、把flink-1.11.1-bin-scala_2.12.tgz上传解压即可

    tar -zxvf  flink-1.11.1-bin-scala_2.12.tgz

    1.2、在/etc/profile 中配置HADOOP_CLASSPATH

    export HADOOP_CLASSPATH=`${HADOOP_HOME}/bin/hadoop classpath` 

    source /etc/profile

     1.3、启动flink集群

    bin/yarn-session.sh -jm 1024m -tm 1024m -d 

     

    1.4、向这个Flink集群中提交任务

     bin/flink run ./examples/batch/WordCount.jar

    运行结果:

     1.5、关闭flink集群

     yarn application -kill application_1660972198484_0001

    二、 Flink ON YARN第二种方式

    flink run -m yarn-cluster (创建Flink集群+提交任务)

    使用flink run直接创建一个临时的Flink集群,并且提交任务 此时这里面的参数前面加上了一个 y 参数

    提交上去之后,会先创建一个Flink集群,然后在这个Flink集群中执行任务。

     bin/flink run -m yarn-cluster -yjm 1024 -ytm 1024  ./examples/batch/WordCount.jar 

    输出结果:

     针对Flink命令的一些用法汇总

     三、运行实际开发的项目

    3.1、在pom中添加打包插件,把项目打包后上传到服务器上

    1. <build>
    2. <plugins>
    3. <!-- 编译插件 -->
    4. <plugin>
    5. <groupId>org.apache.maven.plugins</groupId>
    6. <artifactId>maven-compiler-plugin</artifactId>
    7. <version>3.6.0</version>
    8. <configuration>
    9. <source>1.8</source>
    10. <target>1.8</target>
    11. <encoding>UTF-8</encoding>
    12. </configuration>
    13. </plugin>
    14. <!-- scala编译插件 -->
    15. <plugin>
    16. <groupId>net.alchim31.maven</groupId>
    17. <artifactId>scala-maven-plugin</artifactId>
    18. <version>3.1.6</version>
    19. <configuration>
    20. <scalaCompatVersion>2.11</scalaCompatVersion>
    21. <scalaVersion>2.11.11</scalaVersion>
    22. <encoding>UTF-8</encoding>
    23. </configuration>
    24. <executions>
    25. <execution>
    26. <id>compile-scala</id>
    27. <phase>compile</phase>
    28. <goals>
    29. <goal>add-source</goal>
    30. <goal>compile</goal>
    31. </goals>
    32. </execution>
    33. <execution>
    34. <id>test-compile-scala</id>
    35. <phase>test-compile</phase>
    36. <goals>
    37. <goal>add-source</goal>
    38. <goal>testCompile</goal>
    39. </goals>
    40. </execution>
    41. </executions>
    42. </plugin>
    43. <!-- 打jar包插件(会包含所有依赖) -->
    44. <plugin>
    45. <groupId>org.apache.maven.plugins</groupId>
    46. <artifactId>maven-assembly-plugin</artifactId>
    47. <version>2.6</version>
    48. <configuration>
    49. <descriptorRefs>
    50. <descriptorRef>jar-with-dependencies</descriptorRef>
    51. </descriptorRefs>
    52. <archive>
    53. <manifest>
    54. <!-- 可以设置jar包的入口类(可选) -->
    55. <mainClass></mainClass>
    56. </manifest>
    57. </archive>
    58. </configuration>
    59. <executions>
    60. <execution>
    61. <id>make-assembly</id>
    62. <phase>package</phase>
    63. <goals>
    64. <goal>single</goal>
    65. </goals>
    66. </execution>
    67. </executions>
    68. </plugin>
    69. </plugins>
    70. </build>

     3.2、提交上去之后,会先创建一个Flink集群,然后在这个Flink集群中执行任务。

    1. bin/flink run -m yarn-cluster -c main.scala.SocketWindowWord
    2. -yjm 1024 -ytm 1024 /data/soft/jars/db_flink-1.0-SNAPSHOT-jar-with-dependencies.jar

    结果:

     

  • 相关阅读:
    5.Docker 私有库及镜像推送
    基于.NetCore开发博客项目 StarBlog - (4) markdown博客批量导入
    编程之美1 让CPU占用率曲线听你指挥
    Java面试丨多线程面试题整合版【60题】
    iOS开发实战-仿小红书App开发-1-App创建与Git
    行为型模式-空对象模式
    记录一些 PostgreSQL问题分析思路
    Could the Earth be swallowed by a black hole?
    Spring MVC注解Controller源码流程解析--定位HandlerMethod
    【Eigen】旋转方向及eulerAngles函数参数说明
  • 原文地址:https://blog.csdn.net/libaowen609/article/details/126440082