【问题标题】:Apache Superset: Unable to run second timeApache Superset:无法第二次运行
【发布时间】:2020-02-04 17:40:42
【问题描述】:

我第一次能够通过运行 docker-compose run --rm superset ./docker-init.sh 来设置和运行 Superset。之后,当我尝试相同的命令甚至是简单的docker-compose up 时,它开始表现得很奇怪。以下是不同的输出:

Docker 容器日志

➜  docker git:(master) docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                     PORTS                      NAMES
cdb96671175a        superset_superset   "/entrypoint.sh"         4 minutes ago       Up 4 minutes (unhealthy)   0.0.0.0:8088->8088/tcp     superset_superset_1
f1835b2641c9        redis:3.2           "docker-entrypoint.s…"   4 minutes ago       Up 4 minutes               127.0.0.1:6379->6379/tcp   superset_redis_1
8dbf08dd726f        postgres:10         "docker-entrypoint.s…"   4 minutes ago       Up 4 minutes               127.0.0.1:5432->5432/tcp   superset_postgres_1
➜  docker git:(master) docker logs cdb96671175a

+ '[' 0 -ne 0 ']'
+ '[' development = development ']'
+ celery worker --app=superset.sql_lab:celery_app --pool=gevent -Ofair
+ cd superset/assets/
+ npm ci
npm WARN prepare removing existing node_modules/ before installation
2019-10-07 11:59:49,785:INFO:root:logging was configured successfully
2019-10-07 11:59:50,307:INFO:root:Configured event logger of type <class 'superset.utils.log.DBEventLogger'>
2019-10-07 11:59:51,715:DEBUG:asyncio:Using selector: SelectSelector
➜  docker git:(master) 
➜  docker git:(master) docker logs cdb96671175a
+ '[' 0 -ne 0 ']'
+ '[' development = development ']'
+ celery worker --app=superset.sql_lab:celery_app --pool=gevent -Ofair
+ cd superset/assets/
+ npm ci
npm WARN prepare removing existing node_modules/ before installation
2019-10-07 11:59:49,785:INFO:root:logging was configured successfully
2019-10-07 11:59:50,307:INFO:root:Configured event logger of type <class 'superset.utils.log.DBEventLogger'>
2019-10-07 11:59:51,715:DEBUG:asyncio:Using selector: SelectSelector
npm ERR! code E504
npm ERR! 504 Gateway Timeout - GET https://registry.npmjs.org/@xtuc/long/-/long-4.2.1.tgz

超集容器中的 Docker Exec

docker exec -it cdb96671175adfdcfbe8d32f51c395f0fe77faab6b1f76f7266ca03eb0720a04 /bin/sh -c "[ -e /bin/bash ] && /bin/bash || /bin/sh"
➜  docker git:(master) docker exec -it cdb96671175adfdcfbe8d32f51c395f0fe77faab6b1f76f7266ca03eb0720a04 /bin/sh -c "[ -e /bin/bash ] && /bin/bash || /bin/sh"
root@cdb96671175a:/home/superset# %                                                                                                  
➜  docker git:(master) 

运行 docker-compose up 后的控制台输出

fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
redis_1     | 1:M 07 Oct 11:59:42.628 * DB loaded from disk: 0.000 seconds
redis_1     | 1:M 07 Oct 11:59:42.628 * The server is now ready to accept connections on port 6379
superset_1  | + '[' 0 -ne 0 ']'
superset_1  | + '[' development = development ']'
superset_1  | + celery worker --app=superset.sql_lab:celery_app --pool=gevent -Ofair
postgres_1  | 2019-10-07 11:59:42.573 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
postgres_1  | 2019-10-07 11:59:42.600 UTC [23] LOG:  database system was shut down at 2019-10-07 11:57:21 UTC
superset_1  | + cd superset/assets/
superset_1  | + npm ci
postgres_1  | 2019-10-07 11:59:42.606 UTC [1] LOG:  database system is ready to accept connections
superset_1  | npm WARN prepare removing existing node_modules/ before installation
superset_1  | 2019-10-07 11:59:49,785:INFO:root:logging was configured successfully
superset_1  | 2019-10-07 11:59:50,307:INFO:root:Configured event logger of type <class 'superset.utils.log.DBEventLogger'>
superset_1  | 2019-10-07 11:59:51,715:DEBUG:asyncio:Using selector: SelectSelector
superset_1  | npm ERR! code E504
superset_1  | npm ERR! 504 Gateway Timeout - GET https://registry.npmjs.org/@xtuc/long/-/long-4.2.1.tgz

【问题讨论】:

    标签: docker superset apache-superset


    【解决方案1】:

    我找到了一个解决方法,替换 RUN cd superset/assets \ && npm ci\ && npm run build \ && rm -rf node_modules

    RUN cd superset/assets \
    && npm install \
    && npm run build \
    && rm -rf node_modules
    

    在超集的dockerfile中(/contrib/docker/)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-16
      • 2021-12-16
      • 1970-01-01
      • 2017-01-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多