Skip to main content
Version: 4.0.x

故障排除

错误信息:命名空间在集群列表中缺少本地集群名称


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]

当发生以下任何一种情况时,会显示错误信息:

  • broker 启动时使用了 functionsWorkerEnabled=true,但 conf/functions_worker.yml 文件中的 pulsarFunctionsCluster 未设置为正确的集群。
  • 设置一个地理复制的Pulsar集群,其中functionsWorkerEnabled=true,当一个集群中的brokers运行良好时,另一个集群中的brokers运行不佳。

解决方法

如果发生任何这些情况,请按照以下说明解决问题。

  1. 通过设置functionsWorkerEnabled=false来禁用函数工作者,并重新启动代理。

  2. 获取public/functions命名空间的当前集群列表。

    bin/pulsar-admin namespaces get-clusters public/functions
  3. 检查集群是否在集群列表中。如果不在,则添加并更新列表。

    bin/pulsar-admin namespaces set-clusters --clusters <existing-clusters>,<new-cluster> public/functions
  4. 成功设置集群后,通过设置functionsWorkerEnabled=true来启用功能工作者。

  5. conf/functions_worker.yml文件中为pulsarFunctionsCluster参数设置正确的集群名称。

  6. 重启代理。