在 spark 中使用 hdfs:// 和 yarn 的区别
Difference between using hdfs:// and yarn in spark
在spark中使用hdfs://和yarn在集群模式下保存和加载保存文件有什么区别?
从你的问题here看来,我猜你对HDFS和YARN的理解是不正确的。
YARN 是一个通用的作业调度框架,HDFS 是一个存储框架。
YARN in a nut shell 有一个 master(资源管理器)和 worker(节点管理器),
资源管理器在 worker 上创建容器以执行 MapReduce 作业、spark 作业等
另一方面,HDFS 有一个主节点(名称节点)和一个工作节点(数据节点)来保存和检索文件。
您不需要 YARN 与 HDFS 通信,它是一个独立的实体。
生产环境HDFS worker(Data node)和YARN worker(Node manager)安装在一台机器上,以便处理框架可以从最近的本地数据节点(Data Locality)消费数据。
在集群模式下在 YARN 集群上使用 spark 意味着 YARN 集群中的一个工作节点充当客户端来提交 spark 作业。
因此使用 hdfs:// 显然有利于 spark 作业,因为 spark 执行器将从最近的数据节点读取数据。
将从客户端机器上的 HADOOP_CONF_DIR 读取 YARN 和 HDFS 配置(可以是客户端模式下的本地机器和集群模式下的工作节点之一)。
在spark中使用hdfs://和yarn在集群模式下保存和加载保存文件有什么区别?
从你的问题here看来,我猜你对HDFS和YARN的理解是不正确的。
YARN 是一个通用的作业调度框架,HDFS 是一个存储框架。
YARN in a nut shell 有一个 master(资源管理器)和 worker(节点管理器),
资源管理器在 worker 上创建容器以执行 MapReduce 作业、spark 作业等
另一方面,HDFS 有一个主节点(名称节点)和一个工作节点(数据节点)来保存和检索文件。
您不需要 YARN 与 HDFS 通信,它是一个独立的实体。
生产环境HDFS worker(Data node)和YARN worker(Node manager)安装在一台机器上,以便处理框架可以从最近的本地数据节点(Data Locality)消费数据。
在集群模式下在 YARN 集群上使用 spark 意味着 YARN 集群中的一个工作节点充当客户端来提交 spark 作业。
因此使用 hdfs:// 显然有利于 spark 作业,因为 spark 执行器将从最近的数据节点读取数据。
将从客户端机器上的 HADOOP_CONF_DIR 读取 YARN 和 HDFS 配置(可以是客户端模式下的本地机器和集群模式下的工作节点之一)。