Amazon EMR:在本地文件系统上运行的配置

时间:2014-06-24 17:05:35

标签: hadoop emr amazon-emr

我目前正在尝试在本地文件系统上运行EMR作业。对于EMR,本地文件系统位于创建EMR作业的EC2实例上。我点了这个链接:Is it possible to run Hadoop in Pseudo-Distributed operation without HDFS?

配置看起来很简单,将core-site.xml中的fs.default.name设置为file:///。然后Hadoop将在本地文件系统而不是HDFS上运行。

(我首先在我的本地计算机上使用Hadoop尝试了这个配置(Redhat)。将fs.default.name设置为file:///不起作用,但file://home/<username>/使hadoop顺利运行。)

我通过在创建作业流时添加引导操作来更改此值。

./elastic-mapreduce --create --alive --subnet <subnet-id> --instance-type c3.2xlarge --bootstrap-action s3://elasticmapreduce/bootstrap-actions/configure-hadoop --args "-c,fs.default.name=file:///"

遵循此EMR文档:Create Bootstrap Actions

引导操作总是成功,日志说它总是在core-site.xml中成功更改此值。

但是,在这个引导动作之后,hadoop总是无法启动,这给了我这个错误: java.lang.IllegalArgumentException:不包含有效的host:port authority:file:///

我也试过fs.default.name=file://home/hadoop/: java.net.UnknownHostException:server:home

的主机名无效

或者,fs.default.name=file:///home/hadoop/: java.lang.IllegalArgumentException异常

或者,fs.default.name=file://127.0.0.1/home/hadoop/: namenode日志文件甚至没有给出错误消息。它没有SHUT_DOWN消息作为其他错误。它突然终止了。

EMR hadoop是否在本地文件系统上工作?你如何配置它呢?

1 个答案:

答案 0 :(得分:1)

我认为关键点是在本地文件系统上运行Hadoop在单节点集群上运行良好,而 EMR是完全分布式Hadoop集群。请查看有关fs.default.name及其用法的this帖子。