2016-07-12 2 views
0

Я установил новый автономный сервер 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.

Тогда на пользовательском интерфейсе, я иду туда и посмотреть:

Spark UI

Если я нажимаю на приложение-20160712105816-0011, я получаю:

Detail of app

Любой щелчок на другом ссылка приведет меня к моему местному экземпляру Apache Spark.

После нажатия кнопки вокруг, я могу увидеть что-то вроде:

App on the client

И если я смотрю на журнал на сервере я вижу:

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 - приложение.

Любая подсказка о том, что происходит?

ответ

1

Согласно снимку веб-интерфейса, на вашем сервере нет рабочего (подчиненного). Spark предлагает несколько сценариев для запуска кластера.

  • SBIN/start-all.sh: Запустите мастер и рабочие, указанные в conf/slaves
  • SBIN/start-slaves.sh: Запуск только рабов в conf/slaves
  • SBIN/запуска-мастера. ш: Запустите мастер в текущей машине
  • SBIN/start-slave.sh: Запустить рабыню в текущей машине

Если кластер настроен правильно, то вам нужно только позвонить start-all.sh на главной машине, чтобы начать все.

+0

Спасибо - это будет иметь смысл, мне просто нужно понять, как я создаю конфигурацию, где у меня есть ведущий и подчиненный на том же сервере. Вероятно, что-то я пропустил в http://spark.apache.org/docs/1.6.2/spark-standalone.html. – jgp

+0

Если у вас есть ведущий и ведомый на одном компьютере, просто поместите IP-адрес устройства в 'conf/slaves'. – Dikei

+0

Это работает. У меня есть еще одна проблема, но эта часть работает - tx! Я думаю, что я был на более современном рабстве: вы мастер, но когда нет раба, вы сами выполняете эту работу ... – jgp

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