В автономном кластере Spark он работает без проблем:
http://i.stack.imgur.com/gF1fN.png
Я последовал за этим учебником.
Я создал толстую банку для запуска этого JavaApp в кластере. Перед пакетом maven:
find .
./pom.xml
./src
./src/main
./src/main/java
./src/main/java/SimpleApp.java
содержимое SimpleApp.java:
import org.apache.spark.api.java.*;
import org.apache.spark.api.java.function.Function;
import org.apache.spark.SparkConf;
import org.apache.spark.SparkContext;
public class SimpleApp {
public static void main(String[] args) {
SparkConf conf = new SparkConf()
.setMaster("spark://10.35.23.13:7077")
.setAppName("My app")
.set("spark.executor.memory", "1g");
JavaSparkContext sc = new JavaSparkContext (conf);
String logFile = "/home/ubuntu/spark-0.9.1/test_data";
JavaRDD<String> logData = sc.textFile(logFile).cache();
long numAs = logData.filter(new Function<String, Boolean>() {
public Boolean call(String s) { return s.contains("a"); }
}).count();
System.out.println("Lines with a: " + numAs);
}
}
Эта программа работает только тогда, когда мастер установлен как setMaster ( "local" ). В противном случае я получаю эту ошибку
$java -cp path_to_file/simple-project-1.0-allinone.jar SimpleApp