安装
获取源码包redis-5.0.3.tar.gz
安装gcc
yum install -y gcc
解压进入目录redis-5.0.3,安装
make && make install
初始化配置
cd redis-5.0.3/utils/
./install_server.sh
修改配置文件/etc/redis/6379.conf
重新启动服务
/etc/init.d/redis_6379 restart
配置主从复制(172.25.33.2)
安装redis如上,修改配置文件/etc/redis/6379.conf
内容
重启服务
/etc/init.d/redis_6379 restart
测试
主:172.25.33.1
redis-cli
从:172.25.33.2
主从节点的切换
添加丛节点172.25.33.3
于是
主节点:172.25.33.1
从节点:172.25.33.2/172.25.33.3
拷贝配置文件至/etc/redis目录下
cp redis-5.0.3/sentinel.conf /etc/redis/
修改配置文件/etc/redis/sentinel.conf
protected-mode no
sentinel monitor mymaster 172.25.33.1 6379 2
sentinel down-after-milliseconds mymaster 10000
推送该配置文件至从节点
scp /etc/redis/sentinel.conf server2:/etc/redis/sentinel.conf
scp /etc/redis/sentinel.conf server3:/etc/redis/sentinel.conf
三个节点均开启sentinel服务
redis-server /etc/redis/sentinel.conf --sentinel
查看结果
redis-cli
info Replication
此时关闭主节点172.25.33.1的redis服务
此时进行投票,发现从节点172.25.33.2变成了主节点,查看信息
redis-cli -h 172.25.33.2
修改原主节点172.25.33.1的配置文件
启动172.25.33.1上的redis,此时从节点数目增加
/etc/init.d/redis_6379 restart
redis-cli -h 172.25.33.2
info Replication
创建集群
手工创建
参照
https://blog.youkuaiyun.com/weixin_44224288/article/details/90168628
sh脚本创建
进入目录/root/redis-5.0.3/utils/create-cluster
使用该目录下的create-cluster命令创建集群
./create-cluster start
使用命令使用集群信息
redis-cli --cluster create 127.0.0.1:30001 127.0.0.1:30002 127.0.0.1:30003 127.0.0.1:30004 127.0.0.1:30005 127.0.0.1:30006 --cluster-replicas 1
由上图可知,30002端口的进程和30004端口的进程为主从关系
进入节点
创建变量
进入其他节点,查看该变量,发现端口改变
检查集群的命令
redis-cli --cluster check 127.0.0.1:30001
redis-cli --cluster info 127.0.0.1:30001
验证主从节点的切换:
已知集群中2、4节点为主从,于是shutdown主节点
redis-cli -c -p 30002
查看节点,此时节点4变为主节点
redis-cli --cluster check 127.0.0.1:30001
访问之前设置的key值name,此时端口不再改变
此时在次启动节点2,发现2变为从节点
./create-cluster start
尝试关闭一对主从节点2、4
发现此时无法启动这对节点
此时访问key值name失败
此时写入新的key值也失败
再次启动节点2,4
访问key值成功