Flink部署问题之条件筛选失败如何解决

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: Apache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。本合集提供有关Apache Flink相关技术、使用技巧和最佳实践的资源。

问题一:yarn部署模式kerberos问题

最近使用flink-1.11.1在通过per-job方式提交任务到yarn队列的时候,碰到了kerberos权限认证问题。

具体描述:在客户端通过Kerberos权限认证指定用户,提交flink任务到yarn队列,正常提交,但是当任务被yarn分配到指定节点进行执行时,根据报错信息来看,是因为需要操作hdfs(创建检查点目录和保存点目录,因为我使用FileSystem StateBackend)而并没有获得操作hdfs的权限,被kerberos常规的拦截了。

所以我通过查找社区邮件了解到,使用-yD参数可以避免这个问题,但是理论上来说在客户端通过认证并成功提交到yarn之后,无论是任务提交节点还是任务执行节点,权限都应该互通吗?

这里的-yD security.kerberos.login.principal=xxx -yD security.kerberos.login.keytab=xxx是纯粹为了解决这类问题而使用的吗?帮忙解惑~*来自志愿者整理的flink邮件归档



参考答案:

请问描述中的"在客户端通过Kerberos权限认证指定用户"指的具体是什么操作?

-yD security.kerberos.login.principal=xxx -yD security.kerberos.login.keytab=xxx

这两个参数的作用是在Flink中enable

HadoopModule,这个Module利用UserGroupInformation来处理Kerberos认证。同时在Yarn部署中,会帮你把这个Keytab上传到yarn中的container里。

可以参照社区文档再看一下[1]

[1] https://ci.apache.org/projects/flink/flink-docs-master/ops/security-kerberos.html*来自志愿者整理的flink邮件归档



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/371636?spm=a2c6h.13066369.question.92.6ad26382J06FAq



问题二:Flink中是否可动态Task调度

我目前学习到的情况是,Flink在初次运行Job时,会先申请所有需要的Slot,确定每一个Task都在哪个TM的哪个Slot中,然后再执行整个任务。 那么在执行阶段,能否动态调节某一组Task/SubTask从一个slot转移到另一个空闲的slot(甚至从一个TM转移到另一个TM这种跨TM)?

例如算子并发度3、两个TM、每个TM有3个slot的情况下,资源预申请时可能3个subTask都被放置在TM 1的3个slot中。 那么在运行时,能否动态调节其中一个subTask到TM 2的1个slot中?*来自志愿者整理的flink邮件归档



参考答案:

Flink 不支持执行中更改 slot 的情况。不确定你说的“预申请”是什么意思。

如果是你举例的这种情况,可以配置 cluster.evenly-spread-out-slots: true[1] 来促使 slot 在 TM

上尽量均匀分布。*来自志愿者整理的flink邮件归档



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/371635?spm=a2c6h.13066369.question.93.6ad2638297rTAv



问题三:flink 1.11.2 keyby 更换partition

请问可以更改keyby的hash partition 不? 现在发现这个hash partition不能均匀的分配key。

KeyGroupRangeAssignment.assignKeyToParallelOperator(stringToMd5(asset_id),

128, parallesism)

用这个方法测试,即使个asset_id 转换为MD5都不能均匀分配。

相反,用最最简单的 Math.abs(asset_id.hashcode() % parallesism ) 就可以平均的分配key。

*来自志愿者整理的flink邮件归档



参考答案:

不太明白你这里问题,如果是说按照 Md5 进行 keyby 不均匀,直接用 hashcode keyby 会更均匀的话,是不是直接把计算

md5 的逻辑改成计算 hashcode 的逻辑就行了*来自志愿者整理的flink邮件归档



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/371634?spm=a2c6h.13066369.question.94.6ad26382wrMCWw



问题四:pyflink的where该如何使用?如何筛选?

我想要在输出表中进行条件筛选,使用了where语句,结果不行

我的代码如下:

处理流程

t_env.from_path('mySource') \

   .select("pickup_datetime, dropoff_datetime, pickup_longitude, pickup_latitude, dropoff_longitude, dropoff_latitude, distance_meters(pickup_longitude, pickup_latitude) as O, distance_meters(dropoff_longitude, dropoff_latitude) as D, compute_duration_time(pickup_datetime, dropoff_datetime) as duration") \

   .where("duration >= 120 && duration <= 3600") \

   .select("pickup_datetime, dropoff_datetime, pickup_longitude, pickup_latitude, dropoff_longitude, dropoff_latitude, O, D, is_same_od(O, D) as same_od, duration") \

   .where("same_od == 0") \

   .select("pickup_datetime, dropoff_datetime, pickup_longitude, pickup_latitude, dropoff_longitude, dropoff_latitude, O, D, duration") \

   .insert_into('mySink')

请问我这样使用where为什么不行呢?我应该如何去筛选出想要的结果呢?

(尝试了去掉where是可以正常运行的)*来自志愿者整理的flink邮件归档



参考答案:

