我使用
中的以下选项运行spark 2.0.1 SparkSession.builder().master(master).appName(appName).config(conf).getOrCreate();
opts.put("spark.serializer","org.apache.spark.serializer.KryoSerializer");
opts.put("spark.executor.extraJavaOptions","-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+UseG1GC -Djava.security.egd=file:///dev/urandom");
opts.put("spark.driver.maxResultSize","0");
opts.put("spark.sql.shuffle.partitions","200");
opts.put("spark.sql.warehouse.dir","/opt/astra/spark-warehouse");
opts.put("spark.scheduler.mode","FAIR");
opts.put("spark.executor.memory","5g");
opts.put("spark.executor.cores","2");
opts.put("spark.kryoserializer.buffer.max","1g");
opts.put("spark.parquet.block.size","134217728");
Spark master在ec2实例上的AWS中运行。在spark master ui中我可以看到内存,核心所有。但是在Job UI执行程序中运行作业时如下所示
另外,在查看线程转储时,我看到许多与连接相关的线程正在等待。
有人可以指出我发生了什么以及在哪里寻找。这里评论的是spark master的快照,显示了分配的资源。 在日志中,系统似乎在等待链接
下面提供的资源16/11/08 12:46:37 WARN TaskSchedulerImpl:初始工作没有接受任何资源;检查您的集群UI以确保工作人员已注册并具有足够的资源