Page tree
Skip to end of metadata
Go to start of metadata

Scale需要花费多少成本?

下面的层次结构决定了运行Scale集群的成本:

  1. 这里的云成本是由以下构成的:
    1. 节点(虚拟机)
      1. Scale核心组件。主机数量是固定的和可修改的。
      2. 工作节点。这里的主机数量是通过Scale API控制的。
    2. 负载均衡器($/分钟)
  2. Scale软件的成本基于VTD的运行时间。

在运行作业时,它将是最具成本效益的:

  1. 部署工作节点 — 提供节点,这会带来1.a.ii的成本
  2. 运行作业,运行时间总量将取决于:
    1. 部署的主机数量
    2. 平均求解时间
    3. 保存结果
    4. 解除部署主机(可以节约硬件成本)

如何停止正在运行的仿真作业?

从管理仪表板,导航至Spark Master。
点击与仿真运行的队列名称相匹配的运行中的应用程序(Running Application)。
在活动作业列表中,点击“Kill”按钮。

注意:Jupyter有一个停止按钮。
如果在运行仿真段落时按下这个按钮,那么只会停止与Livy的连接。
仿真作业本身将继续运行。

如何监控集群上的活动?

Scale为用户和管理员提供了一些选项。

使用ELK

Kibana仪表板提供了最友好的展示方式。
这需要先进行设置:

  1. 到集群GUI的Services标签页,点击Admin Services下方的Kibana链接
  2. 选择管理(左下角的图标)
  3. 选择保存对象
  4. 点击导入,然后选择这个json文件

若要访问仪表板:

  1. 到集群GUI的Services标签页,点击Admin Services下方的Kibana链接
  2. 选择仪表板(左侧第三个按钮)
  3. 选择Scale
  4. 此处,你将看到三个指标:
    1. 运行完成的仿真数量
    2. 平均仿真时间
    3. 活动的工作节点数量
  5. 在左上方,有一个时间范围,你可以选择要考虑的时间间隔(例如:最近5分钟)

Kibana还提供了日志、APM、指标等功能,提供了不同的集群状态视图。

使用Spark

Spark提供了一个非常详细的作业及其DAG(有向无环图)的分解。
这个分解包括Scale Worker UDF(用户定义功能),还有很多其他东西。

  1. 到集群GUI的Services标签页,点击Admin Services下方的Spark链接
  2. 折叠“工作节点”列表
  3. 选择感兴趣的应用程序。应用程序分为正在运行和已经完成两种类型。
  4. 显示运行阶段,并且分为正在运行、已经完成和运行失败三种类型。
  5. 任务在特定的主机上运行。这就是基于Spark的stdout/stderr日志的地方。

如何清除工作节点的临时存储?

解除部署和重新部署是清除临时存储的唯一方法。

当访问/hdfs挂起时该怎么办?

在某些情况下,挂载的hdfs目录在试图访问时可能挂起。
这是由于一个已知的HDFS NFS Gateway问题(HDFS-14555)。

一个快速的解决方法是让管理员运行Kubernetes命令:

AKS_RESOURCE_GROUP=<fill me in>
AKS_NAME=<fill me in>
az aks get-credentials --name $AKS_NAME --resource-group $AKS_RESOURCE_GROUP
kubectl exec hdfs-nn-0 -- /usr/local/hadoop/bin/restart-nfs.sh 

要想获得更持久的修复,需要为底层的kubelet采用更新的Linux内核。
关于背景,请参阅在新的集群上使用AKS Ubuntu 18.04(预览版)

# 准备AZ CLI
az extension add --name aks-preview
az feature register --name UseCustomizedUbuntuPreview --namespace Microsoft.ContainerService
az provider register --namespace Microsoft.ContainerService

# 替换核心组件的节点分组
AKS_RESOURCE_GROUP=<fill me in>
AKS_NAME=<fill me in>

az aks nodepool update --cluster-name $AKS_NAME --resource-group $AKS_RESOURCE_GROUP --name system --mode System
az aks nodepool delete --cluster-name $AKS_NAME --resource-group $AKS_RESOURCE_GROUP --name core
az aks nodepool add    --cluster-name $AKS_NAME --resource-group $AKS_RESOURCE_GROUP --name core --node-taints scale=core:NoSchedule --node-vm-size Standard_DS2_v2 --node-count 9 --node-osdisk-size 100 --aks-custom-headers CustomizedUbuntu=aks-ubuntu-1804

这样会将节点的Linux内核从4.15.0-1098-azure升级至5.4.0-1026-azure。

Write a comment...