Setup cluster nodes

  • setup data folder
1
2
3
4
cd /var/lib
sudo mkdir redis-{1,2,3,4,5,6}
sudo chown redis:redis redis-{1,2,3,4,5,6}
sudo chmod 750 redis-{1,2,3,4,5,6}
  • /etc/redis/node-X.conf
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
bind 0.0.0.0
port 637X
daemonize no
protected-mode no
dir /var/lib/redis-X

cluster-enabled yes
cluster-config-file /tmp/redis-node-X.conf
cluster-node-timeout 5000

appendonly yes
appendfsync everysec
  • /usr/lib/systemd/system/redis-node-X.service
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[Unit]
Description=Advanced key-value store
After=network.target

[Service]
Type=notify
User=redis
Group=redis
ExecStart=/usr/bin/redis-server /etc/redis/node-X.conf --supervised systemd
TimeoutStartSec=60
TimeoutStopSec=60
CapabilityBoundingSet=
PrivateTmp=true
PrivateDevices=true
ProtectSystem=full
ProtectHome=true
NoNewPrivileges=true
RuntimeDirectory=redis
RuntimeDirectoryMode=755
LimitNOFILE=10032

[Install]
WantedBy=multi-user.target
  • start node
1
2
sudo systemctl enable redis-node-X
sudo systemctl start redis-node-X
  • init cluster
1
redis-cli --cluster create 127.0.0.1:6371 127.0.0.1:6372 127.0.0.1:6373 127.0.0.1:6374 127.0.0.1:6375 127.0.0.1:6376

Usages

  • Show cluster nodes
1
2
$ redis-cli -h localhost -p 6371
> cluster nodes