Linux Redis集群配置
《Redis安装教程》
《入门版Redis集群教程》
服务器列表:
192.168.1.13
192.168.1.14
192.168.1.15
192.168.1.16
192.168.1.17
192.168.1.18
开放Redis6379端口和总线端口16379
firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --zone=public --add-port=16379/tcp --permanent
firewall-cmd --reload
先停止单机redis
没有redis.service在最底下有完整的,其实就是为了停止redis,不用也行的,不用就直接kill掉redis
systemctl stop redis.service
授权redis.conf
chmod -R 777 /usr/local/redis-6.2.6/redis.conf
软链接
ln -s /usr/local/redis-6.2.6/bin/redis-server /usr/bin
ln -s /usr/local/redis-6.2.6/bin/redis-cli /usr/bin
ln -s /usr/local/redis-6.2.6/bin/redis-sentinel /usr/bin
创建并进入cluster文件夹
mkdir /usr/local/redis-6.2.6/cluster
创建配置文件
vim /usr/local/redis-6.2.6/cluster/redis-cluster.conf
内容如下
include /usr/local/redis-6.2.6/redis.conf
pidfile "/var/run/redis_cluster.pid"
port 6379
dbfilename "dump-cluster.rdb"
logfile "/usr/local/redis-6.2.6/cluster/redis-cluster.log"
cluster-enabled yes
cluster-config-file nodes-cluster.conf
cluster-node-timeout 15000
创建sentinel哨兵
vim /usr/local/redis-6.2.6/cluster/sentinel.conf
内容如下
daemonize yes
sentinel monitor mymaster 127.0.0.1 6379 1
启动哨兵
redis-sentinel /usr/local/redis-6.2.6/cluster/sentinel.conf
启动redis-server
redis-server /usr/local/redis-6.2.6/cluster/redis-cluster.conf
上面的命令都是6台redis都要执行的,下面这个只要其中一台执行就行。但是要等全部服务器都执行完上面的再执行下面这行命令
配置主从复制集群
redis-cli --cluster create --cluster-replicas 1 192.168.1.13:6379 192.168.1.14:6379 192.168.1.15:6379 192.168.1.16:6379 192.168.1.17:6379 192.168.1.18:6379
遇到Can I set the above configuration? (type ‘yes’ to accept):直接输入yes
[OK] All nodes agree about slots configuration. 出现这个就说明集群启动成功了
连接集群
redis-cli -c -p 6379
cluster nodes
打印出6个集群列表说明成功,如:
dab2fc2abd6673f852b692b3272f9da2f790d948 19.130.196.13:6379@16379 slave 78d91629f6fe20364887d412f091ba040ca7571c 0 1664177677000 2 connected
f24a0bb5bded3109390eee3e52ee90350d7c8864 192.168.1.14:6379@16379 master - 0 1664177677898 3 connected 10923-16383
32f74c88b80afd2e432875e8a00037cabaa23fda 192.168.1.15:6379@16379 myself,master - 0 1664177678000 1 connected 0-5460
4fd037a6c7e5124482caa74458c1e62d1dbc981f 192.168.1.16:6379@16379 slave f24a0bb5bded3109390eee3e52ee90350d7c8864 0 1664177678903 3 connected
78d91629f6fe20364887d412f091ba040ca7571c 192.168.1.17:6379@16379 master - 0 1664177675000 2 connected 5461-10922
53452ba16353b1e1bbea9c2bca229ae4213417bf 192.168.1.18:6379@16379 slave 32f74c88b80afd2e432875e8a00037cabaa23fda 0 1664177676893 1 connected
redis.service
vi /etc/systemd/system/redis.service
内容如下:
[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/redis-6.2.6/bin/redis-server /usr/local/redis-6.2.6/redis.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
启动redis
systemctl daemon-reload
systemctl start redis.service
systemctl enable redis.service
详细命令列表
systemctl start redis.service #启动redis服务
systemctl stop redis.service #停止redis服务
systemctl restart redis.service #重新启动服务
systemctl status redis.service #查看服务当前状态
systemctl enable redis.service #设置开机自启动
systemctl disable redis.service #停止开机自启动