Hadoop-“代码移动到数据附近进行计算”

Hadoop-“代码移动到数据附近进行计算”,hadoop,mapreduce,Hadoop,Mapreduce,我只想澄清一下,这个引号代码靠近数据进行计算 这是否意味着开发人员编写的所有java MR都部署到集群中的所有服务器上 如果1为真,如果有人更改了MR程序,它是如何分发到所有服务器的 谢谢 Hadoop将job先生的jar放在了HDFS上——它的分布式文件系统。需要它的任务跟踪器将从那里获取它。因此,它被分发到一些节点,然后由实际需要它们的节点按需加载。通常,这意味着节点将处理本地数据。 Hadoop集群相对于作业而言是无状态的。每次作业都被视为新的作业,并且不会使用以前作业的副作用。 事实上,

我只想澄清一下,这个引号代码靠近数据进行计算

这是否意味着开发人员编写的所有java MR都部署到集群中的所有服务器上

如果1为真,如果有人更改了MR程序,它是如何分发到所有服务器的

谢谢

Hadoop将job先生的jar放在了HDFS上——它的分布式文件系统。需要它的任务跟踪器将从那里获取它。因此,它被分发到一些节点,然后由实际需要它们的节点按需加载。通常,这意味着节点将处理本地数据。 Hadoop集群相对于作业而言是无状态的。每次作业都被视为新的作业,并且不会使用以前作业的副作用。 事实上,当在大型集群上处理少量文件或拆分时,优化只向数据确实驻留的少数主机发送jar可能会在一定程度上减少作业延迟。我不知道这样的优化是否有计划

Hadoop将job先生的jar放在了HDFS上——它的分布式文件系统。需要它的任务跟踪器将从那里获取它。因此,它被分发到一些节点,然后由实际需要它们的节点按需加载。通常,这意味着节点将处理本地数据。 Hadoop集群相对于作业而言是无状态的。每次作业都被视为新的作业,并且不会使用以前作业的副作用。
事实上,当在大型集群上处理少量文件或拆分时,优化只向数据确实驻留的少数主机发送jar可能会在一定程度上减少作业延迟。我不知道这样的优化是否有计划

在hadoop集群中,数据和计算使用相同的节点。这意味着您的hdfs数据节点设置在任务跟踪器用于计算的同一集群上。所以现在,当你执行MR jobs时,job tracker会查看你的数据存储在哪里。而在其他计算模型中,数据不存储在同一集群中,在某些计算节点上进行计算时,可能需要移动数据

启动作业后,所有映射函数都将对输入文件进行拆分。执行这些映射功能,使输入文件的拆分更接近它们,或者换句话说,在同一机架中。这就是我们所说的计算更接近数据的意思


为了澄清您的问题,每次运行MR作业时,其代码都会复制到所有节点。因此,如果我们更改了一个代码,就会将一个新代码复制到所有节点

在hadoop集群中,数据和计算使用相同的节点。这意味着您的hdfs数据节点设置在任务跟踪器用于计算的同一集群上。所以现在,当你执行MR jobs时,job tracker会查看你的数据存储在哪里。而在其他计算模型中,数据不存储在同一集群中,在某些计算节点上进行计算时,可能需要移动数据

启动作业后,所有映射函数都将对输入文件进行拆分。执行这些映射功能,使输入文件的拆分更接近它们,或者换句话说,在同一机架中。这就是我们所说的计算更接近数据的意思


为了澄清您的问题,每次运行MR作业时,其代码都会复制到所有节点。因此,如果我们更改了一个代码,就会将一个新代码复制到所有节点

谢谢你的澄清!,你们知道关于如何动态下载jar并在远程服务器上执行的文章吗?这听起来很有趣。Hadoop自动负责将JAR分发到所有计算节点。查看Hadoop。感谢您的澄清!,你们知道关于如何动态下载jar并在远程服务器上执行的文章吗?这听起来很有趣。Hadoop自动负责将JAR分发到所有计算节点。看看Hadoop。有人能从设计的角度解释一下代码在数据附近移动的概念吗。如果没有hadoop的先验知识,这一点可以理解吗?有人能从设计的角度解释代码在数据附近移动的概念吗。在没有hadoop的先验知识的情况下,可以理解这一点吗?