Процедура обработки данных, возвращающая кластер исключений StatusRuntimeException, не найдена

#scala #apache-spark #gcloud #google-cloud-dataproc #data-processing

#scala #apache-spark #gcloud #google-cloud-dataproc #обработка данных

Вопрос:

Я отправляю запрос в API, который использует gcloud Dataproc для переиндексации. Я отправляю запрос, который дает мне ответ

исключение io.grpc.StatusRuntimeException: NOT_FOUND: Не найдено: Кластерные проекты/ go-dev-central/регионы/us-central1/кластеры/cluster-156c

Довольно новичок в gcloud, не знаю, где я должен искать. Может ли это быть региональной проблемой / зоной.

 Suppressed: com.google.api.gax.rpc.AsyncTaskException: Asynchronous task failed
        at com.google.api.gax.rpc.ApiExceptions.callAndTranslateApiException(ApiExceptions.java:57)
        at com.google.api.gax.rpc.UnaryCallable.call(UnaryCallable.java:112)
        at com.google.cloud.dataproc.v1.JobControllerClient.submitJob(JobControllerClient.java:210)
        at com.google.cloud.dataproc.v1.JobControllerClient.submitJob(JobControllerClient.java:183)
        at com.carecloud.edison.commons.providers.gcp.GoogleDataProcProvider.$anonfun$submitDataProcJob$1(GoogleDataProcProvider.scala:59)
        at com.carecloud.edison.commons.providers.gcp.GoogleDataProcProvider.withJobControllerClientSync(GoogleDataProcProvider.scala:39)
        at com.carecloud.edison.commons.providers.gcp.GoogleDataProcProvider.$anonfun$withJobControllerClient$1(GoogleDataProcProvider.scala:27)
        at scala.concurrent.Future$.$anonfun$apply$1(Future.scala:658)
        at scala.util.Success.$anonfun$map$1(Try.scala:255)
        at scala.util.Success.map(Try.scala:213)
Caused by: io.grpc.StatusRuntimeException: NOT_FOUND: Not found: Cluster projects/go-dev-central/regions/us-central1/clusters/cluster-156c
    at io.grpc.Status.asRuntimeException(Status.java:533)
    at io.grpc.stub.ClientCalls$UnaryStreamToFuture.onClose(ClientCalls.java:490)
    at io.grpc.PartialForwardingClientCallListener.onClose(PartialForwardingClientCallListener.java:39)
    at io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:23)
    at io.grpc.ForwardingClientCallListener$SimpleForwardingClientCallListener.onClose(ForwardingClientCallListener.java:40)
    at io.grpc.internal.CensusStatsModule$StatsClientInterceptor$1$1.onClose(CensusStatsModule.java:700)
    at io.grpc.PartialForwardingClientCallListener.onClose(PartialForwardingClientCallListener.java:39)
    at io.grpc.ForwardingClientCallListener.onClose(ForwardingClientCallListener.java:23)
    at io.grpc.ForwardingClientCallListener$SimpleForwardingClientCallListener.onClose(ForwardingClientCallListener.java:40)
    at io.grpc.internal.CensusTracingModule$TracingClientInterceptor$1$1.onClose(CensusTracingModule.java:399)
2020-08-31 04:33:49,568 [ERROR] c.ReindexController - General Service Error: io.grpc.StatusRuntimeException: NOT_FOUND: Not found: Cluster projects/go-dev-central/regions/us-central1/clusters/cluster-156c
  

Ответ №1:

Наиболее вероятным объяснением является то, что вы использовали отдельный «глобальный» мультирегион для создания кластера, даже если вы разместили его в зоне GCE в us-central1, в то время как вы настроили свой код на использование «us-central1» региональной вселенной Dataproc.

Смотрите https://cloud.google.com/dataproc/docs/concepts/regional-endpoints для получения более подробной информации о разнице. Высокий уровень заключается в том, что «global» является независимой вселенной Dataproc, точно так же, как каждая из различных региональных вселенных, таких как «us-central1», «europe-west1» и т.д.; Все они изолированы друг от друга.

Вы можете увидеть, в каком из них находится ваш кластер, если посмотрите на страницу списка «Кластеры» в облачной консоли, так как там должен быть столбец, указывающий используемый регион Dataproc.