---
title: Process ports
---

> [!NOTE]
> This page covers bare-metal and Podman deployments. For Kubernetes, see [Kubernetes configuration settings](../kubernetes/kubernetes-configuration-settings.md).

All Deephaven TCP ports are configurable. Property-based ports are set in `/etc/sysconfig/illumon.d/resources/*.prop`. Ports configured via `routing_service.yml` are noted in the property reference below.

## Port summary

| Component                                    | Process                              | Default ports            |
| -------------------------------------------- | ------------------------------------ | ------------------------ |
| Remote Query Dispatcher (RQD)                | `db_query_server`                    | 22013, 22012, 8084       |
| Remote Query Dispatcher — merge (RMD)        | `db_merge_server`                    | 30002, 30003, 8085       |
| RQD workers                                  | `RemoteQueryDispatcher_worker_<n>`   | 23000–23999, 24000–24999 |
| RMD workers                                  | `RemoteQueryDispatcher_worker_<n>`   | 25000–25999, 26000–26999 |
| RQD/RMD WebSocket                            | `db_query_server`, `db_merge_server` | 22052, 22060             |
| Data Import Server                           | `db_dis`                             | 22021, 22015             |
| Log Aggregator Service                       | `log_aggregator_service`             | 22020                    |
| Local Table Data Server                      | `db_ltds`                            | 22014                    |
| Table Data Cache Proxy                       | `db_tdcp`                            | 22016                    |
| Configuration Server                         | `configuration_server`               | 22023                    |
| Configuration Server (xDS endpoint)          | `configuration_server`               | 8124                     |
| User Authentication Server                   | `authentication_server`              | 9030, 9031               |
| User Access Control Server                   | `db_acl_write_server`                | 9044                     |
| Persistent Query Controller                  | `iris_controller`                    | 20126                    |
| Log Tailer                                   | `tailer1`...`tailerN`                | 22021 (outbound)         |
| Web API Service                              | `web_api_service`                    | 8123, 8443/8480          |
| [Envoy Proxy](../envoy/configuring-envoy.md) | `envoy`                              | 8000, 8001               |
| etcd                                         | `etcd`                               | 2379, 2380               |
| MySQL/MariaDB                                | `mariadb_server`                     | 3306                     |
| Monit                                        | `monit`                              | 2812                     |

## Property reference

### Remote Query Dispatcher (RQD) — `db_query_server`

```properties
RemoteQueryDispatcherParameters.queryPort=22013
RemoteQueryDispatcher.workerPort=22012
RemoteQueryDispatcher.webPort=8084
```

### Remote Query Dispatcher — merge (RMD) — `db_merge_server`

```properties
RemoteQueryDispatcherParameters.queryPort=30002
RemoteQueryDispatcher.workerPort=30003
RemoteQueryDispatcher.webPort=8085
```

### RQD workers

```properties
RemoteQueryDispatcher.workerServerPorts=23000-23999
RemoteQueryDispatcher.workerServerWebsocketPorts=24000-24999
```

### RMD workers

```properties
RemoteQueryDispatcher.workerServerPorts=25000-25999
RemoteQueryDispatcher.workerServerWebsocketPorts=26000-26999
```

### RQD/RMD WebSocket

Query servers and merge servers use different WebSocket ports. Set the query-server default outside any stanza, then override for merge servers using a [`[service.name=dbmerge]` stanza](../configuration/deephaven-properties-files.md#scoped-stanzas):

```properties
RemoteQueryDispatcherParameters.websocket.port=22052

[service.name=dbmerge]
RemoteQueryDispatcherParameters.websocket.port=22060
```

### Data Import Server — `db_dis`

Configured in `routing_service.yml`:

```yaml
dataImportServers:
  db_dis:
    tailerPort: 22021
    tableDataPort: 22015
```

> [!NOTE]
> If an in-worker DIS leaves ports undefined, ephemeral ports are used. To define a port range for all in-worker DIS processes, set the following property. On Podman, this range is required because ephemeral ports are unavailable.
>
> ```properties
> DataImportServer.inWorkerIngesterPorts=27000-27999
> ```

### Log Aggregator Service — `log_aggregator_service`

Configured in `routing_service.yml`:

```yaml
logAggregatorServers:
  log_aggregator_service:
    port: 22020
```

### Local Table Data Server — `db_ltds`

Configured in `routing_service.yml`:

```yaml
tableDataServices:
  db_ltds:
    port: 22014
```

### Table Data Cache Proxy — `db_tdcp`

Configured in `routing_service.yml`:

```yaml
tableDataServices:
  db_tdcp:
    port: 22016
```

### Configuration Server — `configuration_server`

```properties
configuration.server.port=22023
envoy.xds.port=8124
```

> [!NOTE]
> Port 8124 is used by [Envoy](../envoy/configuring-envoy.md) to fetch dynamic configuration from the Configuration Server.

### User Authentication Server — `authentication_server`

```properties
authentication.server.port.plaintext=9030
authentication.server.port.ssl=9031
```

### User Access Control Server — `db_acl_write_server`

```properties
DbAclWriteServer.webserver.port=9044
```

### Persistent Query Controller — `iris_controller`

```properties
PersistentQueryController.port=20126
```

### Web API Service — `web_api_service`

```properties
Webapi.server.port=8123
client_update_service.port=8443  # default for HTTPS; 8480 for HTTP
```

### Envoy Proxy — `envoy`

Configured in `envoy.yaml`:

- `8000`: Default listener port for client connections.
- `8001`: Admin interface port.

For more details, see [Configuring Envoy](../envoy/configuring-envoy.md).

### etcd — `etcd`

- `2379`: Client communication port (used by Deephaven processes to read/write configuration data).
- `2380`: Peer communication port (used for etcd cluster member communication).

### MySQL/MariaDB

Configured in `/etc/my.cnf`:

```ini
port=3306
```

### Monit

Configured in `/etc/monitrc`:

```
set httpd port 2812
```

## Related documentation

- [System overview](./ops-guide-overview.md)
- [Configuring Envoy](../envoy/configuring-envoy.md)
- [Remote Query Dispatcher ports](../pq-controller/dispatcher.md#ports)
