Я развернул искру Автономный кластер.172.16.133.15 - мастер с двумя рабочими на одной машине, и он развернут в Ubuntu14.10.
Как сказано в документе, я могу запускать приложения как в «режиме клиента», так и в «режиме кластера».
Мои вопросы:
1) Где загрузить файл при запуске приложения в режиме клиента (на компьютере с Windows) ??
SparkConf conf = new SparkConf().setAppName("Test")
.setMaster("172.16.133.15")
.set("spark.submit.deployMode", "client");
JavaSparkContext sc = new JavaSparkContext(conf);
String path = "file:///C:\\Users\\Me\\Desktop\\demo\\1530699196271";
JavaPairRDD<String, String> rdd = sc.wholeTextFiles(path);
JavaPairRDD<String, String> transformed = rdd.mapToPair(tuple2 ->{
String fname = tuple2._1();
String content = tuple2._2();
content = YUVSimpleTrans.transform(content);
return new Tuple2<>(fname, content);
});
transformed.saveAsTextFile("file:///C:/Users/Me/Desktop/demo/out");
когда я запускаю коды, я получаю исключение:
Caused by: java.lang.RuntimeException: Error while running command to get
file permissions : java.io.IOException: (null) entry in command string: null ls -F C:\Users\Me\Desktop\demo\1530699196271\split_0.yuv
at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:762)
....
test.sparker4m.Sparker4mApplication.main(Sparker4mApplication.java:51)
...
Я не знаю, почему он использует "ls -F".
Итак, я создаю каталог cifs с samba в 172.16.133.15, и загружаю все файлы в директорию "/ usr / local / test / 1530699196271", и изменяю переменную "путь", затем она выдает исключение:
Caused by: org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path does not exist: file:/usr/local/test/1530699196271
at org.apache.hadoop.mapreduce.lib.input.FileInputFormat.singleThreadedListStatus(FileInputFormat.java:321)
... 31 more
Я очень запутался, что, черт возьми, "клиентский режим" работает.
- Загружает ли "jar-файл" файл jar в Master при использовании "spark-submit"?
если это правда, если я запускаю свой код, используйте «spark-submit» в режиме кластера (загрузка файлов
Мастеру (172.16.133.15), у которого есть два работника) это сработает?