Closed syepes closed 8 years ago
Opened JIRA https://issues.cloudera.org/browse/HUE-3702 and review https://review.cloudera.org/r/7413/
@spaztic1215 Thanks for the fix, but I am still getting the error when Hue starts:
Traceback (most recent call last):
File "/usr/local/hue.prod/desktop/core/src/desktop/lib/wsgiserver.py", line 1215, in communicate
req.respond()
File "/usr/local/hue.prod/desktop/core/src/desktop/lib/wsgiserver.py", line 576, in respond
self._respond()
File "/usr/local/hue.prod/desktop/core/src/desktop/lib/wsgiserver.py", line 588, in _respond
response = self.wsgi_app(self.environ, self.start_response)
File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/core/handlers/wsgi.py", line 206, in __call__
response = self.get_response(request)
File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/core/handlers/base.py", line 194, in get_response
response = self.handle_uncaught_exception(request, resolver, sys.exc_info())
File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/core/handlers/base.py", line 236, in handle_uncaught_exception
return callback(request, **param_dict)
File "/usr/local/hue.prod/desktop/core/src/desktop/views.py", line 331, in serve_500_error
return render("500.mako", request, {'traceback': traceback.extract_tb(exc_info[2])})
File "/usr/local/hue.prod/desktop/core/src/desktop/lib/django_util.py", line 227, in render
**kwargs)
File "/usr/local/hue.prod/desktop/core/src/desktop/lib/django_util.py", line 148, in _render_to_response
return django_mako.render_to_response(template, *args, **kwargs)
File "/usr/local/hue.prod/desktop/core/src/desktop/lib/django_mako.py", line 125, in render_to_response
return HttpResponse(render_to_string(template_name, data_dictionary), **kwargs)
File "/usr/local/hue.prod/desktop/core/src/desktop/lib/django_mako.py", line 114, in render_to_string_normal
result = template.render(**data_dict)
File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/template.py", line 443, in render
return runtime._render(self, self.callable_, args, data)
File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/runtime.py", line 786, in _render
**_kwargs_for_callable(callable_, data))
File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/runtime.py", line 818, in _render_context
_exec_template(inherit, lclcontext, args=args, kwargs=kwargs)
File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/runtime.py", line 844, in _exec_template
callable_(context, *args, **kwargs)
File "/tmp/tmpLrckeL/desktop/500.mako.py", line 40, in render_body
__M_writer(unicode( commonheader(_('500 - Server error'), "", user) ))
File "/usr/local/hue.prod/desktop/core/src/desktop/views.py", line 409, in commonheader
'is_ldap_setup': 'desktop.auth.backend.LdapBackend' in desktop.conf.AUTH.BACKEND.get()
File "/usr/local/hue.prod/desktop/core/src/desktop/lib/django_mako.py", line 112, in render_to_string_normal
template = lookup.get_template(template_name)
File "/usr/local/hue.prod/desktop/core/src/desktop/lib/django_mako.py", line 89, in get_template
return real_loader.get_template(uri)
File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/lookup.py", line 245, in get_template
return self._load(srcfile, uri)
File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/lookup.py", line 311, in _load
**self.template_args)
File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/template.py", line 321, in __init__
module = self._compile_from_file(path, filename)
File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/template.py", line 379, in _compile_from_file
module = compat.load_module(self.module_id, path)
File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/compat.py", line 55, in load_module
return imp.load_source(module_id, path, fp)
File "/tmp/tmpLrckeL/desktop/common_header.mako.py", line 25, in <module>
home_url = url('desktop.views.home')
File "/usr/local/hue.prod/desktop/core/src/desktop/lib/django_mako.py", line 131, in url
return reverse(view_name, args=args, kwargs=view_args)
File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/core/urlresolvers.py", line 536, in reverse
return iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs))
File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/core/urlresolvers.py", line 403, in _reverse_with_prefix
self._populate()
File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/core/urlresolvers.py", line 303, in _populate
lookups.appendlist(pattern.callback, (bits, p_pattern, pattern.default_args))
File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/core/urlresolvers.py", line 230, in callback
self._callback = get_callable(self._callback_str)
File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/utils/functional.py", line 32, in wrapper
result = func(*args)
File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/core/urlresolvers.py", line 97, in get_callable
mod = import_module(mod_name)
File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/utils/importlib.py", line 40, in import_module
__import__(name)
File "/usr/local/hue.prod/desktop/core/src/desktop/configuration/api.py", line 29, in <module>
from notebook.connectors.hiveserver2 import HiveConfiguration, ImpalaConfiguration
File "/usr/local/hue.prod/desktop/libs/notebook/src/notebook/connectors/hiveserver2.py", line 79, in <module>
class HiveConfiguration(object):
File "/usr/local/hue.prod/desktop/libs/notebook/src/notebook/connectors/hiveserver2.py", line 105, in HiveConfiguration
"options": [config.lower() for config in hive_settings.get()]
AttributeError: 'Config' object has no attribute 'get'
Hmm, I can't reproduce on master with the same app_blacklist you have. hive_settings shouldn't raise an error if beeswax isn't blacklisted (and even then it shouldn't cause this issue). Can you open a hue shell (./build/env/bin/hue shell
) and do:
from beeswax.conf import CONFIG_WHITELIST as hive_settings
type(hive_settings)
What is the type of hive_settings?
This is the output:
# build/env/bin/hue shell
Python 2.7.11 (default, Dec 7 2015, 11:22:37)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-16)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from beeswax.conf import CONFIG_WHITELIST as hive_settings
>>> type(hive_settings)
<class 'desktop.lib.conf.BoundConfig'>
>>>
Cool! Yeah that should work then, this is the get()
method for BoundConfig
: https://github.com/cloudera/hue/blob/master/desktop/core/src/desktop/lib/conf.py#L144
Did you restart Hue after pulling down the changes?
Actually I did a full re-installation of hue (make prod, make instal...) and then start it.
In the hue shell, what happens when you try to do a from impala import views
?
I can repro it too, just do like him
app_blacklist=impala,security,search,rdbms,zookeeper
and open the Hive editor, I see a red error
@romainr that seems to be a different issue, related to the SolrAPI:
Traceback (most recent call last):
File "/Users/jennykim/Dev/hue/desktop/libs/notebook/src/notebook/decorators.py", line 78, in decorator
return func(*args, **kwargs)
File "/Users/jennykim/Dev/hue/desktop/libs/notebook/src/notebook/api.py", line 54, in create_session
response['session'] = get_api(request, session).create_session(lang=session['type'], properties=properties)
File "/Users/jennykim/Dev/hue/desktop/libs/notebook/src/notebook/connectors/base.py", line 89, in get_api
from notebook.connectors.solr import SolrApi
File "/Users/jennykim/Dev/hue/desktop/libs/notebook/src/notebook/connectors/solr.py", line 25, in <module>
from libsolr.api import SolrApi as NativeSolrApi
File "/Users/jennykim/Dev/hue/desktop/libs/libsolr/src/libsolr/api.py", line 48, in <module>
class SolrApi(object):
File "/Users/jennykim/Dev/hue/desktop/libs/libsolr/src/libsolr/api.py", line 52, in SolrApi
def __init__(self, solr_url, user, security_enabled=SECURITY_ENABLED.get(), ssl_cert_ca_verify=SSL_CERT_CA_VERIFY.get()):
AttributeError: 'Config' object has no attribute 'get'
@shiraz123 - In my case the error appears even before the login screen loads
Hello @romainr @spaztic1215
I have just installed from scratch the last master 178a2e0 an I am still getting a similar error, but now I get a new log error "Impala app is not enabled"
app_blacklist=impala,security,search,rdbms,zookeeper
Traceback (most recent call last):
File "/usr/local/hue.prod/desktop/core/src/desktop/lib/wsgiserver.py", line 1215, in communicate
req.respond()
File "/usr/local/hue.prod/desktop/core/src/desktop/lib/wsgiserver.py", line 576, in respond
self._respond()
File "/usr/local/hue.prod/desktop/core/src/desktop/lib/wsgiserver.py", line 588, in _respond
response = self.wsgi_app(self.environ, self.start_response)
File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/core/handlers/wsgi.py", line 206, in __call__
response = self.get_response(request)
File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/core/handlers/base.py", line 194, in get_response
response = self.handle_uncaught_exception(request, resolver, sys.exc_info())
File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/core/handlers/base.py", line 236, in handle_uncaught_exception
return callback(request, **param_dict)
File "/usr/local/hue.prod/desktop/core/src/desktop/views.py", line 331, in serve_500_error
return render("500.mako", request, {'traceback': traceback.extract_tb(exc_info[2])})
File "/usr/local/hue.prod/desktop/core/src/desktop/lib/django_util.py", line 227, in render
**kwargs)
File "/usr/local/hue.prod/desktop/core/src/desktop/lib/django_util.py", line 148, in _render_to_response
return django_mako.render_to_response(template, *args, **kwargs)
File "/usr/local/hue.prod/desktop/core/src/desktop/lib/django_mako.py", line 125, in render_to_response
return HttpResponse(render_to_string(template_name, data_dictionary), **kwargs)
File "/usr/local/hue.prod/desktop/core/src/desktop/lib/django_mako.py", line 114, in render_to_string_normal
result = template.render(**data_dict)
File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/template.py", line 443, in render
return runtime._render(self, self.callable_, args, data)
File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/runtime.py", line 786, in _render
**_kwargs_for_callable(callable_, data))
File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/runtime.py", line 818, in _render_context
_exec_template(inherit, lclcontext, args=args, kwargs=kwargs)
File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/runtime.py", line 844, in _exec_template
callable_(context, *args, **kwargs)
File "/tmp/tmpaRwPI0/desktop/500.mako.py", line 40, in render_body
__M_writer(unicode( commonheader(_('500 - Server error'), "", user) ))
File "/usr/local/hue.prod/desktop/core/src/desktop/views.py", line 409, in commonheader
'is_ldap_setup': 'desktop.auth.backend.LdapBackend' in desktop.conf.AUTH.BACKEND.get()
File "/usr/local/hue.prod/desktop/core/src/desktop/lib/django_mako.py", line 112, in render_to_string_normal
template = lookup.get_template(template_name)
File "/usr/local/hue.prod/desktop/core/src/desktop/lib/django_mako.py", line 89, in get_template
return real_loader.get_template(uri)
File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/lookup.py", line 245, in get_template
return self._load(srcfile, uri)
File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/lookup.py", line 311, in _load
**self.template_args)
File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/template.py", line 321, in __init__
module = self._compile_from_file(path, filename)
File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/template.py", line 379, in _compile_from_file
module = compat.load_module(self.module_id, path)
File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/compat.py", line 55, in load_module
return imp.load_source(module_id, path, fp)
File "/tmp/tmpaRwPI0/desktop/common_header.mako.py", line 25, in <module>
home_url = url('desktop.views.home')
File "/usr/local/hue.prod/desktop/core/src/desktop/lib/django_mako.py", line 131, in url
return reverse(view_name, args=args, kwargs=view_args)
File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/core/urlresolvers.py", line 536, in reverse
return iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs))
File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/core/urlresolvers.py", line 403, in _reverse_with_prefix
self._populate()
File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/core/urlresolvers.py", line 303, in _populate
lookups.appendlist(pattern.callback, (bits, p_pattern, pattern.default_args))
File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/core/urlresolvers.py", line 230, in callback
self._callback = get_callable(self._callback_str)
File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/utils/functional.py", line 32, in wrapper
result = func(*args)
File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/core/urlresolvers.py", line 97, in get_callable
mod = import_module(mod_name)
File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/utils/importlib.py", line 40, in import_module
__import__(name)
File "/usr/local/hue.prod/desktop/core/src/desktop/configuration/api.py", line 29, in <module>
from notebook.connectors.hiveserver2 import HiveConfiguration, ImpalaConfiguration
File "/usr/local/hue.prod/desktop/libs/notebook/src/notebook/connectors/hiveserver2.py", line 78, in <module>
class HiveConfiguration(object):
File "/usr/local/hue.prod/desktop/libs/notebook/src/notebook/connectors/hiveserver2.py", line 104, in HiveConfiguration
"options": [config.lower() for config in hive_settings.get()]
AttributeError: 'Config' object has no attribute 'get'
[03/May/2016 08:26:04 +0200] hiveserver2 WARNING Impala app is not enabled
@spaztic1215 probably one more check to add!
@syepes I can't seem to reproduce that error with your same blacklist config, so can you try editing your hiveserver2.py
file by switching lines 55 and 56, specifically changing this:
from impala.conf import CONFIG_WHITELIST as impala_settings
from impala import views # Force checking if Impala is enabled
to
from impala import views # Force checking if Impala is enabled
from impala.conf import CONFIG_WHITELIST as impala_settings
@spaztic1215 I have tested switching the lines 55/56 and after restarting Hue I am still getting the same error.
Update: If I run Hue with this app_blacklist I can reproduce the issue:
app_blacklist=beeswax,impala,security,search,rdbms,zookeeper
But now its working with:
app_blacklist=impala,security,search,rdbms,zookeeper
Ah, yes. 😄 blacklisting beeswax will do it. OK, will do a force check for that too.
@syepes Unfortunately right now we can't easily support blacklisting beeswax bc we're transitioning our editors to be truly backend agnostic. Until then (probably Hue 4) we require that beeswax is enabled.
@syepes, is the idea to have a Spark notebook only?
Hello @spaztic1215
I am trying to upgrade to that last version of Hue and I think the commit 8c88233 (HUE-2962 [desktop] Add configuration property definition for HS2) introduced an error in the "connectors/hiveserver2.py" when it tries to read the Hive configuration.
I am running without Impala (app_blacklist=impala,security,search,rdbms,zookeeper)
Have you experienced this?