flink on yarn部署

## flink on yarn部署

flink on yarn需要的组件与版本如下
1. Zookeeper 3.4.9 用于做Flink的JobManager的HA服务
2. hadoop 2.7.2 搭建HDFS和Yarn
3. flink 1.3.2 或者 1.4.1版本(scala 2.11)

Zookeeper, HDFS 和 Yarn 的组件的安装可以参照网上的教程。

在zookeeper,HDFS 和Yarn的组件的安装好的前提下,在客户机上提交Flink任务,具体流程如下:

- 在启动Yarn-Session 之前, 设置好HADOOP_HOME,YARN_CONF_DIR , HADOOP_CONF_DIR环境变量中三者的一个。如下所示, 根据具体的hadoop 路径来设置
```command
   $ export HADOOP_HOME=/usr/local/hadoop-current
```
- 配置flink 目录下的flink-conf.yaml, 如下所示
```yaml
jobmanager.rpc.address: localhost
jobmanager.rpc.port: 6123
jobmanager.heap.mb: 256
taskmanager.heap.mb: 512
taskmanager.numberOfTaskSlots: 1
taskmanager.memory.preallocate: false
parallelism.default: 1
jobmanager.web.port: 8081

# yarn
yarn.maximum-failed-containers: 99999

#akka config
akka.watch.heartbeat.interval: 5 s
akka.watch.heartbeat.pause: 20 s
akka.ask.timeout: 60 s
akka.framesize: 20971520b

#high-avaliability
high-availability: zookeeper
## 根据安装的zookeeper信息填写
high-availability.zookeeper.quorum: 10.141.61.226:2181,10.141.53.244:2181,10.141.18.219:2181
high-availability.zookeeper.path.root: /flink
## HA 信息存储到HDFS的目录,根据各自的Hdfs情况修改
high-availability.zookeeper.storageDir: hdfs://hdcluster/flink/recovery/

#checkpoint config
state.backend: rocksdb
## checkpoint到HDFS的目录 根据各自安装的HDFS情况修改
state.backend.fs.checkpointdir: hdfs://hdcluster/flink/checkpoint
## 对外checkpoint到HDFS的目录
state.checkpoints.dir: hdfs://hdcluster/flink/savepoint

#memory config
env.java.opts: -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+AlwaysPreTouch -server -XX:+HeapDumpOnOutOfMemoryError
yarn.heap-cutoff-ratio: 0.2
taskmanager.memory.off-heap: true

```
- 提交Yarn-Session,切换到flink的bin 目录下,提交命令如下
```command
   $ ./yarn-session.sh -n 2 -s 6 -jm 3072 -tm 6144 -nm test -d
```
启动yarn-session的参数解释如下

参数 | 参数解释 |设置推荐
---|---|---
-n(--container) | taskmanager的数量 |
-s(--slots)| 用启动应用所需的slot数量/ -s 的值向上取整,有时可以多一些taskmanager,做冗余 每个taskmanager的slot数量,默认一个slot一个core,默认每个taskmanager的slot的个数为1 | 6~10
-jm | jobmanager的内存(单位MB)| 3072
-tm | 每个taskmanager的内存(单位MB)| 根据core 与内存的比例来设置,-s的值* (core与内存的比)来算
-nm | yarn 的appName(现在yarn的ui上的名字)|
-d |后台执行|

- 提交yarn-session 后,可以在yarn的ui上看到一个应用(应用有一个appId), 切换到flink的bin目录下,提交flink 应用。命令如下
```command
 $ ./flink -run file:///home/yarn/test.jar -a 1 -p 12 -yid appId -nm flink-test -d
```
启动flink 应用的参数解释如下

参数 | 参数解释
---|---
-j | 运行flink 应用的jar所在的目录
-a | 运行flink 应用的主方法的参数
-p | 运行flink应用的并行度
-c | 运行flink应用的主类, 可以通过在打包设置主类
-nm | flink 应用名字,在flink-ui 上面展示
-d | 后台执行
--fromsavepoint| flink 应用启动的状态恢复点

- 启动flink应用成功,即可在yarn ui 点击对应应用的ApplicationMaster链接,既可以查看flink-ui ,并查看flink 应用运行情况。

