Не удалось подключиться к моему концентратору http://HUB_HOST_IP: 8081 в. Это работает? - PullRequest
0 голосов
/ 29 апреля 2020

Я запускаю jupyterhub на экземпляре ec2 внутри docker со следующим jupyterhub_config.py

c = get_config()

c.Authenticator.admin_users = {'USER_NAME'}

c.JupyterHub.spawner_class = 'awsspawner.EcsTaskSpawner'

c.Spawner.cluster_name = 'staging-notebook-cluster'

c.Spawner.ecs_task_definition = 'jupyter-scipy-notebook'

c.Spawner.port = 8000

c.Spawner.http_timeout = 60 

#c.JupyterHub.hub_ip = '0.0.0.0'

#c.JupyterHub.hub_connect_ip = 'HUB_HOST_IP'

# shutdown the server after no activity for an hour

c.NotebookApp.shutdown_no_activity_timeout = 60 * 60

# shutdown kernels after no activity for 20 minutes

c.MappingKernelManager.cull_idle_timeout = 20 * 60

# check for idle kernels every two minutes

c.MappingKernelManager.cull_interval = 2 * 60

Я использую настраиваемый spawner для порождения записных книжек в кластере ECS. Концентратор может запустить задачу в кластере ECS, но в случае сбоя задачи со следующей ошибкой

[E 2020-04-29 09:20:14.444 ayush.chauhan@zomato.com singleuser:438] Failed to connect to my Hub at http://HUB_HOST_IP:8081/jupyter/hub/api (attempt 5/5). Is it running?
    Traceback (most recent call last):
      File "/opt/conda/lib/python3.7/site-packages/jupyterhub/singleuser.py", line 432, in check_hub_version
        resp = await client.fetch(self.hub_api_url)
    ConnectionRefusedError: [Errno 111] Connection refused

Следующие переменные env используются в задаче

"Env": [
    "LANG=en_US.UTF-8",
    "LC_ALL=en_US.UTF-8",
    "JPY_USER=USER_NAME",
    "JUPYTERHUB_ACTIVITY_URL=http://HUB_HOST_IP:8081/users/USER_NAME/activity",
    "JUPYTERHUB_API_TOKEN=TOKEN",
    "JUPYTERHUB_SERVICE_PREFIX=/user/USER_NAME/",
    "JPY_API_TOKEN=TOKEN",
    "JUPYTERHUB_BASE_URL=/user/USER_NAME/",
    "JUPYTERHUB_USER=USER_NAME",
    "JPY_COOKIE_NAME=cookie",
    "JUPYTERHUB_OAUTH_CALLBACK_URL=/user/USER_NAME/oauth_callback",
    "JUPYTERHUB_SERVER_NAME=",
    "JPY_BASE_URL=/user/USER_NAME/",
    "JUPYTERHUB_API_URL=http://HUB_HOST_IP:8081/jupyter/hub/api",
    "JUPYTERHUB_CLIENT_ID=jupyterhub-user-USER_NAME",
    "JUPYTERHUB_HOST=",
    "PATH=/opt/conda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
]

Я попытался изменить JUPYTERHUB_ACTIVITY_URL и JUPYTERHUB_API_URL порт на 8000 тоже все равно не работает. Я изменил это, поскольку te lnet работает для порта 8000 только из экземпляра кластера ECS

Мой концентратор работает в docker внутри экземпляра ec2 и порождает однопользовательский ноутбук в других экземплярах ECS кластер

...