当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python dask.distributed.SSHCluster用法及代码示例


用法:

dask.distributed.SSHCluster(hosts: list[str] | None = None, connect_options: dict | list[dict] = {}, worker_options: dict = {}, scheduler_options: dict = {}, worker_module: str = 'deprecated', worker_class: str = 'distributed.Nanny', remote_python: str | list[str] | None = None, **kwargs)

使用 SSH 部署 Dask 集群

SSHCluster 函数在您提供的一组机器地址上为您部署 Dask Scheduler 和 Workers。第一个地址将用于调度程序,其余的将用于工作程序(如果您希望调度程序和工作程序 co-habitate 一台机器,请随意重复第一个主机名。)

您可以通过传递 scheduler_optionsworker_options 字典关键字来配置调度程序和工作程序。有关可用选项的详细信息,请参阅dask.distributed.Schedulerdask.distributed.Worker 类,但默认值应该适用于大多数情况。

您可以使用 connect_options 关键字配置您对 SSH 本身的使用,该关键字将值传递给 asyncssh.connect 函数。有关这些的更多信息,请参阅 asyncsshhttps://asyncssh.readthedocs.io 的文档。

参数

hosts列表[str]

启动集群的主机名或地址列表。第一个将用于调度程序,其余用于工作人员。

connect_optionsdict或dict列表,可选

要传递给 asyncssh.connect() 的关键字。这可能包括诸如 port , username , passwordknown_hosts 之类的东西。有关完整信息,请参阅asyncssh.connect()asyncssh.SSHClientConnectionOptions 的文档。如果是列表,它的长度必须与 hosts 相同。

worker_options字典,可选

传递给工人的关键字。

scheduler_options字典,可选

传递给调度程序的关键字。

worker_class: str

用于创建工作人员的 python 类。

remote_pythonstr 或 str 列表,可选

远程节点上的 Python 路径。

例子

创建一个包含一个工作人员的集群:

>>> from dask.distributed import Client, SSHCluster
>>> cluster = SSHCluster(["localhost", "localhost"])
>>> client = Client(cluster)

创建一个包含三个工作人员的集群,每个工作人员有两个线程,并在端口 8797 上托管仪表板:

>>> from dask.distributed import Client, SSHCluster
>>> cluster = SSHCluster(
...     ["localhost", "localhost", "localhost", "localhost"],
...     connect_options={"known_hosts": None},
...     worker_options={"nthreads": 2},
...     scheduler_options={"port": 0, "dashboard_address": ":8797"}
... )
>>> client = Client(cluster)

在每台主机上创建一个包含两个工作人员的集群:

>>> from dask.distributed import Client, SSHCluster
>>> cluster = SSHCluster(
...     ["localhost", "localhost", "localhost", "localhost"],
...     connect_options={"known_hosts": None},
...     worker_options={"nthreads": 2, "n_workers": 2},
...     scheduler_options={"port": 0, "dashboard_address": ":8797"}
... )
>>> client = Client(cluster)

使用不同工作类的示例,特别是来自 dask-cuda 项目的 CUDAWorker

>>> from dask.distributed import Client, SSHCluster
>>> cluster = SSHCluster(
...     ["localhost", "hostwithgpus", "anothergpuhost"],
...     connect_options={"known_hosts": None},
...     scheduler_options={"port": 0, "dashboard_address": ":8797"},
...     worker_class="dask_cuda.CUDAWorker")
>>> client = Client(cluster)

相关用法


注:本文由纯净天空筛选整理自dask.org大神的英文原创作品 dask.distributed.SSHCluster。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。