Quellcode durchsuchen

[spark] Add check config

Update hue.ini
Romain Rigaux vor 12 Jahren
Ursprung
Commit
43f04d86b4

+ 1 - 1
apps/beeswax/src/beeswax/views.py

@@ -74,7 +74,7 @@ def save_design(request, form, type_, design, explicit_save):
   Assumes that form.saveform is the SaveForm, and that it is valid.
   """
   assert form.saveform.is_valid()
-  sub_design_form = None # Beeswax/Impala case
+  sub_design_form = form # Beeswax/Impala case
 
   if type_ == models.HQL:
     design_cls = beeswax.design.HQLdesign

+ 1 - 1
apps/pig/src/pig/views.py

@@ -42,7 +42,7 @@ LOG = logging.getLogger(__name__)
 
 def app(request):
   return render('app.mako', request, {
-    'autocomplete_base_url': reverse('beeswax:autocomplete', kwargs={}),
+    'autocomplete_base_url': reverse('beeswax:api_autocomplete', kwargs={}),
   })
 
 

+ 3 - 3
apps/spark/src/spark/api.py

@@ -74,8 +74,8 @@ def create_context(request):
   response = {}
 
   name = request.POST.get('name', '')
-  memPerNode = request.POST.get('memPerNode', '512m')
-  numCores = request.POST.get('numCores', '1')
+  memPerNode = request.POST.get('mem-per-node', '512m')
+  numCores = request.POST.get('num-cpu-cores', '1')
 
   api = get_api(request.user)
   try:
@@ -190,7 +190,7 @@ def save_query(request, design_id=None):
   form = QueryForm()
   api = get_api(request.user)
   app_names = api.jars()
-  print request.POST
+
   try:
     form.bind(request.POST)
     form.query.fields['appName'].choices = ((key, key) for key in app_names)

+ 5 - 2
apps/spark/src/spark/conf.py

@@ -17,7 +17,7 @@
 
 import sys
 
-from django.utils.translation import ugettext_lazy as _t
+from django.utils.translation import ugettext_lazy as _t, ugettext as _
 
 from desktop.lib.conf import Config
 from spark.settings import NICE_NAME
@@ -38,6 +38,9 @@ def get_spark_status(user):
   try:
     if not 'test' in sys.argv: # Avoid tests hanging
       status = str(get_api(user).get_status())
+  except ValueError:
+    # No json returned
+    status = 'OK'
   except:
     pass
 
@@ -49,7 +52,7 @@ def config_validator(user):
 
   status = get_spark_status(user)
 
-  if status:
+  if status != 'OK':
     res.append((NICE_NAME, _("The app won't work without a running Job Server")))
 
   return res

+ 6 - 4
apps/spark/src/spark/job_server_api.py

@@ -30,6 +30,8 @@ DEFAULT_USER = 'hue'
 
 _API_VERSION = 'v1'
 _JSON_CONTENT_TYPE = 'application/json'
+_BINARY_CONTENT_TYPE = 'application/octet-stream'
+_TEXT_CONTENT_TYPE = 'text/plain'
 
 _api_cache = None
 _api_cache_lock = threading.Lock()
@@ -79,13 +81,13 @@ class JobServerApi(object):
       self._thread_local.user = user
 
   def get_status(self, **kwargs):
-    return self._root.get('', params=kwargs, headers={'Accept': _JSON_CONTENT_TYPE})
+    return self._root.get('healthz', params=kwargs, headers={'Accept': _TEXT_CONTENT_TYPE})
 
   def submit_job(self, appName, classPath, data, context=None, sync=False):
     params = {'appName': appName, 'classPath': classPath, 'sync': sync}
     if context:
       params['context'] = context
-    return self._root.post('jobs' % params, params=params, data=data, contenttype='application/octet-stream')
+    return self._root.post('jobs' % params, params=params, data=data, contenttype=_BINARY_CONTENT_TYPE)
 
   def job(self, job_id):
     return self._root.get('jobs/%s' % job_id, headers={'Accept': _JSON_CONTENT_TYPE})
@@ -94,7 +96,7 @@ class JobServerApi(object):
     return self._root.get('jobs', params=kwargs, headers={'Accept': _JSON_CONTENT_TYPE})
 
   def create_context(self, name, **kwargs):
-    return self._root.post('contexts/%s' % name, params=kwargs, contenttype='application/octet-stream')
+    return self._root.post('contexts/%s' % name, params=kwargs, contenttype=_BINARY_CONTENT_TYPE)
 
   def contexts(self, **kwargs):
     return self._root.get('contexts', params=kwargs, headers={'Accept': _JSON_CONTENT_TYPE})
@@ -103,7 +105,7 @@ class JobServerApi(object):
     return self._root.delete('contexts/%s' % name)
 
   def upload_jar(self, app_name, data):
-    return self._root.post('jars/%s' % app_name, data=data, contenttype='application/octet-stream')
+    return self._root.post('jars/%s' % app_name, data=data, contenttype=_BINARY_CONTENT_TYPE)
 
   def jars(self, **kwargs):
     return self._root.get('jars', params=kwargs, headers={'Accept': _JSON_CONTENT_TYPE})

+ 2 - 2
apps/spark/src/spark/templates/common.mako

@@ -74,13 +74,13 @@ def is_selected(section, matcher):
       <div class="control-group">
         <label class="control-label">${ _("Num cpu cores") }</label>
         <div class="controls">
-          <input type="text" name="numCores"value="1">
+          <input type="text" name="num-cpu-cores"value="1">
         </div>
       </div>
       <div class="control-group">
         <label class="control-label">${ _("Memory per node") }</label>
         <div class="controls">
-          <input type="text" name="memPerNode" value="512m">
+          <input type="text" name="mem-per-node" value="512m">
         </div>
       </div>
     </form>

+ 2 - 6
desktop/conf.dist/hue.ini

@@ -595,12 +595,8 @@
 ###########################################################################
 
 [spark]
-  # Address of the Spark master, e.g spark://localhost:7077. If empty use the current configuration.
-  # Can be overriden in the script too.
-  ## spark_master=
-
-  # Local path to Spark Home on all the nodes of the cluster.
-  ## spark_home=/usr/lib/spark
+  # URL of the REST Spark Job Server.
+  ## server_url=http://localhost:8090/
 
 
 ###########################################################################

+ 2 - 6
desktop/conf/pseudo-distributed.ini.tmpl

@@ -636,12 +636,8 @@
 ###########################################################################
 
 [spark]
-  # Address of the Spark master, e.g spark://localhost:7077. If empty use the current configuration.
-  # Can be overriden in the script too.
-  ## spark_master=
-
-  # Local path to Spark Home on all the nodes of the cluster.
-  ## spark_home=/usr/lib/spark
+  # URL of the REST Spark Job Server.
+  ## server_url=http://localhost:8090/
 
 
 ###########################################################################