用于对象存储的HDFS连接器:不包含有效的host:端口权限

时间:2018-05-28 05:26:02

标签: hdfs distcp oracle-cloud-infrastructure

我为对象存储配置了HDFS Connector,如下所述:https://docs.us-phoenix-1.oraclecloud.com/Content/API/SDKDocs/hdfsconnector.htm#troubleshooting

当我使用以下命令运行distcp时:

hadoop distcp -libjars /usr/lib/oci/oci-hdfs-full-2.7.2.0.jar hdfs://<namenode>:8020/some/folder/in/hdfs oci://bucket@namespace

我收到错误:

  

tools.DistCp:遇到异常   java.lang.IllegalArgumentException:不包含有效的host:port   authority:bucket @ namespace

由于它在不同的群集上工作,我认为它必须是配置问题,但我找不到原因。

有关于如何解决这个问题的建议吗?

1 个答案:

答案 0 :(得分:2)

出于好奇,您是否真正使用了oci://bucket@namespace文本? bucketnamespace应该是占位符。

如果您登录OCI控制台(例如https://console.us-phoenix-1.oraclecloud.com),则可以找到两者,转到存储 - &gt;对象存储,然后单击存储桶名称(或者,如果您没有存储桶,请创建一个存储桶名称。)

在存储桶详细信息页面上,您可以找到存储桶名称(大字体)和命名空间名称。

OCI Bucket Details Screenshot]

在此屏幕截图中,例如,存储桶名称为“MyTestBucket”,命名空间名称为“mynamespace”。

因此,OCI网址应为:oci://MyTestBucket@mynamespace

hadoop distcp -libjars /usr/lib/oci/oci-hdfs-full-2.7.2.0.jar hdfs://<namenode>:8020/some/folder/in/hdfs oci://MyTestBucket@mynamespace

如果我误解了你的问题,请原谅我。