gpt4 book ai didi

amazon-s3 - 我无法让 Hadoop 开始使用 Amazon EC2/S3

转载 作者:可可西里 更新时间:2023-11-01 15:01:46 25 4
gpt4 key购买 nike

我已经创建了一个 AMI 镜像并从 Cloudera CDH2 构建安装了 Hadoop。我这样配置了我的 core-site.xml:

<property>
<name>fs.default.name</name>
<value>s3://<BUCKET NAME>/</value>
</property>
<property>
<name>fs.s3.awsAccessKeyId</name>
<value><ACCESS ID></value>
</property>
<property>
<name>fs.s3.awsSecretAccessKey</name>
<value><SECRET KEY></value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/var/lib/hadoop-0.20/cache/${user.name}</value>
</property>

但是当我在 namenode 日志中启动 hadoop 守护进程时,我收到以下错误消息:

2010-11-03 23:45:21,680 ERROR org.apache.hadoop.hdfs.server.namenode.NameNode:      java.lang.IllegalArgumentException: Invalid URI for NameNode address (check     fs.default.name): s3://<BUCKET NAME>/ is not of scheme 'hdfs'.
at org.apache.hadoop.hdfs.server.namenode.NameNode.getAddress(NameNode.java:177)
at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:198)
at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:306)
at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1006)
at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1015)

2010-11-03 23:45:21,691 INFO org.apache.hadoop.hdfs.server.namenode.NameNode: SHUTDOWN_MSG:

但是,我可以像这样从命令行执行 hadoop 命令:

hadoop fs -put sun-javadb-common-10.5.3-0.2.i386.rpm s3://<BUCKET NAME>/

hadoop fs -ls s3://poc-jwt-ci/
Found 3 items
drwxrwxrwx - 0 1970-01-01 00:00 /
-rwxrwxrwx 1 16307 1970-01-01 00:00 /sun-javadb-common-10.5.3-0.2.i386.rpm
drwxrwxrwx - 0 1970-01-01 00:00 /var

你会注意到有一个 /和一个 /var桶中的文件夹。当我第一次看到这个错误时,我运行了 hadoop namenode -format,然后重新启动了所有服务,但仍然收到奇怪的 Invalid URI for NameNode address (check fs.default.name): s3://<BUCKET NAME>/ is not of scheme 'hdfs'.

我还注意到创建的文件系统如下所示:

 hadoop fs -ls s3://<BUCKET NAME>/var/lib/hadoop-0.20/cache/hadoop/mapred/system
Found 1 items
-rwxrwxrwx 1 4 1970-01-01 00:00 /var/lib/hadoop0.20/cache/hadoop/mapred/system/jobtracker.info

有什么想法吗?

最佳答案

首先,我建议您只使用 Amazon Elastic MapReduce。您需要零配置。 EMR 也有一些对您有利的内部优化和监控。

其次,不要使用 s3: 作为默认 FS。首先,s3 太慢,无法用于存储作业之间的中间数据(hadoop 中典型的工作单元是十几个到几十个 MR 作业)。它还以“专有”格式( block 等)存储数据。因此外部应用无法有效地接触 s3 中的数据。

请注意,EMR 中的 s3: 与标准 hadoop 发行版中的 s3: 不同。亚马逊人实际上将 s3: 别名为 s3n:(s3n: 只是原始/ native s3 访问)。

关于amazon-s3 - 我无法让 Hadoop 开始使用 Amazon EC2/S3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4092852/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com