Hadoop AmazonEMR:在本地文件系统上运行的配置

Hadoop AmazonEMR:在本地文件系统上运行的配置,hadoop,emr,amazon-emr,Hadoop,Emr,Amazon Emr,我目前正在尝试在本地文件系统上运行EMR作业。对于EMR,本地文件系统位于创建EMR作业的EC2实例上。我点击了这个链接: 配置似乎非常简单,将core-site.xml中的fs.default.name设置为文件://。然后Hadoop将在本地文件系统而不是HDFS上运行 (我第一次在我的本地机器(Redhat)上用Hadoop尝试了这个配置。当设置fs.default.name到file://不起作用,但是file://home//使hadoop运行顺畅。) 我通过在创建作业流时添加引导操作

我目前正在尝试在本地文件系统上运行EMR作业。对于EMR,本地文件系统位于创建EMR作业的EC2实例上。我点击了这个链接:

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

(我第一次在我的本地机器(Redhat)上用Hadoop尝试了这个配置。当设置
fs.default.name
file://
不起作用,但是
file://home//
使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:///"
/elasticmapreduce--create--alive--subnet--instance type c3.2xlarge--bootstrap action s3://elasticmapreduce/bootstrap actions/configure hadoop--args“-c,fs.default.name=file://”
遵循本EMR文件:

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

但是hadoop总是无法在引导操作之后启动,这给了我一个错误: java.lang.IllegalArgumentException:不包含有效的主机:端口授权:文件:///

我还尝试了
fs.default.name=file://home/hadoop/
: java.net.UnknownHostException:服务器的主机名无效:home

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

或者,
fs.default.name=file://127.0.0.1/home/hadoop/
: namenode日志文件甚至没有给出错误消息。与其他错误一样,它没有关闭消息。它只是突然终止


EMR hadoop在本地文件系统上工作吗?您是如何配置它的?

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