Here’s a clear and structured documentation for setting up a Redpanda Cluster based on the details provided.
pssb1avm001
- 172.21.0.61
pssb1avm002
- 172.21.0.62
pssb1abm003
- 172.21.0.63
pssb1avm004
- 172.21.0.64
pssb1avm005
- 172.21.0.65
rpk
(Redpanda CLI) for managing and monitoring the cluster.Update the configuration file (/etc/redpanda/redpanda.yaml
) on pssb1avm001
with the following:
empty_seed_starts_cluster: true
seed_servers: []
Allow all ports to communicate between the redpanda nodes
sudo ufw allow 9092/tcp comment "Allow Kafka API for Redpanda"
sudo ufw allow 8082/tcp comment "Allow HTTP Proxy for Redpanda"
sudo ufw allow 8081/tcp comment "Allow Schema Registry for Redpanda"
sudo ufw allow 9644/tcp comment "Allow Admin API and Prometheus metrics for Redpanda"
sudo ufw allow 33145/tcp comment "Allow internal RPC for Redpanda"
sudo ufw reload
Start Redpanda on the bootstrap node:
systemctl start redpanda
Verify the cluster status:
rpk cluster info
For each additional node (e.g., pssb1avm002
, pssb1abm003
, etc.), update the configuration file (/etc/redpanda/redpanda.yaml
) with the cluster details:
empty_seed_starts_cluster: false
seed_servers:
- host:
address: pssb1avm001
port: 33145
- host:
address: pssb1avm002
port: 33145
- host:
address: pssb1abm003
port: 33145
- host:
address: pssb1avm004
port: 33145
- host:
address: pssb1avm005
port: 33145
Start Redpanda on each joining node:
systemctl start redpanda
Check the cluster status on each node to ensure they have joined:
rpk cluster info
After all nodes are configured and started, verify the cluster:
rpk cluster health
to monitor the cluster:
rpk cluster health
*
in the output).Example output:
CLUSTER
=======
redpanda.da0b4ef6-d859-41cf-8cb9-be990e1c256c
BROKERS
=======
ID HOST PORT
0 pssb1avm001 9092
1* pssb1avm002 9092
3 pssb1avm004 9092
4 pssb1avm005 9092
5 pssb1abm003 9092
Once all nodes are joined, update the redpanda.yaml
file on the bootstrap node to include the seed servers:
empty_seed_starts_cluster: false
seed_servers:
- host:
address: pssb1avm001
port: 33145
- host:
address: pssb1avm002
port: 33145
- host:
address: pssb1abm003
port: 33145
- host:
address: pssb1avm004
port: 33145
- host:
address: pssb1avm005
port: 33145
Restart the Redpanda service:
systemctl restart redpanda
systemctl enable redpanda
rpk cluster info
rpk cluster health
To delete logs and manage disk space:
sudo journalctl -xeu redpanda --vacuum-files=1
sudo rm -rf /data/ms/rpc/redpanda/data/
Redpanda uses the Raft Consensus Algorithm for leader election. If a leader fails, the remaining brokers will elect a new leader.
To add a new node to an existing Redpanda cluster, follow the steps below. The process involves updating the configuration on all existing nodes, as well as configuring the new node to join the cluster.
1. Update Configuration on Existing Nodes
redpanda.yaml
) as follows:
empty_seed_starts_cluster: false
.seed_servers
list. The updated configuration should look like this:empty_seed_starts_cluster: false
seed_servers:
- host:
address: pssb1avm001
port: 33145
- host:
address: pssb1avm002
port: 33145
- host:
address: pssb1abm003
port: 33145
- host:
address: pssb1avm004
port: 33145
- host:
address: pssb1avm005
port: 33145
- host:
address: pssb1avm006
port: 33145
2. Update Configuration on the New Node
redpanda.yaml
configuration file:
empty_seed_starts_cluster: false
.seed_servers
list with the addresses of all nodes in the cluster.empty_seed_starts_cluster: false
seed_servers:
- host:
address: pssb1avm001
port: 33145
- host:
address: pssb1avm002
port: 33145
- host:
address: pssb1abm003
port: 33145
- host:
address: pssb1avm004
port: 33145
- host:
address: pssb1avm005
port: 33145
- host:
address: pssb1avm006
port: 33145
3. Allow Ports on the New Node
9092
, 8081
, 8082
, 33145
, etc.).ufw
(Uncomplicated Firewall) commands:
sudo ufw allow 9092/tcp
sudo ufw allow 8081/tcp
sudo ufw allow 8082/tcp
sudo ufw allow 33145/tcp
4. Start the New Node
sudo systemctl enable --now redpanda
5. Verify Cluster Status
rpk cluster info
This process ensures that the new node is properly added to the existing Redpanda cluster and can communicate with the other nodes.