POSIX networking for Scylla

Topic: Planning and setup

Learn: How to configure POSIX networking for Scylla

Audience: Developers, devops, integration testers

The Seastar framework used in Scylla can support two networking modes. For high-performance production workloads, use the Data Plane Development Kit (DPDK) for maximum performance on specific modern network hardware.

For ease of development, you can also use POSIX mode, which works on all physical and virtual network devices supported by your operating system.

Kernel Configuration

The Linux “transparent hugepages” feature is recommended, but not required, in POSIX mode to minimize overhead on memory allocations. The value of /sys/kernel/mm/transparent_hugepage/enabled should be always or madvise. See your Linux distribution’s documentation for instructions on how to enable transparent hugepages.

Firewall Configuration

For a single node, the firewall will need to be set up to allow TCP on the following ports:

Scylla REST API 10000
native_transport_port 9042
rpc_port 9160
When running a cluster in POSIX mode, you will also need to open the following TCP ports:
Inter-node communication 7000
SSL inter-node communication 7001
JMX management 7199
When using Prometheus for monitoring, you will also need to open the following TCP ports:
Scylla Prometheus API 9180
node_exporter (Optionally) 9100

Scylla Configuration

POSIX mode is the default, in /etc/sysconfig/scylla-server. Check that NETWORK_MODE is set to posix.

# choose following mode: virtio, dpdk, posix
NETWORK_MODE=posix.

The ETHDRV option is ignored in POSIX mode.