Skip to main content
Version: 4.0.x

使用代理运行函数工作者

下图展示了与代理一起运行的功能工作者的部署情况。

Deployment of function workers in Pulsar

note

图中的Service URLs表示Pulsar客户端和Pulsar管理员用于连接到Pulsar集群的Pulsar服务URL。

要设置函数工作者与代理一起运行,请完成以下步骤:

步骤1:启用功能工作者与代理一起运行

conf/broker.conf文件中(对于Pulsar独立模式,是conf/standalone.conf),将functionsWorkerEnabled设置为true

functionsWorkerEnabled=true

步骤2:配置函数工作者以与代理一起运行

run-with-brokers模式下,函数工作器的大多数设置都是从您的代理配置继承的(例如,配置存储设置、认证设置等)。您可以根据需要配置conf/functions_worker.yml文件来自定义其他工作器设置。

tip
  • 为了确保生产部署(具有多个代理的集群)中的高可用性,请将numFunctionPackageReplicas设置为与bookies数量相等。默认值1仅适用于单节点集群部署。
  • 要在运行时初始化分布式日志元数据(initializedDlogMetadata = true),请确保已通过bin/pulsar initialize-cluster-metadata命令进行初始化。

当在BookKeeper集群上启用身份验证时,您需要为您的函数工作者配置以下身份验证设置。

  • bookkeeperClientAuthenticationPlugin: BookKeeper客户端的认证插件名称。
  • bookkeeperClientAuthenticationParametersName: BookKeeper客户端的认证插件参数,包括名称和值。
  • bookkeeperClientAuthenticationParameters: BookKeeper客户端的认证插件参数。

步骤3:启动功能工作者以与经纪人一起运行

一旦函数工作者配置正确,您可以启动代理(函数工作者与代理一起运行)。

要验证每个工作程序是否正在运行,您可以使用以下命令。

curl <broker-ip>:8080/admin/v2/worker/cluster

如果返回了活动函数工作者的列表,这意味着它们已成功启动。输出类似于以下内容。

[{"workerId":"<worker-id>","workerHostname":"<worker-hostname>","port":8080}]