vim /opt/redis-5.0.7/sentinel.conf
17行:protected-mode no
21行:port 2637926行:daemonize yes
31行:pidfile /var/run/redis-sentinel.pid
36行:logfile "/var/log/sentinel.log"65行:dir "/var/lib/redis/6379"84行:sentinel monitor mymaster 192.168.13.1063792113行:sentinel down-after-milliseconds mymaster 30000146行:sentinel failover-timeout mymaster 180000
scp sentinel.conf 192.168.13.20:`pwd`
scp sentinel.conf 192.168.13.30:`pwd`
cd /opt/redis-5.0.7
redis-sentinel sentinel.conf &
#在另外两台从服务器启动哨兵服务,完成哨兵模式
redis-cli -p 26379 info sentinel
#查看哨兵模式是否搭建成功,如下为成功
master0:name=mymaster,status=ok,address=192.168.13.10:6379,slaves=2,sentinels=3
五、集群搭建
5.1 作用
核心功能:将数据进行分片存储
其余功能:突破redis单机内存限制,故障自动切换,横向扩展服务器能力
5.2 数据分片原理
引用哈希槽概念,每组节点负责一部分哈希槽
对每组数据的key键通过crc16算法得出一个数字,决定对应的哈希槽
哈希槽总数:16384
5.3 集群模式搭建
以主从复制为基础
由于电脑性能有限,因此在一台服务器上模拟运行6个redis服务
systemctl stop firewalld.service
setenforce 0
yum install gcc gcc-c++ make -y
tar zxvf redis-5.0.7.tar.gz
cd redis-5.0.7/
make -j 2&& make PREFIX=/usr/local/redis install
cd utils/./install_server.sh
四次回车后。输入:/usr/local/redis/bin/redis-server回车
ln -s /usr/local/redis/bin/* /usr/local/bin/
/etc/init.d/redis_6379 restart
mkdir -p /etc/redis/redis-cluster/redis600{1..6}
for i in {1..6};do
cp /opt/redis-5.0.7/redis.conf /etc/redis/redis-cluster/redis600$i/
cp /opt/redis-5.0.7/src/redis-cli /opt/redis-5.0.7/src/redis-server /etc/redis/redis-cluster/redis600$i
done
vim /etc/redis/redis-cluster/redis6001/redis.conf
69行:#bind 127.0.0.1
88行:protected-mode no
92行:port 6001
832行:cluster-enabled yes
840行:cluster-config-file nodes-6001.conf
846行:cluster-node-timeout 15000
699行:appendonly yes
for i in {2..6};do
\cp -f /etc/redis/redis-cluster/redis6001/redis.conf /etc/redis/redis-cluster/redis600$i/
done
for i in {2..6};do
sed -i "92c port 600$i" /etc/redis/redis-cluster/redis600$i/redis.conf
sed -i "840c cluster-config-file nodes-600${i}.conf" /etc/redis/redis-cluster/redis600$i/redis.conf
done
for i in {1..6};do
cd /etc/redis/redis-cluster/redis600$i
./redis-server redis.conf
done
redis-cli --cluster create 127.0.0.1:6001 127.0.0.1:6002 127.0.0.1:6003 127.0.0.1:6004 127.0.0.1:6005 127.0.0.1:6006 --cluster-replicas 1
yes
#集群搭建完毕