【问题标题】:HDFS Connector for Object Storage: Does not contain a valid host:port authority对象存储的 HDFS 连接器:不包含有效的主机:端口权限
【发布时间】:2018-11-06 15:33:13
【问题描述】:

我为对象存储配置了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:不包含有效的主机:端口 权限:bucket@namespace

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

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

【问题讨论】:

    标签: hdfs distcp oracle-cloud-infrastructure


    【解决方案1】:

    出于好奇,你真的使用了oci://bucket@namespace这个文本吗? bucketnamespace 应该是占位符。

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

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

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

    因此,OCI URL 应该是: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

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

    【讨论】:

    • 感谢您的回答。显然,bucket@namespace 并不是我在系统上真正使用的。 bucket@namespace 之间的组合似乎根本不重要,因为我通过现有和不存在的连接得到相同的结果。
    • 我很抱歉。搜索错误消息时,我发现了两个关于下划线问题的引用。 - community.hortonworks.com/questions/181776/… - community.hortonworks.com/questions/96359/… 您的命名空间或存储桶名称是否包含下划线?
    • 你有来自异常的调用栈吗?
    • 命名空间或存储桶名称中没有下划线。我们可以很好地重现这个问题。它与 kerberized HDFS 有关。我们还在 Github 上打开了一个问题:github.com/oracle/oci-hdfs-connector/issues/4
    • 谢谢你,马蒂亚斯。 Github 上的 Sumit 正在尝试与您联系以测试修复。
    猜你喜欢
    • 2022-08-24
    • 2014-04-06
    • 1970-01-01
    • 1970-01-01
    • 2011-07-30
    • 2012-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多