Deploying Redpanda for Production
For best performance, provision hardware according to these requirements:
XFS for the data directory of Redpanda (
A kernel that is at least 3.10.0-514, 4.18 or newer is preferred
Local NVMe, RAID-0 when using multiple disks
2GB of memory per core
33145- internal RPC port
9092- Kafka API port
8082- HTTP Proxy port
8081- Schema Registry port
9644- Prometheus and HTTP admin port
You can use Terraform to deploy Redpanda.
After the hardware is provisioned, install Redpanda and configure it for production use.
You can also install Redpanda using an Ansible playbook.
Install the binary on either Fedora/RedHat or Debian systems.
curl -1sLf 'https://dl.redpanda.com/nzc4ZYQK3WRGd9sy/redpanda/cfg/setup/bash.rpm.sh' | \ sudo -E bash && sudo yum install redpanda -y
curl -1sLf 'https://dl.redpanda.com/nzc4ZYQK3WRGd9sy/redpanda/cfg/setup/bash.deb.sh' | \ sudo -E bash && sudo apt install redpanda -y
By default, Redpanda is installed in development mode, which turns off hardware optimization.
To enable hardware optimization, set Redpanda to run in production mode:
sudo rpk redpanda mode production
To tune the hardware, on each node:
sudo rpk redpanda tune all
Optional: Benchmark your SSD
On taller machines, Redpanda recommends benchmarking your SSD. This can be done
If you’re on AWS, GCP, or Azure, creating a new instance and upgrading to an image with a recent Linux kernel version is often the easiest way to work around bad devices.
After the software is installed, you must configure it. The first step is to set up the root node. The root node starts as a standalone node, and every other one joins it, forming a cluster along the way.
For the root node, choose 0 as its ID. The
--self option tells the node which interface address to bind to. Usually you want that to be its private IP.
sudo rpk config bootstrap --id 0 --self <ip> && \ sudo systemctl start redpanda-tuner redpanda
If clients will connect from a different subnet, see Configuring Listeners.
For every other node, you have to choose a unique integer ID for it, and let it know where to reach the root node.
sudo rpk config bootstrap --id <unique id> \ --self <private ip> \ --ips <root node ip> && \ sudo systemctl start redpanda-tuner redpanda