主从复制
一主二仆
[root @linux -mini redis]# cp /usr/redis/redis- 5.0.5 /redis.conf /usr/redis/myredis/reids6380.conf[root @linux -mini redis]# cp /usr/redis/redis- 5.0.5 /redis.conf /usr/redis/myredis/reids6381.conf[root @linux -mini redis]# cp /usr/redis/redis- 5.0.5 /redis.conf /usr/redis/myredis/reids6382.conf
修改配置文件中的配置信息
: 69 bind 192.168.48.142 绑定 IP: 92 port 6666 实例端口号: 136 daemonize yes 守护方式运行: 158 pidfile 进程文件: 253 dbfilename 持久化数据库文件
启动三台redis服器
/usr/redis/bin/redis-server /usr/redis/myredis/reids6380.conf/usr/redis/bin/redis-server /usr/redis/myredis/reids6381.conf/usr/redis/bin/redis-server /usr/redis/myredis/reids6382.conf
查看三台服务器的运行情况
连接客户端 :
/usr/redis/bin/redis-cli -h 192.168.206.131 -p 6380/usr/redis/bin/redis-cli -h 192.168.206.131 -p 6381/usr/redis/bin/redis-cli -h 192.168.206.131 -p 6382
主机挂掉,重启就行,一切如初
从机重启需重设:slaveof 192.168.206.131 6380
薪火相传
反客为主
哨兵模式(sentinel)
反客为主的自动版,能够后台监控主机是否故障,如果故障了根据投票数自动将从库转换为主库
配置哨兵,填写内容
sentinel monitor mymaster 127.0.0.1 6379 1
执行/usr/redis/bin/redis-sentinel /usr/java/myredis/sentinel.conf
当主机挂掉,从机选举中产生新的主机
搭建redis集群
规划网络
创建 Redis 节点
创建目录
在 redis_cluster 目录下,创建名为7001、7002,7003、7004、7005,7006的目录
mkdir 7001 7002 7003 7004 7005 7006
将 redis.conf 拷贝到这六个目录中
cp /usr/redis/redis-5.0.5/redis.conf /usr/redis/redis_cluster/7001
配置redis7001.conf
bind 192.168.159.34 #69port 7001 #92daemonize yes #136pidfile "/var/run/redis_7001.pid" #158logfile "/usr/redis/redis_cluster/7001/redis_7001.log" #171dbfilename "dump_7001.rdb" #253dir "/usr/redis/redis_cluster/7001" #263cluster-enabled yes #832 启用集群配置cluster-config-file nodes-7001.conf #840 设置集群配置文件cluster-node-timeout 15000 #846 请求超时时间
后台启动
修改每个文件中的配置
:%s/7001/7002/g #将文件中7001批量替换为7002
启动这6个redis
[root@localhost redis_cluster]# /usr/redis/bin/redis-server/usr/redis/redis_cluster/7001/redis.conf[root@localhost redis_cluster]# /usr/redis/bin/redis-server/usr/redis/redis_cluster/7002/redis.conf[root@localhost redis_cluster]# /usr/redis/bin/redis-server/usr/redis/redis_cluster/7002/redis.conf[root@localhost redis_cluster]# /usr/redis/bin/redis-server/usr/redis/redis_cluster/7003/redis.conf[root@localhost redis_cluster]# /usr/redis/bin/redis-server/usr/redis/redis_cluster/7004/redis.conf[root@localhost redis_cluster]# /usr/redis/bin/redis-server/usr/redis/redis_cluster/7005/redis.conf[root@localhost redis_cluster]# /usr/redis/bin/redis-server/usr/redis/redis_cluster/7006/redis.conf
创建redis的集群
/usr/java/redis/bin/redis-cli --cluster create 192.168.206.131:7001 192.168.206.131:7002 192.168.206.131:7003 192.168.206.131:7004 192.168.206.131:7005192.168.206.131:7006 --cluster-replicas 1
使用cli连接redis集群
使用客户端链接集群 必须使用 -c 连接
/usr/java/redis/bin/redis-cli -c -h 192.168.206.131 -p 7002
查看集群的节点的信息 :cluster nodes
检查集群的状态
/usr/java/redis/bin/redis-cli --cluster check 192.206.131:7002