Hadoop AmazonEMR:在本地文件系统上运行的配置
我目前正在尝试在本地文件系统上运行EMR作业。对于EMR,本地文件系统位于创建EMR作业的EC2实例上。我点击了这个链接: 配置似乎非常简单,将core-site.xml中的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运行顺畅。) 我通过在创建作业流时添加引导操作
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及其用法的帖子