新手在这里。我想有一个Dask安装一个工作者池,可以根据当前的需求增长和缩小。我按照0到jupyterhub中的说明在GKE上安装,然后浏览了dask-kubernetes:https://kubernetes.dask.org/en/latest/的安装说明。
我最初遇到了一些权限问题,所以我创建了一个具有所有权限的服务帐户,并将我的config.yaml更改为使用此服务帐户。这消除了权限问题,但现在当我运行此脚本时,使用默认的worker-spec.yml,我没有得到任何工作程序:
cluster = KubeCluster.from_yaml('worker-spec.yml')
cluster.scale_up(4) # specify number of nodes explicitly
client = distributed.Client(cluster)
clientCluster
Workers: 0
Cores: 0
Memory: 0 B当我列出我的pod时,我看到许多处于挂起状态的工作进程:
patrick_mineault@cloudshell:~ (neuron-264716)$ kubectl get pod --namespace jhub
NAME READY STATUS RESTARTS AGE
dask-jovyan-24034fcc-22qw7w 0/1 Pending 0 45m
dask-jovyan-24034fcc-25h89q 0/1 Pending 0 45m
dask-jovyan-24034fcc-2bpt25 0/1 Pending 0 45m
dask-jovyan-24034fcc-2dthg6 0/1 Pending 0 45m
dask-jovyan-25b11132-52rn6k 0/1 Pending 0 26m
...当我描述每个pod时,我看到内存不足,cpu错误:
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 69s (x22 over 30m) default-scheduler 0/1 nodes are available: 1 Insufficient cpu, 1 Insufficient memory.我需要在GKE中手动创建一个新的自动伸缩池吗?我现在只有一个池,运行jupyterlab的那个,而且这个池已经完全提交了。我不知道是什么配置导致dask找出将工人放在哪个池中。
发布于 2020-01-17 00:48:18
我确实需要创建一个灵活的、可伸缩的工作线程池来托管工作进程--在Pangeo安装指南中有一个这样的例子:https://github.com/pangeo-data/pangeo/blob/master/gce/setup-guide/1_create_cluster.sh。下面是相关的代码行:
gcloud container node-pools create worker-pool --zone=$ZONE --cluster=$CLUSTER_NAME \
--machine-type=$WORKER_MACHINE_TYPE --preemptible --num-nodes=$MIN_WORKER_NODEShttps://stackoverflow.com/questions/59707210
复制相似问题