Apache Superset: невозможно запустить второй раз - PullRequest
1 голос
/ 07 октября 2019

Мне удалось настроить и запустить Superset, впервые запустив docker-compose run --rm superset ./docker-init.sh. После этого, когда я попробовал ту же команду или даже простую 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 в контейнере Superset

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

1 Ответ

0 голосов
/ 16 октября 2019

Я нашел обходной путь, заменив 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

в файле настройки superset (/ contrib / docker /)

...