### 回答1: Flink on Yarn 的安装部署包括以下步骤: 1. 安装 Hadoop 和 Yarn,并确保它们正常运行。 2. 下载 Flink 的 binary release 或者源码编译。 3. 配置 flink-conf.yaml 文件,设置 yarn 集群的相关参数。 4. 启动 Flink on yarn,使用命令: "./bin/yarn-session.sh -n <number of task managers> -jm <jobmanager memory> -tm <taskmanager memory>" 5. 在 Flink web UI 中检查集群状态。 注意:以上步骤仅是大致的安装流程,详细的配置参数和步骤可以参考 Flink 官方文档。 ### 回答2: Flink on YARN是一种分布式运行模式,可以在YARN(Hadoop的资源管理器)上运行Flink作业。下面是安装和部署Flink on YARN的步骤。 1. 准备环境:首先,需要确保所有节点都运行着相同的Hadoop和Flink版本。在所有节点上安装好Hadoop和Flink,并设置好JAVA_HOME、HADOOP_HOME和FLINK_HOME环境变量。 2. 配置YARN:在Hadoop集群上,需要配置YARN以支持Flink on YARN。在yarn-site.xml文件中,需要设置一些参数,如yarn.nodemanager.resource.memory-mb、yarn.scheduler.minimum-allocation-mb和yarn.scheduler.maximum-allocation-mb等,这些参数决定了YARN可以分配的资源。 3. 配置Flink:在Flink的conf/flink-conf.yaml文件中,需要设置一些参数,如jobmanager.rpc.address、jobmanager.rpc.port、taskmanager.memory.process.size和yarn.application-name等,这些参数决定了Flink on YARN可以使用的资源和配置。 4. 部署Flink on YARN:可以使用yarn-session.sh脚本来启动Flink on YARN。首先,需要在Hadoop集群上启动一个Flink集群,然后运行yarn-session.sh脚本,该脚本会向YARN提交一个作业,并启动Flink on YARN会话。可以使用以下命令启动Flink on YARN: ``` ./bin/yarn-session.sh -n <num_task_managers> -tm <tm_memory> -s <slots> -d ``` 其中,num_task_managers指定了需要启动多少个TaskManager实例,tm_memory指定每个TaskManager实例可用的内存,slots指定每个TaskManager实例可以运行的任务数,-d表示该会话将在后台运行。 5. 运行Flink on YARN作业:在Flink on YARN会话中,可以使用Flink命令行工具或Web UI提交和管理作业。可以使用以下命令提交Flink作业: ``` ./bin/flink run -m yarn-cluster -ynm <job_name> <jar_file> <program_args> ``` 其中,-m yarn-cluster指定了作业管理器运行在YARN集群上,-ynm指定作业名称,jar_file指定要运行的JAR文件,program_args指定该程序的参数。作业将会被提交到YARN集群,并由Flink on YARN管理器分配任务并运行。 以上就是部署Flink on YARN的步骤,通过这种方式,可以更好地利用Hadoop集群的计算资源,以及Flink的高性能计算能力。同时,也可以通过管理器的监控和管理功能,更加方便地调试和管理Flink应用。 ### 回答3: Apache Flink是一个流处理引擎,可以在大数据环境中进行流式数据处理,支持高容错性和高吞吐量。而Apache Hadoop YARN是Apache Hadoop生态系统中的资源管理器,可用于管理计算资源。 Flink on YARN是将Flink集成到YARN中,以便更好地管理Flink作业的资源和调度。下面我将介绍如何安装和部署Flink on YARN。 首先,我们需要准备以下环境: 1. 安装Hadoop(版本必须与Flink相同)。 2. 在Flink官网上下载Flink二进制文件。 接下来,我们将进行以下步骤: 1. 将Flink二进制文件复制到YARN节点上。 2. 编辑Flinkyarn-site.xml文件。该文件位于Flink/conf目录下。在文件中,我们需要配置以下属性: a. yarn.application.classpath:指定Flink作业所需的依赖项。 b. yarn.application-attempts:指定Flink作业的重试次数。 c. yarn.resourcemanager.scheduler.address:指定YARNResourceManager的地址。 3. 启动Flink on YARN。输入以下命令即可启动: ./bin/yarn-session.sh -n <Number of TaskManager> -jm <Job Manager Memory> -tm <TaskManager Memory> 其中,-n指定TaskManager数量,-jm指定JobManager内存,-tm指定TaskManager内存。 4.使用Flink on YARN提交作业。输入以下命令即可提交作业: ./bin/flink run -m yarn-cluster <Flink Pipeline Jar> 其中,-m指定作业管理器的地址。yarn-cluster指定以YARN模式运行作业。 以上就是Flink on YARN的安装和部署过程。在这个过程中,我们需要了解FlinkYARN的结合方式,以便更好地管理Flink作业。Flink on YARN可以帮助我们轻松地管理和部署Flink作业,提高作业的可靠性和性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值