【问题标题】:Which cluster manager spark is using in this use case?在这个用例中使用了哪个集群管理器 spark?
【发布时间】:2016-05-17 23:08:40
【问题描述】:

我有一个有 4 个节点的 hadoop 集群。我从存储在 hdfs 中的文件创建了一些配置单元表。然后我将 mysql 配置为 hive 元存储,并将 hive-site.xml 文件复制到 spark 的 conf 文件夹中。

为了启动 hadoop 集群,我启动了 dfs 和 yarn.sh。然后我创建了 hive 表,现在我使用 hivecontext 从 spark sql 对 hive 表执行一些查询,例如:

var hiveContext = new org.apache.spark.sql.hive.HiveContext(sc)
query = hiveContext.sql("select * from customers");
query.show

我的疑问是,在这种情况下,火花使用的是哪个集群管理器?是毛线吗?因为我用./start-yarn.sh 命令启动了纱线?或者我需要将某些东西配置为纱线,如果我没有使用另一个集群管理器作为默认设置? 您认为哪个集群更适合这种情况?还是冷漠?

【问题讨论】:

    标签: apache-spark apache-spark-sql


    【解决方案1】:

    它在 spark-submit 期间根据您的 --master 使用您的本地、客户端或集群。

    ./bin/spark-submit \
      --class myclass \
      --master yarn \
      --deploy-mode cluster \ 
      --executor-memory 20G \
      --num-executors 50 \
      myapp.jar \
    

    或者你可以在下面的代码中指定

    val conf = new SparkConf()
                 .setMaster("yarn-cluster")
                 .setAppName("myapp")
    val sc = new SparkContext(conf)
    

    如果是spark-shell,

    spark-shell --master yarn 
    

    默认情况下,我相信它使用本地模式。

    【讨论】:

    • 感谢您的回答。您所说的本地集群,是火花独立集群吗?因为在文档中它只是单独出现,纱线或 mesos。并且使用您的代码设置纱线集群管理器它在“val sc = new SparkContext(conf)”中显示错误,我得到“28:错误:未找到:类型SparkContext。
    • 你导入了 import org.apache.spark.SparkContext 吗?或者你正在研究外壳?
    • 因此,您可以指定启动时间。编辑答案
    猜你喜欢
    • 2018-08-23
    • 1970-01-01
    • 1970-01-01
    • 2016-07-20
    • 2016-04-19
    • 2017-02-05
    • 1970-01-01
    • 1970-01-01
    • 2010-09-12
    相关资源
    最近更新 更多