트러블슈팅

트러블슈팅

함수 워커(function worker)를 운영하다 보면 특정 에러 메시지를 마주칠 수 있어요. 여기서는 대표적인 에러 메시지와 그 해결 방법을 하나씩 정리해 볼게요.

주로 함수 워커의 클러스터 설정이 잘못되었을 때 나타나는 문제이니, 에러 메시지를 보고 원인을 판단한 뒤 아래 순서대로 해결하면 됩니다.

출처: 문서

본문

에러 메시지: Namespace missing local cluster name in clusters list

Failed to get partitioned topic metadata: org.apache.pulsar.client.api.PulsarClientException$BrokerMetadataException: Namespace missing local cluster name in clusters list: local_cluster=xyz ns=public/functions clusters=[standalone]

이 에러 메시지는 다음 경우 중 하나에 해당할 때 나타나요.

  • 브로커가 functionsWorkerEnabled=true로 시작되었는데, conf/functions_worker.yml 파일의 pulsarFunctionsCluster가 올바른 클러스터로 설정되지 않은 경우
  • functionsWorkerEnabled=true로 지리 복제 Pulsar 클러스터를 설정했는데, 한 클러스터의 브로커는 잘 동작하지만 다른 클러스터의 브로커는 제대로 동작하지 않는 경우

해결 방법 (Workaround)

이 중 어떤 경우든 아래 지침을 따라 문제를 해결해요.

  1. functionsWorkerEnabled=false로 설정해 함수 워커를 비활성화하고 브로커를 재시작해요.
  2. public/functions 네임스페이스의 현재 클러스터 목록을 가져와요.
bin/pulsar-admin namespaces get-clusters public/functions
  1. 클러스터가 클러스터 목록에 있는지 확인해요. 없다면 추가하고 목록을 갱신해요.
bin/pulsar-admin namespaces set-clusters --clusters <existing-clusters>,<new-cluster> public/functions
  1. 클러스터 설정이 성공하면 functionsWorkerEnabled=true로 설정해 함수 워커를 활성화해요.
  2. conf/functions_worker.yml 파일의 pulsarFunctionsCluster 매개변수에 올바른 클러스터 이름을 설정해요.
  3. 브로커를 재시작해요.

더 알아보기 (Learn more)

  • 함수 워커 설정 전반은 함수 워커 문서를 참고해요.
  • 클러스터·네임스페이스 관리 명령은 네임스페이스 관리 문서에서 확인할 수 있어요.
  • 지리 복제 클러스터에서의 함수 워커 설정은 지리 복제용 함수 워커 문서를 살펴보세요.