繁体   English   中英

使用 docker-compose 的本地 dask 集群

[英]local dask cluster using docker-compose

我想创建一个包含我们公司分析工具链的 docker-compose.yml。 为此,我添加了 dask。 docker-compoe.yml 看起来像这样:

docker-compose.yml

version: '3'
services:
  jupyter:
    build: docker/jupyter/.
    ports:
      - "8899:8899"
    depends_on: 
      - dask-scheduler
      - dask-worker
    volumes:
      - ./notebooks:/notebooks

  dask-scheduler:
    build:
      docker/dask/.
    hostname: dask-scheduler
    ports:
      - "8786:8786"
      - "8787:8787"
    volumes:
      - ./notebooks:/notebooks
    command: ["dask-scheduler"]

  dask-worker:
    build:
      docker/dask/.
    depends_on:
      - dask-scheduler
    volumes:
      - ./notebooks:/notebooks
    command: ["dask-worker", "tcp://dask-scheduler:8786"]

为了构建两个 dask 容器,我使用了这个 Dockerfile:

码头工人/dask/Dockerfile

FROM python:3.7
RUN apt-get update -y && apt-get install -y python3-pip libsnappy-dev
RUN pip install numpy
RUN pip install dask
RUN pip install distributed
RUN pip install fsspec
RUN pip install fastavro
RUN pip install python-snappy
RUN pip install dask[bag]
RUN pip install dask[dataframe]
RUN pip install jupyter-server-proxy

# Dashboard
EXPOSE 8787
# Scheduler
EXPOSE 8786

在我的笔记本中,我使用以下代码连接到调度程序:

from dask.distributed import Client
client = Client(address="dask-scheduler:8786")
client.dashboard_link 

=> ' http://dask-scheduler:8787/status '

使用容器的 IP 也不起作用。

这使我可以进行我要求的计算并且工作正常。 但是不工作的是仪表板,它应该在http://localhost:8787/status上可用。 这只是返回

404: Not Found

我的问题1是:我做错了什么? 我找到了 --dashboard-address

文档中的参数并尝试了各种组合,但这现在对仪表板的 output 进行了任何更改。 这是我的第二个问题:

为什么调度程序和工作人员中的参数可用

最后我需要做些什么改变才能让它发挥作用? 在 Mac OS 版本 2.3.0.3 和 Engine 19.03.8 上使用 Docker 桌面社区

感谢您的任何提示。

经过漫长的调试之旅,我终于可以在运行之前的环境中打破它。 鉴于bokeh="==2.0.2"按预期显示仪表板。 但是在我的 Pipefile 中使用最新版本bokeh="==2.1.0"会显示相应的错误消息。 也许它也是各种包的不同版本的组合。

万一其他人发现:将您的散景版本修复为 2.0.2 以恢复仪表板。 使用完全没有固定版本的最新版本会破坏它。 所以它与 docker 或 docker-compose 无关。


编辑:它现在已在最新的 dask 版本 2.19.0 中修复 - 因此更新您的 dask 依赖项也应该有效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM