【Flink流式计算框架】:Flink集群搭建及任务提交方式

 

目录

1.框架比较

2.flink standalone集群搭建

3.flink配置文件

4.flink的2种管理模式

内存集中管理模式:

内存Job管理模式【推荐使用】:

5.Flink任务提交优先级设置


Flink

1.框架比较

Storm延迟低但是吞吐量小。

Spark Streaming吞吐量大但是延迟低。

Flink是一种兼具低延迟和高吞吐量特点的流计算技术,还是一套框架中同时支持批处理和流处理的一个计算平台。

2.flink standalone集群搭建

配置 conf/flink-conf.yaml masters slaves

然后 ./start-cluster.sh

停止standalone模式:./stop-cluster.sh

提交任务

通过 hdfs getconf -confKey fs.default.name 查看hdfs端口为8020

. /flink run ../examples/batch/WordCount.jar -input hdfs://10.31.1.125:8020/test.txt -output hdfs://10.31.1.125:8020/wordcount-result.txt

3.flink配置文件

flink-conf.yaml 文件中的几个重要参数进行分析:

jobmanager.heap.size:JobManager 节点可用的内存大小。

taskmanager.heap.size:TaskManager 节点可用的内存大小。

taskmanager.numberOfTaskSlots:每台机器可用的Slot 数量。

parallelism.default:默认情况下Flink 任务的并行度。

上面参数中所说的Slot 和parallelism 的区别:

Slot 是静态的概念,是指TaskManager 具有的并发执行能力。

parallelism 是动态的概念,是指程序运行时实际使用的并发能力。

设置合适的parallelism 能提高运算效率。

4.flink的2种管理模式

内存集中管理模式:

       在Yarn中初始化一个Flink集群,开辟指定的资源,之后我们提交的Flink Job都在这个Flink yarn-session中,也就是说不管提交多少个job,这些job都会共用开始时在yarn中申请的资源。这个Flink集群会常驻在Yarn集群中,除非手动停止。

yarn-session.sh(开辟资源)+flink run(提交任务)

开启资源:yarn-session.sh -n 2 -jm 1024 -tm 1024 -d (单位为MB)

  提交任务:./flink run …/examples/batch/WordCount.jar -input hdfs://192.168.83.129:9000/LICENSE -output hdfs://192.168.83.129:9000/wordcount-result.txt
  -n 2 表示指定两个容器 TaskManager的数量
  -s(–slots) 每个TaskManager的slot数量,默认一个slot一个core,默认每个taskmanager的slot的个数为1,有时可以多一些taskmanager,做冗余。
  -jm 1024 表示jobmanager的内存 1024M内存
  -tm 1024表示每个taskmanager的内存 1024M内存
  -d 任务后台运行
  -nm,–name YARN上为一个自定义的应用设置一个名字
  -q,–query 显示yarn中可用的资源 (内存, cpu核数)
  -z,–zookeeperNamespace 针对HA模式在zookeeper上创建NameSpace
  -id,–applicationId YARN集群上的任务id,附着到一个后台运行的yarn session中

 

内存Job管理模式【推荐使用】:

         在Yarn中,每次提交job都会创建一个新的Flink集群,任务之间相互独立,互不影响并且方便管理。任务执行完成之后创建的集群也会消失。 

执行 ./flink run -m yarn-cluster -yn 2 -yjm 1024 -ytm 1024 ../examples/batch/WordCount.jar 有默认指定的-input -output

或者 flink run [OPTIONS] <jar-file> <arguments>

 “run” 操作参数:
  -c,–class 如果没有在jar包中指定入口类,则需要在这里通过这个参数指定
  -m,–jobmanager host:port 指定需要连接的jobmanager(主节点)地址,使用这个参数可以指定一个不同于配置文件中的jobmanager
  -p,–parallelism 指定程序的并行度。可以覆盖配置文件中的默认值。
  -yn,–container 表示分配容器的数量,也就是TaskManager 的数量。
  -d,–detached:设置在后台运行。
  -yjm,–jobManagerMemory:设置JobManager 的内存,单位是MB。
  -ytm,–taskManagerMemory:设置每个TaskManager 的内存,单位是MB。
  -ynm,–name:给当前Flink application 在Yarn 上指定名称。
  -yq,–query:显示yarn 中可用的资源(内存、cpu 核数)
  -yqu,–queue :指定yarn 资源队列
  -ys,–slots :每个TaskManager 使用的Slot 数量。
  -yz,–zookeeperNamespace:针对HA 模式在Zookeeper 上创建NameSpace
  -yid,–applicationID : 指定Yarn 集群上的任务ID,附着到一个后台独立运行的Yarn Session 中。

 

5.Flink任务提交优先级设置


  一个任务的并行度设置可以从4 个层面指定:
    Operator Level(算子层面)。           算子调用setParallelism()
    Execution Environment Level(执行环境层面)。env.setParallelism()
    Client Level(客户端层面)。./flink run -p 10
    System Level(系统层面)。 / flink的配置文件
这些并行度的优先级为**Operator Level>Execution Environment Level>Client Level>System Level**

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值