首页 > 其他分享 >flink 提交yarn 命令 flink run -m yarn-cluster

flink 提交yarn 命令 flink run -m yarn-cluster

时间:2024-03-06 09:57:12浏览次数:25  
标签:run flink yarn cluster 任务 复制 提交

flink 提交yarn 命令 flink run -m yarn-cluster



文章目录

  • Flink集群搭建和使用
  • local 本地测试
  • flink集群搭建
  • 1、standallone cluster
  • 提交任务 -- 将代码打包
  • 2.flink on yarn 只需要部署一个节点
  • flink启动方式
  • 1、yarn-session
  • 2、直接提交任务到yarn


Flink集群搭建和使用

local 本地测试

idea运行
idea上运行

flink集群搭建

1、standallone cluster

1、准备工作
	有jdk,节点间免密
2、上传解压
	tar -zxvf flink-1.11.0-bin-scala_2.11.tgz
   配置环境变量,过于基础不写了
   然后生效
   source /etc/profile

3、修改配置文件

修改conf下的flink-conf.yaml

vim conf/flink-conf.yaml
#需要改的内容如下:
jobmanager.rpc.address: master   主节点ip地址

修改workers

vim conf/workers
修改如下:
增加从节点  node1  node2
(把localhost改为node1,node2)

修改masters

vim conf/masters  
改成主节点ip

同步到所有节点pwd是当前路径看清楚了

scp -r flink-1.11.0/ node1:`pwd`

4、启动集群
start-cluster.sh

http://master:8081 访问web界面

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
提交任务 – 将代码打包

1、在web页面提交任务

打开web界面后左边会有个Submit New job的点开然后上传jar包
  • 1.

flink 提交yarn 命令 flink run -m yarn-cluster_hadoop


传完了可以点击包名,输入类名(Entry Class),后面那个Paralleism是设置并行度的,其它不用管,然后点击submit即可

flink 提交yarn 命令 flink run -m yarn-cluster_hadoop_02

2、web提交和flink命令提交任务一样,在shell里输入下面命令

flink run -c com.shujia.flink.soure.Demo4ReadKafka flink-1.0.jar
  • 1.

3、rpc方式提交任务(远程命令提交,直接在idea里打包idea里运行)

package com.liu.core

import org.apache.flink.streaming.api.scala._

/**

  • @ Author : ld

  • @ Description :

  • @ Date : 2021/11/23 18:57

  • @ Version : 1.0
    */
    object WordCountRPC {
    def main(args: Array[String]): Unit = {
    //创建flink的环境
    //注意下面参数设置
    val env = StreamExecutionEnvironment.createRemoteEnvironment("master", 45189, "F:\ideaProject\liubigdata12\Flink\target\Flink-1.0-SNAPSHOT.jar")
    //设置并行度
    // env.setParallelism(2)
    //读取socket数据
    //nc -lk 8888
    env.socketTextStream("master",8888)
    //把单词拆分
    .flatMap(.split(","))
    //转换成kv格式
    .map((
    ,1))
    //按单词分组
    .keyBy(_._1)
    //统计单词数量
    .sum(1)
    //打印结果
    .print()

    //启动flink
    env.execute()
    }
    }

    • 1.
    • 2.
    • 3.
    • 4.
    • 5.
    • 6.
    • 7.
    • 8.
    • 9.
    • 10.
    • 11.
    • 12.
    • 13.
    • 14.
    • 15.
    • 16.
    • 17.
    • 18.
    • 19.
    • 20.
    • 21.
    • 22.
    • 23.
    • 24.
    • 25.
    • 26.
    • 27.
    • 28.
    • 29.
    • 30.
    • 31.
    • 32.
    • 33.
    • 34.
    • 35.

2.flink on yarn 只需要部署一个节点

1、配置HADOOP_CONF_DIR

vim /etc/profile

添加如下

export HADOOP_CONF_DIR=/usr/local/soft/hadoop-2.7.6/etc/hadoop/

  • 1.
  • 2.
  • 3.

2、将hadoop依赖jar包上传到flink lib目录

#jar包
flink-shaded-hadoop-2-uber-2.6.5-10.0
  • 1.
  • 2.

flink和spark一样都是粗粒度资源申请

flink启动方式
1、yarn-session

在yarn里面启动一个flink集群 jobManager
先启动hadoop

yarn-session.sh -jm 1024m -tm 1096m
  • 1.

flink 提交yarn 命令 flink run -m yarn-cluster_hadoop_03


flink 提交yarn 命令 flink run -m yarn-cluster_ide_04


和standalone提交过程差不多,不多赘述

提交任务  任务提交的是偶根据并行度动态申请taskmanager
1、在web页面提交任务

2、同flink命令提交任务
flink run -c com.shujia.flink.soure.Demo4ReadKafka flink-1.0.jar

3、rpc方式提交任务

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.

flink 提交yarn 命令 flink run -m yarn-cluster_flink 提交yarn 命令_05


模拟消息队列输入单词,web界面查看

flink 提交yarn 命令 flink run -m yarn-cluster_hadoop_06


flink 提交yarn 命令 flink run -m yarn-cluster_flink_07


RPC模式结果

flink 提交yarn 命令 flink run -m yarn-cluster_flink_08

flink 提交yarn 命令 flink run -m yarn-cluster_ide_09

