Spo*_*rty 37 hadoop hdfs hadoop-yarn apache-spark
我试图了解如何在YARN群集/客户端上运行spark.我脑子里有以下问题.
是否有必要在纱线群中的所有节点上安装火花?我认为它应该是因为集群中的工作节点执行任务并且应该能够解码驱动程序发送到集群的spark应用程序中的代码(spark API)?
它在文档中说"确保HADOOP_CONF_DIR或YARN_CONF_DIR指向包含Hadoop集群的(客户端)配置文件的目录".为什么客户端节点在将作业发送到集群时必须安装Hadoop?
mrs*_*vas 30
添加到其他答案.
- 是否有必要在纱线群中的所有节点上安装火花?
不,如果火花作业纱(或安排client或cluster模式).许多节点都需要Spark安装,仅用于独立模式.
这些是spark app部署模式的可视化.
Spark Standalone Cluster

在cluster模式驱动程序中,驱动程序将位于其中一个Spark Worker节点中,而在client模式下,驱动程序将位于启动作业的计算机中.
YARN群集模式

YARN客户端模式

此表提供了这些模式之间差异的简明列表:

- 它在文档中说"确保HADOOP_CONF_DIR或YARN_CONF_DIR指向包含Hadoop集群的(客户端)配置文件的目录".为什么客户端节点在将作业发送到集群时必须安装hadoop?
Hadoop安装不是强制性的,但配置(并非所有)都是!这可能是两个主要原因.
HADOOP_CONF_DIR目录中包含的配置将分发到YARN群集,以便应用程序使用的所有容器使用相同的配置.yarn-default.xml)中获取ResourceManager的地址.因此,--master参数是yarn.
更新:(2017-01-04)
Spark 2.0+ 不再需要胖组件jar来进行生产部署.资源
Ran*_*anP 26
我们在YARN上运行火花工作(我们使用HDP 2.2).
我们没有在群集上安装spark.我们只将Spark程序集jar添加到HDFS中.
例如,运行Pi示例:
./bin/spark-submit \
--verbose \
--class org.apache.spark.examples.SparkPi \
--master yarn-cluster \
--conf spark.yarn.jar=hdfs://master:8020/spark/spark-assembly-1.3.1-hadoop2.6.0.jar \
--num-executors 2 \
--driver-memory 512m \
--executor-memory 512m \
--executor-cores 4 \
hdfs://master:8020/spark/spark-examples-1.3.1-hadoop2.6.0.jar 100
Run Code Online (Sandbox Code Playgroud)
--conf spark.yarn.jar=hdfs://master:8020/spark/spark-assembly-1.3.1-hadoop2.6.0.jar - 这个配置告诉纱线是采取火花组件.如果您不使用它,它会在您运行时上传jar spark-submit.
关于第二个问题:客户端节点不需要安装Hadoop.它只需要配置文件.您可以将目录从群集复制到客户端.
| 归档时间: |
|
| 查看次数: |
15740 次 |
| 最近记录: |