如何将Hadoop MapReduce与HDFS分离?
我很好奇,您是否可以从本质上将HDFS文件系统与MapReduce框架分开。我知道Hadoop的要点是在有问题的数据的机器上运行maps和reduces,但我想知道您是否可以更改*.xml文件来更改jobtracker、namenode和datanodes在哪台机器上运行的配置 目前,我的配置是2个VM设置:一个(主)带有Namenode、Datanode、JobTracker、Tasktracker(和SecondaryNameNode),另一个(从)带有Datanode、Tasktracker。本质上,我想改变的是让主节点带有NameNode DataNode、JobTracker,让从节点只有TaskTracker来执行计算(稍后,让更多的从节点上只有TaskTracker;每个从节点上有一个)。瓶颈将是两个虚拟机之间的数据传输,用于地图和缩略的计算,但由于此阶段的数据太小,我不主要关心它。我只是想知道这种配置是否可行,以及如何实现。有什么建议吗如何将Hadoop MapReduce与HDFS分离?,hadoop,hdfs,Hadoop,Hdfs,我很好奇,您是否可以从本质上将HDFS文件系统与MapReduce框架分开。我知道Hadoop的要点是在有问题的数据的机器上运行maps和reduces,但我想知道您是否可以更改*.xml文件来更改jobtracker、namenode和datanodes在哪台机器上运行的配置 目前,我的配置是2个VM设置:一个(主)带有Namenode、Datanode、JobTracker、Tasktracker(和SecondaryNameNode),另一个(从)带有Datanode、Tasktracke
谢谢 在配置文件中不指定此类选项。 你要做的是注意在每台机器上启动什么样的deamons(你称它们为VM,但我认为你指的是机器) 我想您通常使用start-all.sh脚本启动一切,您可以在hadoop安装目录下的bin目录中找到该脚本 如果您看一下这个脚本,您将看到它所做的是调用与启动datanodes、TaskTracker和namenode、jobtracker相对应的许多子脚本 为了实现你所说的,我想这样做:
我必须告诉你,我从来没有尝试过这样的配置,所以我不确定这是否可行,但你可以试试。无论如何,解决办法就是朝这个方向 在配置文件中不指定此类选项。 你要做的是注意在每台机器上启动什么样的deamons(你称它们为VM,但我认为你指的是机器) 我想您通常使用start-all.sh脚本启动一切,您可以在hadoop安装目录下的bin目录中找到该脚本 如果您看一下这个脚本,您将看到它所做的是调用与启动datanodes、TaskTracker和namenode、jobtracker相对应的许多子脚本 为了实现你所说的,我想这样做:
dfs.hosts
,dfs.hosts.exclude
参数控制哪些datanodes可以连接到namenode,使用mapreduce.jobtracker.hosts.filename
,mapreduce.jobtracker.hosts.exclude.filename
参数控制哪些TaskTracker可以连接到jobtracker。这种方法的一个缺点是datanodes和TaskTracker是在被排除的节点上启动的,这些节点不是Hadoop集群的一部分
另一种方法是修改代码,使tasktracker和datanode有一个单独的从属文件。目前,Hadoop不支持这一点,需要更改代码
本质上,我想改变的是让主节点带有NameNode DataNode、JobTracker,让从节点只有TaskTracker来执行计算(稍后,让更多的从节点上只有TaskTracker;每个从节点上有一个)
首先,我不知道为什么要将计算与存储分开。本地先生的全部目的都失去了,以为你可以成功地执行任务
使用dfs.hosts
,dfs.hosts.exclude
参数控制哪些datanodes可以连接到namenode,使用mapreduce.jobtracker.hosts.filename
,mapreduce.jobtracker.hosts.exclude.filename
参数控制哪些TaskTracker可以连接到jobtracker。这种方法的一个缺点是datanodes和TaskTracker是在被排除的节点上启动的,这些节点不是Hadoop集群的一部分
另一种方法是修改代码,使tasktracker和datanode有一个单独的从属文件。目前,Hadoop不支持这一点,需要更改代码。这可能可行,但要停止群集,必须再次更改主/从文件。这可能可行,但是为了停止集群,必须再次更改主/从文件。要回答为什么有人要将MR与HDFS分开的问题,可能需要插入一个不同的DFS来代替HDFS。我们用MR+