鼓捣了一天多的时间,superset 始终打不开
一开始怀疑是环境的问题,因为虚拟机拷贝到过硬盘一次,重新拷贝到电脑发现vmware authorization service 服务找不到了,重新安装了一下虚拟机,配置了网络。
然后,按照官网,和网上的文档一步一步操作,莫名其妙的各种异常。
[2020-07-08 14:04:17 +0800] [13915] [ERROR] Error handling request /
Traceback (most recent call last):
File "/root/training/miniconda/envs/superset/lib/python3.6/site-packages/gunicorn/workers/sync.py", line 135, in handle
self.handle_request(listener, req, client, addr)
File "/root/training/miniconda/envs/superset/lib/python3.6/site-packages/gunicorn/workers/sync.py", line 176, in handle_request
respiter = self.wsgi(environ, resp.start_response)
File "/root/training/miniconda/envs/superset/lib/python3.6/site-packages/werkzeug/local.py", line 375, in <lambda>
__call__ = lambda x, *a, **kw: x._get_current_object()(*a, **kw)
File "/root/training/miniconda/envs/superset/lib/python3.6/site-packages/werkzeug/local.py", line 306, in _get_current_object
return self.__local()
File "/root/training/miniconda/envs/superset/lib/python3.6/site-packages/flask/globals.py", line 52, in _find_app
raise RuntimeError(_app_ctx_err_msg)
RuntimeError: Working outside of application context.
This typically means that you attempted to use functionality that needed
to interface with the current application object in some way. To solve
this, set up an application context with app.app_context(). See the
documentation for more information.
[2020-07-08 14:04:17 +0800] [13918] [ERROR] Error handling request /favicon.ico
Traceback (most recent call last):
File "/root/training/miniconda/envs/superset/lib/python3.6/site-packages/gunicorn/workers/sync.py", line 135, in handle
self.handle_request(listener, req, client, addr)
File "/root/training/miniconda/envs/superset/lib/python3.6/site-packages/gunicorn/workers/sync.py", line 176, in handle_request
respiter = self.wsgi(environ, resp.start_response)
File "/root/training/miniconda/envs/superset/lib/python3.6/site-packages/werkzeug/local.py", line 375, in <lambda>
__call__ = lambda x, *a, **kw: x._get_current_object()(*a, **kw)
File "/root/training/miniconda/envs/superset/lib/python3.6/site-packages/werkzeug/local.py", line 306, in _get_current_object
return self.__local()
File "/root/training/miniconda/envs/superset/lib/python3.6/site-packages/flask/globals.py", line 52, in _find_app
raise RuntimeError(_app_ctx_err_msg)
RuntimeError: Working outside of application context.
superset load-examples 时也有异常
logging was configured successfully
INFO:superset.utils.logging_configurator:logging was configured successfully
/root/training/miniconda/envs/superset/lib/python3.6/site-packages/flask_caching/__init__.py:192: UserWarning: Flask-Caching: CACHE_TYPE is set to null, caching is effectively disabled.
"Flask-Caching: CACHE_TYPE is set to null, "
Loading examples metadata and related data into examples
Creating default CSS templates
Loading energy related dataset
Traceback (most recent call last):
File "/root/training/miniconda/envs/superset/lib/python3.6/urllib/request.py", line 1318, in do_open
encode_chunked=req.has_header('Transfer-encoding'))
File "/root/training/miniconda/envs/superset/lib/python3.6/http/client.py", line 1262, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/root/training/miniconda/envs/superset/lib/python3.6/http/client.py", line 1308, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/root/training/miniconda/envs/superset/lib/python3.6/http/client.py", line 1257, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/root/training/miniconda/envs/superset/lib/python3.6/http/client.py", line 1036, in _send_output
self.send(msg)
File "/root/training/miniconda/envs/superset/lib/python3.6/http/client.py", line 974, in send
self.connect()
File "/root/training/miniconda/envs/superset/lib/python3.6/http/client.py", line 1415, in connect
super().connect()
File "/root/training/miniconda/envs/superset/lib/python3.6/http/client.py", line 946, in connect
(self.host,self.port), self.timeout, self.source_address)
File "/root/training/miniconda/envs/superset/lib/python3.6/socket.py", line 724, in create_connection
raise err
File "/root/training/miniconda/envs/superset/lib/python3.6/socket.py", line 713, in create_connection
sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/root/training/miniconda/envs/superset/bin/superset", line 21, in <module>
superset()
File "/root/training/miniconda/envs/superset/lib/python3.6/site-packages/click/core.py", line 829, in __call__
return self.main(*args, **kwargs)
File "/root/training/miniconda/envs/superset/lib/python3.6/site-packages/flask/cli.py", line 586, in main
return super(FlaskGroup, self).main(*args, **kwargs)
File "/root/training/miniconda/envs/superset/lib/python3.6/site-packages/click/core.py", line 782, in main
rv = self.invoke(ctx)
File "/root/training/miniconda/envs/superset/lib/python3.6/site-packages/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/root/training/miniconda/envs/superset/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/root/training/miniconda/envs/superset/lib/python3.6/site-packages/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/root/training/miniconda/envs/superset/lib/python3.6/site-packages/click/decorators.py", line 21, in new_func
return f(get_current_context(), *args, **kwargs)
File "/root/training/miniconda/envs/superset/lib/python3.6/site-packages/flask/cli.py", line 426, in decorator
return __ctx.invoke(f, *args, **kwargs)
File "/root/training/miniconda/envs/superset/lib/python3.6/site-packages/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/root/training/miniconda/envs/superset/lib/python3.6/site-packages/superset/cli.py", line 165, in load_examples
load_examples_run(load_test_data, only_metadata, force)
File "/root/training/miniconda/envs/superset/lib/python3.6/site-packages/superset/cli.py", line 105, in load_examples_run
examples.load_energy(only_metadata, force)
File "/root/training/miniconda/envs/superset/lib/python3.6/site-packages/superset/examples/energy.py", line 39, in load_energy
data = get_example_data("energy.json.gz")
File "/root/training/miniconda/envs/superset/lib/python3.6/site-packages/superset/examples/helpers.py", line 71, in get_example_data
content = request.urlopen(f"{BASE_URL}{filepath}?raw=true").read()
File "/root/training/miniconda/envs/superset/lib/python3.6/urllib/request.py", line 223, in urlopen
return opener.open(url, data, timeout)
File "/root/training/miniconda/envs/superset/lib/python3.6/urllib/request.py", line 532, in open
response = meth(req, response)
File "/root/training/miniconda/envs/superset/lib/python3.6/urllib/request.py", line 642, in http_response
'http', request, response, code, msg, hdrs)
File "/root/training/miniconda/envs/superset/lib/python3.6/urllib/request.py", line 564, in error
result = self._call_chain(*args)
File "/root/training/miniconda/envs/superset/lib/python3.6/urllib/request.py", line 504, in _call_chain
result = func(*args)
File "/root/training/miniconda/envs/superset/lib/python3.6/urllib/request.py", line 756, in http_error_302
return self.parent.open(new, timeout=req.timeout)
File "/root/training/miniconda/envs/superset/lib/python3.6/urllib/request.py", line 532, in open
response = meth(req, response)
File "/root/training/miniconda/envs/superset/lib/python3.6/urllib/request.py", line 642, in http_response
'http', request, response, code, msg, hdrs)
File "/root/training/miniconda/envs/superset/lib/python3.6/urllib/request.py", line 564, in error
result = self._call_chain(*args)
File "/root/training/miniconda/envs/superset/lib/python3.6/urllib/request.py", line 504, in _call_chain
result = func(*args)
File "/root/training/miniconda/envs/superset/lib/python3.6/urllib/request.py", line 756, in http_error_302
return self.parent.open(new, timeout=req.timeout)
File "/root/training/miniconda/envs/superset/lib/python3.6/urllib/request.py", line 526, in open
response = self._open(req, data)
File "/root/training/miniconda/envs/superset/lib/python3.6/urllib/request.py", line 544, in _open
'_open', req)
File "/root/training/miniconda/envs/superset/lib/python3.6/urllib/request.py", line 504, in _call_chain
result = func(*args)
File "/root/training/miniconda/envs/superset/lib/python3.6/urllib/request.py", line 1361, in https_open
context=self._context, check_hostname=self._check_hostname)
File "/root/training/miniconda/envs/superset/lib/python3.6/urllib/request.py", line 1320, in do_open
raise URLError(err)
urllib.error.URLError: <urlopen error [Errno 111] Connection refused>
万般无奈,最后尝试 从 Internal Server Error 下手
gunicorn \
-w 5 \
-t 120 \
-b 192.168.163.112:8787 \
"superset.app:create_app()" ---》问题关键在于 这一行
终于。。。。成功了
官网这个标题很有干扰性。。。
http:///installation.html#python-virtualenv
/conda_path /envs/superset/lib/python3.6/site-packages/superset/app.py
def create_app():
app = Flask(__name__)
try:
# Allow user to override our config completely
config_module = os.environ.get("SUPERSET_CONFIG", "superset.config")
app.config.from_object(config_module)
app_initializer = app.config.get("APP_INITIALIZER", SupersetAppInitializer)(app)
app_initializer.init_app()
return app
# Make sure that bootstrap errors ALWAYS get logged
except Exception as ex:
logger.exception("Failed to create app")
raise ex