用法:
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_options
和worker_options
字典关键字来配置调度程序和工作程序。有关可用选项的详细信息,请参阅dask.distributed.Scheduler
和dask.distributed.Worker
类,但默认值应该适用于大多数情况。您可以使用
connect_options
关键字配置您对 SSH 本身的使用,该关键字将值传递给asyncssh.connect
函数。有关这些的更多信息,请参阅asyncssh
库 https://asyncssh.readthedocs.io 的文档。- hosts:列表[str]
启动集群的主机名或地址列表。第一个将用于调度程序,其余用于工作人员。
- connect_options:dict或dict列表,可选
要传递给
asyncssh.connect()
的关键字。这可能包括诸如port
,username
,password
或known_hosts
之类的东西。有关完整信息,请参阅asyncssh.connect()
和asyncssh.SSHClientConnectionOptions
的文档。如果是列表,它的长度必须与hosts
相同。- worker_options:字典,可选
传递给工人的关键字。
- scheduler_options:字典,可选
传递给调度程序的关键字。
- worker_class: str:
用于创建工作人员的 python 类。
- remote_python:str 或 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)
相关用法
- Python dask.distributed.get_task_stream用法及代码示例
- Python dask.distributed.progress用法及代码示例
- Python dask.diagnostics.Profiler用法及代码示例
- Python dask.diagnostics.CacheProfiler用法及代码示例
- Python dask.diagnostics.Callback用法及代码示例
- Python dask.diagnostics.ResourceProfiler用法及代码示例
- Python dask.diagnostics.ProgressBar用法及代码示例
- Python dask.dataframe.Series.apply用法及代码示例
- Python dask.dataframe.to_records用法及代码示例
- Python dask.dataframe.DataFrame.applymap用法及代码示例
- Python dask.dataframe.Series.clip用法及代码示例
- Python dask.dataframe.Series.prod用法及代码示例
- Python dask.dataframe.Series.fillna用法及代码示例
- Python dask.dataframe.DataFrame.sub用法及代码示例
- Python dask.dataframe.compute用法及代码示例
- Python dask.dataframe.DataFrame.mod用法及代码示例
- Python dask.dataframe.Series.to_frame用法及代码示例
- Python dask.dataframe.read_table用法及代码示例
- Python dask.dataframe.read_hdf用法及代码示例
- Python dask.dataframe.Series.sum用法及代码示例
注:本文由纯净天空筛选整理自dask.org大神的英文原创作品 dask.distributed.SSHCluster。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。