1、Redis集群创建时,拒绝连接Connection refused
[root@localhost redis627]# redis-cli --cluster create 192.168.255.165:7001 192.168.255.165:7002 192.168.255.166:7001 192.168.255.166:7002 192.168.255.167:7001 192.168.255.167:7002 --cluster-replicas 1
Could not connect to Redis at 192.168.255.165:7001: Connection refused
解决方案:
cd /opt/redis627/7001
vi redis7001.conf
修改bind 0.0.0.0即可
2、创建redis启动服务
注意路径
cp -r /opt/redis627/src/redis-server /usr/bin/redis-server
cp -r /opt/redis627/src/redis-cli /usr/bin/redis-cli
cat > /etc/systemd/system/redis@.service << EOF
[Unit]
Description=Redis persistent key-value database
After=network.target
[Service]
User=redis
Group=redis
#如果在启动时timeout或者查看状态一直为Activating建议使用默认Type注释掉此参数。如果需要用forking需要配置PIDFile地址 --daemonize yes
Type=notify
ExecStart=/usr/bin/redis-server /opt/redis627/%i/redis%i.conf --daemonize no --supervised systemd
ExecStop=/usr/bin/redis-cli -p %i shutdown
LimitNOFILE=10240
TimeoutStartSec=90s
TimeoutStopSec=90s
Restart=always
[Install]
WantedBy=multi-user.target
EOF
3、执行启动报错ExecStart=/usr/bin/redis-server /opt/redis627/%i/redis%i.conf
systemctl status redis@7001.service
● redis@7001.service - Redis persistent key-value database
Loaded: loaded (/etc/systemd/system/redis@.service; enabled; vendor preset: disabled)
Active: failed (Result: start-limit) since Tue 2023-09-26 17:14:57 CST; 2min 26s ago
Process: 1649 ExecStart=/usr/bin/redis-server /opt/redis627/%i/redis%i.conf --daemonize no --supervised systemd (code=exited, status=127)
Main PID: 1649 (code=exited, status=127)
Sep 26 17:14:56 localhost.localdomain systemd[1]: redis@7001.service: main process exited, code=exited, status=127/n/a
解决方案:
sudo chmod 776 /opt/redis627/7001/redis7001.conf
sudo chmod 776 /opt/redis627/7002/redis7002.conf
4、找不到主机No route to host
[root@localhost 7002]# redis-cli --cluster create 192.168.255.165:7001 192.168.255.165:7002 192.168.255.166:7001 192.168.255.166:7002 192.168.255.167:7001 192.168.255.167:7002 --cluster-replicas 1
Could not connect to Redis at 192.168.255.165:7001: No route to host
解决方案:192.168.255.165开启防火墙了,需要把端口开放。
防火墙开放端口
firewall-cmd --permanent --add-port=7001/tcp
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
[ERR] Node 192.168.255.165:7002 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0.
按照提示删除7002/目录下的rdb、log、nodes-.conf、.pid 重启节点。