Я установил новый автономный сервер Apache Spark на только что установленном сервере Ubuntu. Я пытаюсь отправить свою первую работу там, и я не очень успешна.Удаленное задание на Apache Spark (Java)
Вот что я на месте:
SparkConf conf = new SparkConf().setAppName("myFirstJob").setMaster("local[*]");
JavaSparkContext javaSparkContext = new JavaSparkContext(conf);
javaSparkContext.setLogLevel("WARN");
SQLContext sqlContext = new SQLContext(javaSparkContext);
System.out.println("Hello, Remote Spark v." + javaSparkContext.version());
DataFrame df;
df = sqlContext.read().option("dateFormat", "yyyy-mm-dd")
.json("./src/main/resources/north-carolina-school-performance-data.json");
df = df.withColumn("district", df.col("fields.district"));
df = df.groupBy("district").count().orderBy(df.col("district"));
df.show(150);
Он работает: он отображает название школьных округов в NC с количеством школ в районе:
Hello, Remote Spark v.1.6.1
+--------------------+-----+
| district|count|
+--------------------+-----+
|Alamance-Burlingt...| 34|
|Alexander County ...| 10|
|Alleghany County ...| 4|
|Anson County Schools| 10|
| Ashe County Schools| 5|
|Asheboro City Sch...| 8|
...
Теперь, если меняю первую строку на:
SparkConf conf = new SparkConf().setAppName("myFirstJob").setMaster("spark://10.0.100.120:7077");
Он идет хорошо:
Hello, Remote Spark v.1.6.1
16/07/12 10:58:34 WARN TaskSchedulerImpl: Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered and have sufficient resources
16/07/12 10:58:49 WARN TaskSchedulerImpl: Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered and have sufficient resources
Первое, что странно (для меня) - это то, что на сервере есть Spark 1.6.2. Я как бы ожидал увидеть номер версии 1.6.2.
Тогда на пользовательском интерфейсе, я иду туда и посмотреть:
Если я нажимаю на приложение-20160712105816-0011, я получаю:
Любой щелчок на другом ссылка приведет меня к моему местному экземпляру Apache Spark.
После нажатия кнопки вокруг, я могу увидеть что-то вроде:
И если я смотрю на журнал на сервере я вижу:
16/07/12 10:37:00 INFO Master: Registered app myFirstJob with ID app-20160712103700-0009
16/07/12 10:37:03 INFO Master: Received unregister request from application app-20160712103700-0009
16/07/12 10:37:03 INFO Master: Removing app app-20160712103700-0009
16/07/12 10:37:03 INFO Master: 10.0.100.100:54396 got disassociated, removing it.
16/07/12 10:37:03 INFO Master: 10.0.100.100:54392 got disassociated, removing it.
16/07/12 10:50:44 INFO Master: Registering app myFirstJob
16/07/12 10:50:44 INFO Master: Registered app myFirstJob with ID app-20160712105044-0010
16/07/12 10:51:20 INFO Master: Received unregister request from application app-20160712105044-0010
16/07/12 10:51:20 INFO Master: Removing app app-20160712105044-0010
16/07/12 10:51:20 INFO Master: 10.0.100.100:54682 got disassociated, removing it.
16/07/12 10:51:20 INFO Master: 10.0.100.100:54680 got disassociated, removing it.
16/07/12 10:58:16 INFO Master: Registering app myFirstJob
16/07/12 10:58:16 INFO Master: Registered app myFirstJob with ID app-20160712105816-0011
Что все кажется нормально для меня. ..
У меня был предыдущий вопрос (неразрешенный) на Apache Spark Server installation requires Hadoop? Not automatically installed?, с той же средой, но это совсем другое - много sma ller - приложение.
Любая подсказка о том, что происходит?
Спасибо - это будет иметь смысл, мне просто нужно понять, как я создаю конфигурацию, где у меня есть ведущий и подчиненный на том же сервере. Вероятно, что-то я пропустил в http://spark.apache.org/docs/1.6.2/spark-standalone.html. – jgp
Если у вас есть ведущий и ведомый на одном компьютере, просто поместите IP-адрес устройства в 'conf/slaves'. – Dikei
Это работает. У меня есть еще одна проблема, но эта часть работает - tx! Я думаю, что я был на более современном рабстве: вы мастер, но когда нет раба, вы сами выполняете эту работу ... – jgp