在这个用例中哪个集群管理器火花正在使用?

时间:2016-05-09 00:18:01

标签: apache-spark apache-spark-sql

我有一个包含4个节点的hadoop集群。我从存储在hdfs中的文件创建了一些配置单元表。然后我将mysql配置为hive Metastore并将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命令启动了纱线?或者我需要配置一些东西作为纱线,如果我没有使用另一个集群管理器作为deafult? 在您看来哪个群集更适合这种情况?还是它无动于衷?

1 个答案:

答案 0 :(得分:2)

它会在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 

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