目录
一、redis部署
编译安装
tar zxf redis-6.2.4.tar.gz
cd redis-6.2.4/
make
make install
编辑文件 运行安装脚本
cd utils/
vim install_server.sh
监听本机所有接口
netstat -antlp|grep :6379
vim /etc/redis/6379.conf
/etc/init.d/redis_6379 restart
二、redis主从复制
创建redis实例,直接从vm1上拷贝编译好的redis程序,两边都要安装rsync命令
cd /usr/local/bin/
rsync -a redis-* vm2:/usr/local/bin/
rsync -a redis-* vm3:/usr/local/bin/
vm2上完成redis部署
cd /usr/local/bin/
ls
cd redis-6.2.4/
cd utils/
./install_server.sh
vim /etc/redis/6379.conf
/etc/init.d/redis_6379 restart
其它redis节点依次类推
测试
master写入数据
查看slave端是否同步
三、redis高可用
cp sentinel.conf /etc/redis/
cd /etc/redis/
vim sentinel.conf
sentinel monitor mymaster 192.168.189.111 6379 2
sentinel down-after-milliseconds mymaster 10000
拷贝配置文件 启动服务
scp sentinel.conf vm2:/etc/redis/
scp sentinel.conf vm3:/etc/redis/
redis-sentinel /etc/redis/sentinel.conf
关闭redis master redis集群会自动切换master
redis-cli shutdown
当原来的master再次启动后,会以slave身份加入集群
/etc/init.d/redis_6379 start
redis-cli info
四、redis集群
cd utils/
cd create-cluster/
./create-cluster start
./create-cluster create
查看命令帮助
redis-cli --cluster help
获取集群状态
redis-cli --cluster check 127.0.0.1:30001
连接集群
redis-cli -c -p 30001 info
redis-cli -c -p 30004
set name
yy;
关闭redis实例,集群自动切换再启动redis实例数据完好
redis-cli -c -p 30002 shutdown
./create-cluster start
redis-cli -c -p 30001 get name
再启动两个redis实例
vim create-cluster
./create-cluster start
添加集群节点 新添加的节点没有hash槽,角色时是master
redis-cli --cluster add-node 127.0.0.1:30007 127.0.0.1:30001
添加slave节点 (id根据自己的id输入)
redis-cli --cluster add-node 127.0.0.1:30008 127.0.0.1:30001 --cluster-slave --cluster-master-id 2cfe812f247254aa593f07bcc5e15291b77ecef6
迁移hash槽
redis-cli --cluster reshard 127.0.0.1:30001