如何解决Cloud Data Fusion - 缺少现有的 Dataproc 选项
根据 documentation,可以选择使用 6.2 及更高版本的现有 Dataproc 集群。
我们使用 Cloud Data Fusion 6.2.0,但是当我们尝试创建新的计算配置文件时,现有的 Dataproc 不会出现。
我们做错了什么?为什么描述的选项不显示?我们需要做一些额外的配置吗?
更新 1
当我选择 Dataproc 时,我看到以下内容:
更新 2
当我们尝试使用 Remote Hadoop Provisioner 时,我们在 /logs/program.log 文件中收到以下错误消息。 SSH 连接成功,因为 run-id 文件夹在那里。
2021-06-15 09:40:37,617 - ERROR [main:o.a.z.s.NIOServerCnxnFactory@44] - Thread Thread[main,5,main] died
java.lang.reflect.InvocationTargetException: null
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_282]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_282]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_282]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_282]
at io.cdap.cdap.internal.app.runtime.distributed.remote.RemoteLauncher.main(RemoteLauncher.java:73) ~[launcher.jar:na]
Caused by: java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)V
at org.apache.hadoop.conf.Configuration.set(Configuration.java:1357) ~[hadoop-common-3.2.2.jar:na]
at org.apache.hadoop.conf.Configuration.set(Configuration.java:1338) ~[hadoop-common-3.2.2.jar:na]
at io.cdap.cdap.common.conf.CConfigurationUtil.copyTxProperties(CConfigurationUtil.java:100) ~[na:na]
at io.cdap.cdap.common.guice.ConfigModule.<init>(ConfigModule.java:62) ~[na:na]
at io.cdap.cdap.common.guice.ConfigModule.<init>(ConfigModule.java:49) ~[na:na]
at io.cdap.cdap.internal.app.runtime.distributed.remote.RemoteExecutionJobMain.initialize(RemoteExecutionJobMain.java:117) ~[na:na]
at io.cdap.cdap.internal.app.runtime.distributed.remote.RemoteExecutionJobMain.doMain(RemoteExecutionJobMain.java:98) ~[na:na]
at io.cdap.cdap.internal.app.runtime.distributed.remote.RemoteExecutionJobMain.main(RemoteExecutionJobMain.java:73) ~[na:na]
... 5 common frames omitted
解决方法
对于 6.2.0,“Remote Hadoop Provisioner”是用于现有 dataproc 集群的正确选项。您遇到的卡住问题是由 API 激活未能为特定于 Dataproc 的服务帐户分配必要角色的罕见情况引起的。只需在您的项目中授予以下服务帐号“Dataproc 服务代理”角色即可解决此问题:
service-${项目编号}@dataproc-accounts.iam.gserviceaccount.com
,我无法准确地重现该场景,因为在从头开始创建 CDF 实例时,我能够选择 Cloud Data Fusion 6.2.3 作为类似的更接近版本。
我可以确认,在 6.2.3 版中,您可以选择现有 Dataproc 集群。因此,我建议您至少升级到该版本。请按照此 docs 以安全的方式进行操作。
作为替代,有一种方法可以配置 Cloud Data Fusion 管道以针对现有集群 here 运行。此功能仅适用于 Cloud Data Fusion 企业版。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。