2、直接提交任务到yarn

直接提交到yarn不会生成端口号,通过master:8088界面查看任务,点击后面的ApplactionMaster跳转到Flink界面

flink 提交yarn 命令 flink run -m yarn-cluster_flink 提交yarn 命令_10

每一个任务都会有一个jobManager

flink run -m yarn-cluster  -yjm 1024m -ytm 1096m -c
com.shujia.flink.core.Demo1WordCount flink-1.0.jar
  • 1.
  • 2.
#杀掉yarn上的任务,如果之前有任务每释放就执行,id不同别直接复制,没有就忽略
yarn application -kill application_1599820991153_0005
  • 1.
  • 2.

yarn-session先在yarn中启动一个jobMansager ,所有的任务共享一个jobmanager(提交任务更快,任务之间共享jobmanager , 相互有影响) 直接提交任务模型,为每一个任务启动一个joibmanager(每一个任务独立jobmanager , 任务运行稳定)



原文链接:https://blog.51cto.com/u_13416/7386870

标签:run,flink,yarn,cluster,任务,复制,提交
From: https://www.cnblogs.com/sunny3158/p/18055838

相关文章

  • JMeter VS RunnerGo :两大主流性能测试工具对比
    说起JMeter,估计很多测试人员都耳熟能详。它小巧、开源,还能支持多种协议的接口和性能测试,所以在测试圈儿里很受欢迎,也是测试人员常用的工具,不少企业也基于JMeter建立起自己的自动化测试能力,提升工作效率。RunnerGo呢,是一款基于Go语言、国产自研的测试平台。它支持高并发、分布式性......
  • 备忘:npm 和 yarn 的常用源设置
    NPM: ###1、查看当前源:npmconfiggetregistry###2、恢复官方源:npmconfigsetregistryhttps://registry.npmjs.org###3、设置镜像源:npmconfigsetregistryhttps://registry.npmmirror.com###4、设置淘宝源:npmconfigsetregistryhttps://registry.npm.t......
  • 在Docker中,docker run指令执行后,生成了哪些进程?
    当执行dockerrun指令后,Docker会启动一个新的容器实例。这个过程中会涉及多个进程和组件的交互。以下是dockerrun指令执行后生成的主要进程和组件:DockerDaemon(守护进程):DockerDaemon是Docker的后台服务,它长期运行并管理Docker容器、镜像、网络和卷等资源。当执......
  • [Rust] Using Box<dyn error::Error>> return one of miultiple error types at runti
    usestd::error;usestd::fmt;usestd::num::ParseIntError;fnmain()->Result<(),Box<dynerror::Error>>{letpretend_user_input="42";letx:i64=pretend_user_input.parse()?;println!("output={:?}",Po......
  • RunnerGo-基于Go的开源测试平台介绍及使用
    前言测试人员目前广泛使用的测试工具如Postman、JMeter等,如Postman缺少对API的性能测试部分、JMeter则缺少测试报告和测试脚本的统一管理系统及UI测试功能,而RunnerGo的出现填补了传统测试工具的空缺,为测试人员提供了一个可以满足测试全流程的测试工具,本文将介绍RunnerGo的功能特......
  • 极狐GitLab Runner 信任域名证书
    本文作者徐晓伟极狐GitlabRunner信任实例域名证书,用于注册注册极狐GitLabRunner。问题参见 极狐gitlab-runner-host.md说明解决方案是使用颁发给域名gitlab.test.helm.xuxiaowei.cn的证书,可以使用自己的域名去各大云厂商免费申请,或者使用自己根据域名gitlab.tes......
  • 在Docker中,docker run cmd entrypoint 有什么区别?
    在Docker中,dockerrun、CMD和ENTRYPOINT是相互关联又各有不同的概念,它们都涉及到如何配置和启动容器。下面详细介绍它们的区别和联系:dockerrundockerrun是Docker客户端命令,用于创建一个新的容器并运行其中的应用程序。当你执行dockerrun时,你可以指定一系列参数,如......
  • RUN、CMD、ENTRYPOINT区别
    1、简要概述RUN:执行命令并创建新的镜像层,RUN经常用于安装软件包。CMD:设置容器启动后默认执行的命令及其参数,但CD能够被dockerrun后面跟的命令行参数替换。ENTRYPOINT:配置容器启动时运行的命令。2.Shell和Exec格式两种方式指定RUN、CMD和ENTRYPOINT要运行的命......
  • 云原生基础设施代码化-terragrunt处理
    Terragrunt是什么?Terragrunt是一个基于Terraform的开源工具,它通过向Terraform添加一些额外的功能来帮助管理和组织Terraform代码。它提供了许多功能,包括:DRY(Don’tRepeatYourself):使用Terragrunt可以减少Terraform代码冗余。例如,您可以将共享的配置块抽象为公共模块,然后在需......
  • pytorch报错:Variable._execution_engine.run_backward( # Calls into the C++ engine
    GPU模式下运行pytorch代码报错,pytorch为2.2.1,NVIDIA驱动版本535.161.07File"/home/devil/anaconda3/envs/sample-factory/lib/python3.11/site-packages/torch/_tensor.py",line522,inbackwardtorch.autograd.backward(File"/home/devil/anaconda3/envs/sample-......