你说的不行,指的是运行报错了 (如果报错了,可以贴下错误的日志), 还是出来的结果不符合预期(是不生效,还是啥的)。 *来自志愿者整理的flink邮件归档



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/371632?spm=a2c6h.13066369.question.97.6ad26382FEyFHp



问题五:Flink 1.11 submit job timed out

使用版本Flink 1.11,部署方式 kubernetes session。 TM个数30个,每个TM 4个slot。 job 并行度120.提交作业的时候出现大量的No hostname could be resolved for the IP address,JM time out,作业提交失败。web ui也会卡主无响应。

用wordCount,并行度只有1提交也会刷,no hostname的日志会刷个几条,然后正常提交,如果并行度一上去,就会超时。

部分日志如下:

2020-07-15 16:58:46,460 WARN org.apache.flink.runtime.taskmanager.TaskManagerLocation [] - No hostname could be resolved for the IP address 10.32.160.7, using IP address as host name. Local input split assignment (such as for HDFS files) may be impacted. 2020-07-15 16:58:46,460 WARN org.apache.flink.runtime.taskmanager.TaskManagerLocation [] - No hostname could be resolved for the IP address 10.44.224.7, using IP address as host name. Local input split assignment (such as for HDFS files) may be impacted. 2020-07-15 16:58:46,461 WARN org.apache.flink.runtime.taskmanager.TaskManagerLocation [] - No hostname could be resolved for the IP address 10.40.32.9, using IP address as host name. Local input split assignment (such as for HDFS files) may be impacted.

2020-07-15 16:59:10,236 INFO org.apache.flink.runtime.resourcemanager.StandaloneResourceManager [] - The heartbeat of JobManager with id 69a0d460de468888a9f41c770d963c0a timed out. 2020-07-15 16:59:10,236 INFO org.apache.flink.runtime.resourcemanager.StandaloneResourceManager [] - Disconnect job manager 00000000000000000000000000000000@akka.tcp://flink@flink-jobmanager:6123/user/rpc/jobmanager_2 for job e1554c737e37ed79688a15c746b6e9ef from the resource manager.

how to deal with ?*来自志愿者整理的flink邮件归档



参考答案:

个人之前有遇到过 类似 的host解析问题,可以从k8s的pod节点网络映射角度排查一下。 希望这对你有帮助。*来自志愿者整理的flink邮件归档



关于本问题的更多回答可点击进行查看:


相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
相关文章
|
3月前
|
Kubernetes Cloud Native 流计算
Flink-12 Flink Java 3分钟上手 Kubernetes云原生下的Flink集群 Rancher Stateful Set yaml详细 扩容缩容部署 Docker容器编排
Flink-12 Flink Java 3分钟上手 Kubernetes云原生下的Flink集群 Rancher Stateful Set yaml详细 扩容缩容部署 Docker容器编排
99 3
|
3月前
|
资源调度 分布式计算 大数据
大数据-111 Flink 安装部署 YARN部署模式 FlinkYARN模式申请资源、提交任务
大数据-111 Flink 安装部署 YARN部署模式 FlinkYARN模式申请资源、提交任务
131 0
|
5月前
|
机器学习/深度学习 人工智能 运维
美团 Flink 大作业部署问题之Flink在生态技术演进上有什么主要方向
美团 Flink 大作业部署问题之Flink在生态技术演进上有什么主要方向
|
5月前
|
监控 Serverless Apache
美团 Flink 大作业部署问题之如何体现Flink在业界的影响力
美团 Flink 大作业部署问题之如何体现Flink在业界的影响力
|
5月前
|
监控 Serverless 数据库
美团 Flink 大作业部署问题之端云联调并将流量恢复到云端实例如何结束
美团 Flink 大作业部署问题之端云联调并将流量恢复到云端实例如何结束
|
5月前
|
监控 Java Serverless
美团 Flink 大作业部署问题之想在Serverless平台上实时查看Spring Boot应用的日志要怎么操作
美团 Flink 大作业部署问题之想在Serverless平台上实时查看Spring Boot应用的日志要怎么操作
|
5月前
|
Java 流计算
美团 Flink 大作业部署问题之files-to-delete 的执行为什么能够异步进行呢
美团 Flink 大作业部署问题之files-to-delete 的执行为什么能够异步进行呢
|
5月前
|
缓存 流计算
美团 Flink 大作业部署问题之根据已存在的 Checkpoint 副本进行增量的副本制作如何实现
美团 Flink 大作业部署问题之根据已存在的 Checkpoint 副本进行增量的副本制作如何实现
|
5月前
|
分布式计算 流计算
美团 Flink 大作业部署问题之Checkpoint Replicate Service 跨 HDFS 集群的副本制作是如何实现的
美团 Flink 大作业部署问题之Checkpoint Replicate Service 跨 HDFS 集群的副本制作是如何实现的
|
5月前
|
流计算
美团 Flink 大作业部署问题之新启动作业的 Checkpoint 跨作业文件引用的问题要如何避免
美团 Flink 大作业部署问题之新启动作业的 Checkpoint 跨作业文件引用的问题要如何避免

相关产品

  • 实时计算 Flink版