SAS Cloud Analytic Services: トラブルシューティング

ディスク領域の不足(CAS_DISK_CACHE)

問題: Failed to open temporary file for upload (80BFE801): /tmp/cascache1/_f_43d6c87c_7f5d854996e8.sas7bdatのようなメッセージでアップロードが失敗します。

説明: CASコントローラーのCAS_DISK_CACHEのディスク領域が不足しています。

解決方法: ディスク領域を追加します。

permstoreにアクセスできない

問題: 次のメッセージが表示されます。A CAS server is currently running and has exclusive access to the access control storage location.

説明: このエラーメッセージは、permstoreが別のCASサーバーによってすでにアクセスされているために、CASサーバーがpermstoreへのアクセスに失敗して終了した場合に表示されます。

Pending状態のCASポッド

問題: 1つ以上のCASポッドがPending状態でスタックしています。

説明: Pending状態のCASポッドは、現在、Kubernetesクラスターでスケジュールできません。この状態は、使用可能なノードに十分なリソース(メモリまたはCPU)がない場合、適切なTaintまたはラベルがない場合、またはポッド/ノードのアフィニティルールが満たされていない場合に発生する可能性があります。

解決方法: ポッドに describe 操作を行うと、スケジューラはPending状態の理由を提供します。

kubectl describe pods podName

不十分なリソースは、リソース要求を調整するか、ポッドを削除するか、クラスターに新しいノードを追加することで修正できます。ノードに適切なTaintとラベルがあり、すべてのアフィニティルールが満たされていることを確認します。

Linux Out-of-Memory (OOM) Killerによるセッション終了

問題: 次のメッセージがサーバーログに表示されます。Child terminated by signal: PID nnn, signal 9, status 0x00000009.

説明: このエラーメッセージは、セッションが強制終了されたことを示しています。考えられる原因の1つは、メモリ使用量が多いためにOut-of-Memory (OOM) Killerがセッションを終了したことです。

解決方法: OOM Killerが実行される可能性を減らすには、保証されたサービス品質で実行します。

  • 次のコマンドでサービス品質を表示できます。
    kubectl get pods -l app.kubernetes.io/name=sas-cas-server \
      -o=jsonpath='{range .items[*]}{.metadata.name}{": "}{.status.qosClass}{"\n"}'

    応答がGuaranteed以外の値を示している場合、OOM Killerが発生するリスクが高まります。

  • CASポッド内の各コンテナーに対してリソース要求を設定し、同じ値に制限します。次のようなコマンドを使用して、ポッド内のコンテナーを表示できます。
    kubectl get pods sas-cas-server-default-worker-0 \
      -o=jsonpath='{range .spec.containers[*]}{.name}{"\n"}{end}'

    典型的な応答には、casおよびsas-backup-agentが含まれます。たとえば、CASの要求と制限を32Giに、バックアップエージェントの要求と制限を2Giに設定できます。

  • 次のコマンドを使用して、クラスターのリソース容量を表示できます。
    kubectl top nodes
  • リソース要求の設定については、Adjust RAM and CPU Resources for CAS Servers (SAS Viya: Deployment Guide)を参照してください。
  • サーバーが保証されたサービス品質で実行され、セッションが強制終了された場合は、ワーカーノードを追加するか、サーバーで使用可能なメモリの量を増やします。
最終更新: 2022/11/11