真实集群中Flink命令行各种模式提交wordcount
依然使用[1]中的代码和工程目录结构。
####################编译和运行#################################
mvn clean package -Dmaven.test.skip=true
###############################################################
我发现实验结果怎么都找不到?
终端没有报错
$FLINK/log下面没有报错
但是终端就是没有实验结果,我的实验结果在哪里?????(浪费了一天时间,um..........)
注意看lsof -i:9999
如果出现:Desktop->Laptop,那么此时词频结果在Laptop的$FLINK_HOME/log(standalone模式)下面或者是yarn的Laptop的log下面(Flink on yarn模式)
模式 | 启动集群文件 | 提交jar的命令示范 | 提交任务前jps | 提交任务后jps | 实验结果位置 |
Standalone模式 | $FLINK_HOME/bin/start-cluster.sh | flink run -c WordCount target/bbb-1.0-SNAPSHOT.jar |
118529 Jps 14448 NameNode 14612 DataNode 15092 ResourceManager 118164 TaskManagerRunner 15270 NodeManager 13831 QuorumPeerMain 117750 StandaloneSessionClusterEntrypoint |
14448 NameNode 14612 DataNode 120485 Jps 15092 ResourceManager 120212 CliFrontend 118164 TaskManagerRunner 15270 NodeManager 13831 QuorumPeerMain 117750 StandaloneSessionClusterEntrypoint |
flink-appleyuchi-taskexecutor-0-Laptop.out |
yarn Flink per-job cluster(在 yarn界面可以看到) |
不需要 |
flink run -m yarn-cluster -p 2 -yjm 700m -ytm 1024m -c WordCount target/bbb-1.0-SNAPSHOT.jar |
84304 ResourceManager 83541 NameNode 84501 NodeManager 13831 QuorumPeerMain 83720 DataNode 36681 JobHistoryServer 88078 Jps 85198 ApplicationHistoryServer |
84304 ResourceManager 88144 CliFrontend 88560 YarnJobClusterEntrypoint 88899 Jps 83541 NameNode 84501 NodeManager 13831 QuorumPeerMain 83720 DataNode 36681 JobHistoryServer 88763 YarnTaskExecutorRunner 85198 ApplicationHistoryServer |
yarn上的taskmanager.out 观看 |
Flink session cluster(在yarn界面可以看到) |
$FLINK_HOME/bin/yarn-session.sh |
flink run -p 2 -yjm 700m -ytm 1024m -c WordCount target/bbb-1.0-SNAPSHOT.jar |
14448 NameNode 25521 Jps 14612 DataNode 15092 ResourceManager 15270 NodeManager 13831 QuorumPeerMain 23208 YarnSessionClusterEntrypoint 22957 FlinkYarnSessionCli |
14448 NameNode 25025 Jps 14612 DataNode 15092 ResourceManager 15270 NodeManager 13831 QuorumPeerMain 23208 YarnSessionClusterEntrypoint 23515 CliFrontend 22957 FlinkYarnSessionCli |
yarn上的taskmanager.out 观看 |
上述表格中常说的两种flink on yarn的模式,其实指的是在yarn界面看到的name,如下:
注意哈,flink on yarn有的时候会发现任何地方(Yarn的log,Flink的log,Flink提交jar的log)都没有报错,但是就是找不到程序输出结果。
第一步,看下FLINK的web ui先确认程序有正确在运行。
如果该界面没有任何数据,去yarn界面查下,是不是queue中的资源已经被占满了,如果占满了就释放重新跑。
第二步,要看下lsof -i:9999
(Python3.6) appleyuchi@Desktop:实验$ lsof -i:9999
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nc 99279 appleyuchi 3u IPv4 9314465 0t0 TCP *:9999 (LISTEN)
nc 99279 appleyuchi 4u IPv4 9314466 0t0 TCP Desktop:9999->Laptop:46194 (ESTABLISHED)
出现这个的意思也就是说需要去Laptop的位置寻找log,
第二步,去yarn界面查看结果,操作步骤如下:
步骤 | 操作 |
① |
访问Desktop:8088的得到下图,点击application_xxxx |
② |
继续点击appattempt_XXX |
③ |
选择Laptop左侧的container |
④ |
然后点击Logs |
⑤ |
点击taskmanager.out |
⑥ |
注意上述步骤不一定固定,要根据lsof -i:端口的结果来判断输出结果在哪个机子上,
有的时候在Desktop,有的时候在Laptop,
如果是Laptop,有的时候在第②步会显示Laptop的链接,这个时候直接点进去就可以了,此时后面的步骤不再需要照搬。
寻找输出结果所在的核心思路就是:根据lsof -i:端口号的结果,去寻找该结果中对应的节点的taskmanager.out文件
对于standalone也是这样,如果觉得能想到的log都没有报错的话,那么输出结果极有可能在Laptop的$FLINK_HOME/log下面的.out文件中.
补充:
对于standalone而言,每次实验,只会在一个节点的$FLINK_HOME/log下面生成flink-用户名-taskexecutor-3-节点的IP.out
######################下面是一些细节说明################################################
关于flink on yarn-client这个词语,首次出现在[2],引文:"如果你不希望flink yarn client一直运行,也可以启动一个后台运行的yarn session。使用这个参数:-d 或者 --detached"
这个指的也是“flink on yarn”的方式
flink on yarn其实和spark on yarn在形式上差不多。
[4]一般情况下你的 slot 数是你每个 TaskManager 的 cpu 的核数.
另外,[6]中提到,如果是Flink per-job cluster模式,一条命令即可
但是如果是Flink session cluster,则需要提前启动yarn-session.sh文件,这个说法是不对的,无论哪种on yarn方式,都不需要理会yarn-session.sh文件
[7]是[8]的翻译
######################下面是参考文献################################################
Reference:
[1]intellij运行flink的wordcount实验
[2]Flink集群部署详细步骤
[3]Apache Flink 客户端操作
[4]Flink--对parallelism 和 slot的理解
[5]YARN Setup-官方文档
[6]Flink on Yarn两种模式启动参数及在Yarn上的恢复
[7]Apache Flink 客户端操作
[8]Apache Flink Fundamentals: Building a Development Environment and Configure, Deploy and Run Applications
真实集群中Flink命令行各种模式提交wordcount相关推荐
- 真实集群下-flink shell的remote模式实验记录
集群结构: Desktop和Laptop总共两台. 实验步骤: ①start-cluster.sh ②start-scala-shell.sh remote desktop 8082 这里上面的就是f ...
- 【Oracle】RAC集群中的命令
数据库名称:racdb 节点名称:rac3.rac4 注:以下命令均在grid用户中执行 1.查看集群节点的状态: [grid@rac3 ~]$ crsctl check cluster [grid@ ...
- 达梦数据库数据守护集群搭建(命令行方式)
文章目录 达梦数据守护集群介绍 一.前提 二.环境准备 1.数据守护集群搭建 2.配置过程 达梦数据守护集群介绍 达梦数据守护集群软件(DM Data Watch)是一种集成化的高可靠性解决方案,该方 ...
- KingbaseES共享集群中crm_mon命令失效原因分析
目前,在国家的支持下,国产操作系统蓬勃发展.KingbaseES共享集群在开发过程中,已经考虑了诸多跨平台问题,但是在和各个厂商的操作系统适配中,仍然有一些意想不到的问题. 在aarch64平台和lo ...
- vue获取url中ip_Kubernetes 集群中这样获取客户端真实 IP
Kubernetes 依靠 kube-proxy 组件实现 Service 的通信与负载均衡.在这个过程中,由于使用了 SNAT 对源地址进行了转换,导致 Pod 中的服务拿不到真实的客户端 IP 地 ...
- k8s使用port-forward访问集群中的应用程序(只能在执行命令的机器上开放端口)
k8s使用port-forward访问集群中的应用程序 本文描述了如何使用 kubectl port-forward 访问 Kubernetes 集群中的 Redis Server.这种连接方式在实际 ...
- 如何调试Kubernetes集群中的网络延迟问题
本文深入研究和解决了 Kubernetes 平台上的服务零星延迟问题,就在不久前我也遇到了类似的问题,看似是玄学事件,刚开始归结于网络链路抖动,一段时间后依然存在,虽然影响都是 P99.99 以后的数 ...
- Flink 命令行提交参数
Flink 命令行提交参数: 1 参数必选 : -n,--container <arg> 分配多少个yarn容器 (=taskmanager的数量) 2 参数可选 : -D <arg ...
- 在分片集群中追踪MongoDB的操作日志
2019独角兽企业重金招聘Python工程师标准>>> 介绍 可追踪游标,特别是追踪MongoDB的操作日志是MongoDB中拥有多种用途.非常受欢迎的特色,例如向数据库发送一个有关 ...
最新文章
- 路印协议受邀参加澳洲新南威尔士政府孵化器Haymarket HQ分享论坛
- POJ 3259 Wormholes(负权环路)
- win防火墙禁止访问php文件,windows通过netsh设置防火墙
- Array Stabilization
- Android Studio之debug调试卡在waiting for debugger界面的解决办法
- day69 Django--Form组件
- 【重难点】【Java集合 03】ArrayList、LinkedList、 Vector 和 Stack 的区别、CopyOnWriteArrayList
- java左右连接sql写法,join用不了了 sql语句写法,不用join
- android 插件化 androdpluginmgr 扩展开发问题
- 【细胞分割】基于matlab GUI阈值+边缘+形态学+种子点+主动轮廓图像分割【含Matlab源码 1477期】
- cass打开dwg文件无效_CAD文件打开时图形文件显示无效怎么办
- Photoshop栅格化图层到底什么意思,什么时候该用栅格化涂层
- mysql中临时字段_MySQL临时表
- C#修改MAC地址类及操作网卡类
- Launch文件编写
- 基于STC89C51单片机,CH340芯片的下载电路
- Mac OS X常用软件介绍
- 一台服务器控制上百个抖音账号,怎么批量管理上百个抖音,抖音mcn一键高效运营软件...
- word计算机二级视频教程,计算机二级Office入门及上机实践视频教程之Word篇
- 基于区块链的价值交易和管理系统
热门文章
- Python将JSON格式数据转换为SQL语句以便导入MySQL数据库
- urlrewrite伪静态 及多参数传递-附正则表达式语法 [轉]
- 设置NTFS文件访问权限
- (二)面试前的准备【要知己知彼,不打无准备之仗】
- (十三)真题模拟【告诉你答案是什么】
- Towxml 3.0来了,让小程序完美支持Markdown
- 计算机辅助设计A卷,《计算机辅助设计》考试试卷A.doc
- 学习响应式BootStrap来写融职教育网站,Bootsrtap第十二天侧边卡片和列表组
- Java WebService 接口的简单生成和调用
- 分享两个JavaScript打乱数组顺序实现随机排序洗牌的方法(应用于音乐视频的随机播放等)