故障排除
错误信息:命名空间在集群列表中缺少本地集群名称
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运行不佳。
解决方法
如果发生任何这些情况,请按照以下说明解决问题。
-
通过设置
functionsWorkerEnabled=false来禁用函数工作者,并重新启动代理。 -
获取
public/functions命名空间的当前集群列表。bin/pulsar-admin namespaces get-clusters public/functions -
检查集群是否在集群列表中。如果不在,则添加并更新列表。
bin/pulsar-admin namespaces set-clusters --clusters <existing-clusters>,<new-cluster> public/functions -
成功设置集群后,通过设置
functionsWorkerEnabled=true来启用功能工作者。 -
在
conf/functions_worker.yml文件中为pulsarFunctionsCluster参数设置正确的集群名称。 -
重启代理。