Flink学习实践笔记(一)
in bigdata with 0 comment

Flink学习实践笔记(一)

in bigdata with 0 comment

flink的提交任务方式:

  1. 直接通过代码进行local提交

  2. = ExecutionEnvironment.createLocalEnvironment()

  3. 通过代码进行remote远程提交

     ExecutionEnvironment.createRemoteEnvironment("remote_host",port,"jar_path")
  4. standalone 提交
  5. 提交节点是flink节点

  6. run -p 1 -c cn.peekstar.wordcount ./flink-practice.jar -d

  7. 通过yarn 进行提交
  8. 提交的方式有两种一种是flink sesssion 另外一种是yarn-cluster

yarn session的方式适合资源占用方式较少的小批量作业

yarn-session -jm 1024m -nm flinkOnYarnTest -s 1 -tm 1024m -d
yarn-session --applicationId <application_id>
flink run -c classname <jar>

yarn cluster 的方式:

flink run -m yarn-cluster -yd -yjm 1024m -ytm 1024m -ynm <name> -ys 1 <jar> <arguments>

flink 在yarn上的提交的流程

flink 提交作业的基本流程

  1. 向yarn提交作业
  2. yarn 启动application master 其中am 包含三个部分dispatcher,resourceManager,JobManager
    dispatcher: 接收用户提交的作业
    resourceManager: 向cluster manager 申请资源
    jobmanager: 管理作业生成jobGraph
  3. 申请到资源后启动taskManager
  4. TaskExecutor 注册相应资源后再继续选择空闲资源进程分配
  5. 当接收到slot 注册的信息后jobmanager可以进行task的分发
  6. TaskExecutor 接收到task 后会启动进程执行任务并通过shuffle来交换数据以及通过snapshot(hdfs rockdb)进行快照的操作

跟spark提交的流程有相似之处,yarn-cluster的提交模式都比较相似。

Responses