鼓捣了一天多的时间,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()"   ---》问题关键在于 这一行

 终于。。。。成功了

Superset 访问 Internal Server Error_flask

 

官网这个标题很有干扰性。。。

http:///installation.html#python-virtualenv

Superset 访问 Internal Server Error_superset_02

/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