2015-04-18 4 views
1

Я создаю искровой кластер с ведущим и двумя подчиненными устройствами (один из подчиненного и ведущего находится на одном компьютере). Я изменяю пример wordcount, чтобы он мог выводить некоторое сообщение когда вызывается mapToPair(). Я подчиняю его хозяину. Но только один рабочий имеет выход в stdout. Означает ли это, что только одна работа выполняет эту задачу? У каждого моего работника есть одно ядро. Я пытаюсь сделать 1000 кусочков в textFile(), но все равно не работает. Как заставить обоих рабочих выполнять задания? Я ошибаюсь?Почему мои задачи выполняются только одним рабочим в Spark-кластере

SparkConf sparkConf = new SparkConf().setAppName("ORSIFTask").setMaster("spark://192.168.0.110:7077"); 
JavaSparkContext ctx = new JavaSparkContext(sparkConf);  
ctx.addJar("/home/hadoop/ont-1.0-SNAPSHOT.jar"); 


JavaRDD<String> lines = ctx.textFile("hdfs://192.168.0.110:9000/features4.data",2).cache(); 
JavaRDD<String> words = lines.flatMap(new FlatMapFunction<String, String>() { 
    @Override 
    public Iterable<String> call(String s) { 

    return Arrays.asList(SPACE.split(s)); 
    } 
}); 

JavaPairRDD<String, String> ones = words.mapToPair(new PairFunction<String, String, String>() { 
    @Override 
    public Tuple2<String, String> call(String s) throws OWLOntologyCreationException { 
    System.out.println("map:"+s);     
    return new Tuple2<String, String>(s, "thing"); 
    } 
}); 

JavaPairRDD<String, String> counts = ones.reduceByKey(new Function2<String, String,String>() {  
    @Override 
    public String call(String i1, String i2) { 
    System.out.println("reduce:"+i1); 
    return i1;  
    } 
}); 

List<Tuple2<String, String>> output = counts.collect(); 
+0

Можете ли вы вывести вывод для файла $ cat $ SPARK_HOME/conf/slaves – gonephishing

ответ

0

1) Проверьте SPARK_HOME/conf/slave файл или мастер WebUI ли перечислены все рабы.
2) Какой режим cluste вы используете? Println может выдавать вывод в драйвере.
3) У RDD может не быть достаточного количества разделов.
4) Проверьте рабочий пользовательский интерфейс, запускаются ли исполнители во время выполнения задания.
5) увеличить распараллеливание данных по умолчанию и проверить.

Смежные вопросы