apache-flink - Beam jar 无法在远程 flink 集群上运行
问题描述
使用 beam 2.6 和 Flink 1.5.3 运行测试。梁运行本地 flink runner 没有问题。但无法在 flink 集群上运行。尝试 mvn 和 flink 提交作业。当使用 mvn 运行时,我使用了:
mvn clean package -Pflink-runner exec:java -Dexec.mainClass=org.apache.beam.examples.WordCount -Dexec.args="--runner=FlinkRunner --flinkMaster=c2:6123 --filesToStage=target/word-count-beam-bundled-0.1.jar"
这导致请求 blob 服务器端口上的问题阻塞,并且无法继续
2018 年 9 月 21 日上午 11:47:38 org.apache.zookeeper.ClientCnxn$SendThread logStartConnect 信息:打开与服务器 192.168.0.12/192.168.0.12:2181 的套接字连接。不会尝试使用 SASL 进行身份验证(未知错误)2018 年 9 月 21 日上午 11:47:38 org.apache.zookeeper.ClientCnxn$SendThread primeConnection 信息:已建立到 192.168.0.12/192.168.0.12:2181 的套接字连接,正在启动会话 Sep 2018 年 2 月 21 日上午 11:47:38 org.apache.zookeeper.ClientCnxn$SendThread onConnected INFO:服务器 192.168.0.12/192.168.0.12:2181 上的会话建立完成,sessionid = 0x165adfcdcd9104b,协商超时 = 90000 2018-09-21 11 :47:38 INFO ConnectionManager$HConnectionImplementation:2155 - 关闭主协议:MasterService 2018-09-21 11:47:38 INFO ConnectionManager$HConnectionImplementation:1712 - 关闭 zookeeper sessionid=0x165adfcdcd9104b Sep 21, 2018 年上午 11:47:38 org.apache.zookeeper.ClientCnxn$EventThread 运行信息:EventThread 关闭 2018 年 9 月 21 日上午 11:47:38 org.apache.zookeeper.ZooKeeper 关闭信息:会话:0x165adfcdcd9104b 于 2018 年 9 月 21 日关闭上午 11:47:39 org.apache.flink.client.program.rest.RestClusterClient submitJob INFO:提交作业 aa366f2bd4bff3ddab47c1a890c84256(分离:假)。2018 年 9 月 21 日上午 11:47:39 org.apache.flink.client.program.rest.RestClusterClient submitJob 信息: 请求 blob 服务器端口。
当使用 flink 直接提交作业时,使用:
$FLINK_HOME/bin/flink run -c org.apache.beam.examples.WordCount target/test-beam-bundled-0.1.jar --runner=FlinkRunner --flinkMaster=c2:6123 --filesToStage=target/word-count-beam-bundled-0.1.jar
它抛出以下异常:
该程序完成,但出现以下异常:
在预定义的上下文(例如命令行客户端、Scala Shell 或 TestEnvironment)中运行时,无法实例化 RemoteEnvironment org.apache.flink.api.java.RemoteEnvironment.(RemoteEnvironment.java:126) org.apache.flink .api.java.RemoteEnvironment.(RemoteEnvironment.java:86) org.apache.flink.api.java.ExecutionEnvironment.createRemoteEnvironment(ExecutionEnvironment.java:1168) org.apache.beam.runners.flink.FlinkExecutionEnvironment.createBatchExecutionEnvironment(FlinkExecutionEnvironments. java:58) org.apache.beam.runners.flink.FlinkPipelineExecutionEnvironment.translate(FlinkPipelineExecutionEnvironment.java:93) org.apache.beam.runners.flink.FlinkRunner.run(FlinkRunner.java:110) org.apache.beam。 sdk.Pipeline.run(Pipeline.java:313) org.apache.beam.sdk.Pipeline.run(Pipeline.java:299)
任何想法?
解决方案
我发现这是梁版本问题。Beam java sdk 仅适用于 Flink 1.5.1。Flink 1.5.2+ 有一个变化,就是 Blob 上传方式发生了变化。Beam 无法通过 Flink blob rest api 加载 jar。
推荐阅读
- c - 外部 DVD createProcess 返回 998
- javascript - 加号和减号按钮 (Javascript)
- powershell - 带有配置脚本的 PowerShell
- java - istio 错误:详细信息:java.io.IOException: Unknown apiVersionKind
- python - 将文件从远程主机上的 jupyter notebook 写入本地主机
- swift - 样式视图传递给 SwiftUI 中的自定义视图
- python - 当一列中有多行重复值时选择第一行
- sql - 有没有办法通过SQL或PL/SQL根据Oracle中的常用表名一次查询多个表
- mongodb - 如何更新数组中匹配条件的特定对象
- angular - 来自 Realtime Firebase 的数据显示在控制台中,但不在 html 页面中