S3 NoSuchKey错误访问Apache Ambari 2.5.1的yum存储库

时间:2017-07-19 03:44:51

标签: amazon-s3 centos yum ambari

我在CentOS 6.9中构建并安装了Apache Ambari 2.5.1。 (按Installation Guide for Ambari 2.5.1)。

我在启动“ambari-server”和“ambari-agent”后打开了Ambari UI。默认的Apache Ambari 2.5.1公共存储库是“http://s3.amazonaws.com/dev.hortonworks.com/HDP/centos6/2.x/BUILDS/2.6.3.0-63”和“http://s3.amazonaws.com/dev.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos6”。我打开浏览器并输入url,浏览器显示指定的密钥不存在。所以我认为Apache Ambari 2.5.1 Public Repository不存在。

<Error>
  <Code>NoSuchKey</Code>
  <Message>The specified key does not exist.   </Message>
  <Key>HDP/centos6/2.x/BUILDS/2.6.3.0-63</Key>       
  <RequestId>81EA7B258C7ACDB4</RequestId>
  <HostId>
    3DEhVcTN7/LxCsa8doX8LNm1ltXGEvUI/5o4hOtKAooNU9iC58NeT8SwJPdE2ZbvXEGb4Hk7mIc=
  </HostId>
</Error>

你能帮我解决这个问题吗?谢谢!

1 个答案:

答案 0 :(得分:0)

这些实际上是有效的yum存储库。可以通过HTTP提供yum repo。 Ambari使用AWS S3存储桶作为通过HTTP提供文件作为yum repo的便捷方式。

当您导航到URL时,您无法在浏览器中轻松查看任何内容的原因是S3不会像提供静态内容的传统Web服务器那样真正维护目录层次结构中的文件。相反,它提供了键到对象的映射,应用程序通常使用尾随/的约定来模拟目录。

即使您问题中的网址没有向浏览器提供有意义的内容,我们也可以使用AWS Command Line Interface来检查存储分区。 (为简洁起见,修剪了以下输出。)

> aws s3 ls s3://dev.hortonworks.com/HDP/centos6/2.x/BUILDS/2.6.3.0-63/
                           PRE RPM-GPG-KEY/
                           PRE accumulo/
                           PRE atlas/
                           ...
                           PRE hadoop/
                           ...
                           PRE hive/
                           PRE hive2/
                           ...
2017-07-17 18:03:01       2630 HDP-2.6.3.0-63.xml
2017-07-17 18:03:01      20366 artifacts.txt
2017-07-17 18:03:01        542 build.id
2017-07-17 18:03:01       8473 build_metadata.txt
2017-07-17 18:03:01        908 hdp-canary.repo
2017-07-17 18:03:01        602 hdp.repo
2017-07-17 18:03:01        578 hdp_private.repo
2017-07-17 18:03:01        574 hdp_public.repo
2017-07-17 18:03:01        612 hdpbn.repo
2017-07-17 18:03:09        497 hotfix_index.html
2017-07-17 18:03:06        502 index.html
2017-07-17 18:03:08        494 private_index.html
2017-07-17 18:03:07        493 public_index.html

我们可以看到Apache Hadoop生态系统中有各种组件子目录。我们还可以看到index.html文件的存在,因此该URL适用于浏览器:

http://s3.amazonaws.com/dev.hortonworks.com/HDP/centos6/2.x/BUILDS/2.6.3.0-63/index.html

我们还看到.repo文件,它将其定义为有效的yum repo:

> curl http://s3.amazonaws.com/dev.hortonworks.com/HDP/centos6/2.x/BUILDS/2.6.3.0-63/hdp.repo
#VERSION_NUMBER=2.6.3.0-63
[HDP-2.6.3.0]
name=HDP Version - HDP-2.6.3.0
baseurl=http://s3.amazonaws.com/dev.hortonworks.com/HDP/centos6/2.x/updates/2.6.3.0
gpgcheck=1
gpgkey=http://s3.amazonaws.com/dev.hortonworks.com/HDP/centos6/2.x/updates/2.6.3.0/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1


[HDP-UTILS-1.1.0.21]
name=HDP-UTILS Version - HDP-UTILS-1.1.0.21
baseurl=http://s3.amazonaws.com/dev.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos6
gpgcheck=1
gpgkey=http://s3.amazonaws.com/dev.hortonworks.com/HDP/centos6/2.x/updates/2.6.3.0/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1