2015-12-11 3 views
2

Я использую Datastax Enterprise 4.8.3. Я пытаюсь реализовать приложение на основе кварца, чтобы удаленно отправлять задания Spark. В ходе моих исследований я наткнулся на следующие ссылки:Как подать заявку через REST API?

  1. Apache Spark Hidden REST API
  2. Spark feature - Provide a stable application submission gateway in standalone cluster mode

Чтобы проверить теорию, я попытался выполнением ниже фрагмента коды на главном узле (IP: «искра -Master-ф ", непосредственно на корпусе) моего кластера 2 узла (как это предусмотрено в ссылке 1 выше):

curl -X POST http://spark-master-ip:6066/v1/submissions/create --header "Content-Type:application/json;charset=UTF-8" --data '{ 
    "action" : "CreateSubmissionRequest", 
    "appArgs" : [ "myAppArgument1" ], 
    "appResource" : "file:/home/local/sparkjob.jar", 
    "clientSparkVersion" : "1.4.2", 
    "environmentVariables" : { 
    "SPARK_ENV_LOADED" : "1" 
    }, 
    "mainClass" : "com.spark.job.Launcher", 
    "sparkProperties" : { 
     "spark.jars" : "file:/home/local/sparkjob.jar", 
     "spark.driver.supervise" : "false", 
     "spark.app.name" : "MyJob", 
     "spark.eventLog.enabled": "true", 
     "spark.submit.deployMode" : "cluster", 
     "spark.master" : "spark://spark-master-ip:6066" 
    } 
}' 

Но Exec uting код я получаю ответ HTML со следующим текстом:

This Page Cannot Be Displayed 
The system cannot communicate with the external server (spark-master-ip). 
The Internet server may be busy, may be permanently down, or may be unreachable because of network problems. 
Please check the spelling of the Internet address entered. 
If it is correct, try this request later. 

If you have questions, please contact your organization's network administrator and provide the codes shown below. 

Date: Fri, 11 Dec 2015 13:19:15 GMT 
Username: 
Source IP: spark-master-ip 
URL: POST http://spark-master-ip/v1/submissions/create 
Category: Uncategorized URLs 
Reason: UNKNOWN 
Notification: GATEWAY_TIMEOUT 

ответ

3
  • Убедитесь, что вы запустили мастер Спарк и работника (с использованием start-all.sh)

  • Убедитесь, что в файле журнала есть сообщение как

INFO rest.StandaloneRestServer: Начало REST сервер для подачи аппликаций нс на порт 6066

  • Проверьте начал процесс действительно прослушивает порт 6066 (с использованием netstat)

Он должен выглядеть следующим образом:

 
[email protected]:~# netstat -apn | grep 11572 | grep LISTEN 
tcp6  0  0 :::8080     :::*     LISTEN  11572/java  
tcp6  0  0 10.0.0.9:6066   :::*     LISTEN  11572/java  
tcp6  0  0 10.0.0.9:7077   :::*     LISTEN  11572/java  

Затем замените «искровым master-ip "в скрипте с IP-адресом, который вы видите на выходе netstat (пример показывает« 10.0.0.9 »).

+0

Спасибо, что сработали. +1. –