blob: 6168e3efa962cd6327801b243f419f18297f54df [file] [log] [blame] [view]
---
id: functions-worker-corun
title: Run function workers with brokers
sidebar_label: "Run function workers with brokers"
description: Run Pulsar function workers with brokers.
---
The following diagram illustrates the deployment of function workers running along with brokers.
![Deployment of function workers in Pulsar](/assets/function-workers-corun.svg)
:::note
The `Service URLs` in the illustration represent Pulsar service URLs that Pulsar client and Pulsar admin use to connect to a Pulsar cluster.
:::
To set up function workers to run with brokers, complete the following steps:
### Step 1: Enable function workers to run with brokers
In the `conf/broker.conf` file (`conf/standalone.conf` for Pulsar standalone), set `functionsWorkerEnabled` to `true`.
```conf
functionsWorkerEnabled=true
```
### Step 2: Configure function workers to run with brokers
In the `run-with-brokers` mode, most settings of function workers are inherited from your broker configuration (for example, configuration store settings, authentication settings, and so on). You can customize other worker settings by configuring the `conf/functions_worker.yml` file based on your needs.
:::tip
- To ensure high availability in a production deployment (a cluster with multiple brokers), set `numFunctionPackageReplicas` to equal the number of bookies. The default value `1` is only for one-node cluster deployment.
- To initialize distributed log metadata in runtime (`initializedDlogMetadata = true`), ensure that it has been initialized by the `bin/pulsar initialize-cluster-metadata` command.
:::
When authentication is enabled on the BookKeeper cluster, you need to configure the following authentication settings for your function workers.
- `bookkeeperClientAuthenticationPlugin`: the authentication plugin name of BookKeeper client.
- `bookkeeperClientAuthenticationParametersName`: the authentication plugin parameters of BookKeeper client, including names and values.
- `bookkeeperClientAuthenticationParameters`: the authentication plugin parameters of BookKeeper client.
### Step 3: Start function workers to run with brokers
Once function workers are configured properly, you can start the brokers (function workers are running with the brokers).
To verify whether each worker is running or not, you can use the following command.
```bash
curl <broker-ip>:8080/admin/v2/worker/cluster
```
If a list of active function workers is returned, it means they have been started successfully. The output is similar to the following.
```json
[{"workerId":"<worker-id>","workerHostname":"<worker-hostname>","port":8080}]
```