百度注册网站网站字体大小合适
news/
2025/10/1 15:00:19/
文章来源:
百度注册网站,网站字体大小合适,色彩网站设计师,wordpress utf8文章目录 Redis主从部署1.下载安装Redis2.单点双副本主从配置1.修改配置信息2.修改配置文件redis.conf3.拷贝配置文件到每一个实例文件夹里4.修改每一个实例的端口和工作目录5.配置主从关系6.检查效果 3.哨兵模式监控主从1.创建实例目录2.复制配置文件并进行修改3.启动并测试 4… 文章目录 Redis主从部署1.下载安装Redis2.单点双副本主从配置1.修改配置信息2.修改配置文件redis.conf3.拷贝配置文件到每一个实例文件夹里4.修改每一个实例的端口和工作目录5.配置主从关系6.检查效果 3.哨兵模式监控主从1.创建实例目录2.复制配置文件并进行修改3.启动并测试 4.搭建集群1.准备工作2.启动集群3.检查效果 Redis主从部署
1.下载安装Redis
安装依赖
yum -y install wget gcc gcc-c make下载 redis下载地址
wget https://download.redis.io/redis-stable.tar.gz安装
[rootredis1 ~]# mkdir /usr/local/redis
[rootredis1 ~]# tar xf redis-stable.tar.gz -C /usr/local/redis/
[rootredis1 ~]# cd /usr/local/redis/redis-stable/
[rootredis1 redis-stable]# make make install没报错就是安装成功了
2.单点双副本主从配置
包含一个主节点一个从节点
ip端口角色192.168.37.946379master192.168.37.946380slave
1.修改配置信息
创建两个目录给各个节点使用
[rootredis1 redis-stable]# cd /usr/local/redis/
[rootredis1 redis]# mkdir 6379 6380
[rootredis1 redis]# ls
6379 6380 redis-stable2.修改配置文件redis.conf
# redis实例的声明 IP
replica-announce-ip 192.168.37.94
# 开启RDB
# save
save 3600 1
save 300 100
save 60 10000# 关闭AOF
appendonly no# 绑定地址默认是127.0.0.1会导致只能在本地访问。修改为0.0.0.0则可以在任意IP访问
bind 0.0.0.0
# 保护模式关闭保护模式
protected-mode no
# 数据库数量设置为1
databases 13.拷贝配置文件到每一个实例文件夹里
[rootredis1 redis-stable]# cp redis.conf /usr/local/redis/6379/
[rootredis1 redis-stable]# cp redis.conf /usr/local/redis/6380/4.修改每一个实例的端口和工作目录
port 6379 #修改成对应端口
dir /usr/local/redis/6379/ #修改成配置文件目录5.配置主从关系
在从节点的配置文件里添加这一配置
slaveof masterip masterport6.检查效果
连接主库
[rootredis1 ~]# redis-cli -p 6379
127.0.0.1:6379 info replication
# Replication
role:master #这里已经显示master节点
connected_slaves:1
slave0:ip192.168.37.94,port6380,stateonline,offset112,lag1
master_failover_state:no-failover
master_replid:ec57c6ee234cca8fd8ca9b2be04865f4b1f37f11
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:112
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:112
127.0.0.1:6379 exit连接从库
[rootredis1 ~]# redis-cli -p 6380
127.0.0.1:6380 info replication
# Replication
role:slave #这里显示slave节点
master_host:192.168.37.94
master_port:6379
master_link_status:up
master_last_io_seconds_ago:9
master_sync_in_progress:0
slave_read_repl_offset:126
slave_repl_offset:126
slave_priority:100
slave_read_only:1
replica_announced:1
connected_slaves:0
master_failover_state:no-failover
master_replid:ec57c6ee234cca8fd8ca9b2be04865f4b1f37f11
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:126
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:15
repl_backlog_histlen:112
127.0.0.1:6380 exit3.哨兵模式监控主从
要先搭建好主从架构
我们现在搭建一个两节点形成的Sentinel集群来监控之前搭建的主从架构
ip端口节点名称192.168.37.947379s1192.168.37.947380s2
1.创建实例目录
[rootredis1 ~]# mkdir /usr/local/redis/s1 /usr/local/redis/s2
[rootredis1 ~]# cd /usr/local/redis/
[rootredis1 redis]# ll
total 4
drwxr-xr-x. 2 root root 40 Jul 8 10:09 6379
drwxr-xr-x. 2 root root 40 Jul 8 10:10 6380
drwxrwxr-x. 8 1000 1000 4096 Jul 8 09:41 redis-stable
drwxr-xr-x. 2 root root 6 Jul 8 10:23 s1
drwxr-xr-x. 2 root root 6 Jul 8 10:23 s22.复制配置文件并进行修改
[rootredis1 redis-stable]# cp sentinel.conf ../s1/
[rootredis1 redis-stable]# cp sentinel.conf ../s2
[rootredis1 redis-stable]# cd ..
[rootredis1 redis]# ls
6379 6380 redis-stable s1 s2
[rootredis1 redis]# cd s1/
[rootredis1 s1]# vim sentinel.conf
[rootredis1 s1]# cd ../s2
[rootredis1 s2]# vim sentinel.confport 7379 #对应端口
sentinel announce-ip 192.168.37.94 #连接ip
sentinel monitor mymaster 192.168.37.94 6379 1 #主节点ip和端口和从节点数量
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 60000
dir /usr/local/redis/s1port 7379是当前sentinel实例的端口
sentinel announce-ip当前实例的IP
sentinel monitor mymaster 192.168.37.94 6379 1指定主节点信息
mymaster主节点名称自定义任意写 192.168.37.94 6379主节点的ip和端口 1选举master时的quorum值低于某个值则集群会停止服务。 dir日志存储的路径
3.启动并测试
[rootredis1 redis]# redis-sentinel s2/sentinel.conf
[rootredis1 redis]# redis-sentinel s1/sentinel.conf我们尝试让6379宕机 从节点报错几次之后就会被切换成主节点 哨兵节点日志
在sentinel集群环境下需要多个sentinel互相沟通来确认某个master是否真的死了quorum这个参数是进行客观下线的一个依据意思是至少有quorum个sentinel认为这个master有故障才会对这个master进行下线以及故障转移。因为有的时候某个sentinel节点可能因为自身网络原因导致无法连接master而此时master并没有出现故障所以这就需要多个sentinel都一致认为该master有问题才可以进行下一步操作这就保证了公平性和高可用。
4.搭建集群
1.准备工作
因为集群操作需要新的节点进行部署我这边直接删掉了原来的主从节点
[rootredis1 redis]# rm -rf 6379 6380 s1 s2
[rootredis1 redis]# ls
redis-stable
[rootredis1 redis]# mkdir 6379 6380 6381 7379 7380 7381准备一个新的redis.conf文件内容如下
daemonize yes
bind 0.0.0.0
dir /opt/redis-stable/cluster/
port 6379
dbfilename dump_6379.rdb
pidfile /var/run/redis_6379.pid
# 开启集群设置
cluster-enabled yes
# 设置节点配置文件
cluster-config-file node-6379.conf
# 设置节点失联时间超过该时间(毫秒)集群自动进行主从切换
cluster-node-timeout 15000将配置文件复制到所有的文件夹中然后启动所有的redis节点2.启动集群
[rootredis1 ~]# /usr/local/redis/redis-stable/src/redis-cli --cluster create --cluster-replicas 1 192.168.37.94:6379 192.168.37.94:6380 192.168.37.94:6381 192.168.37.94:7379 192.168.37.94:7380 192.168.37.94:73813.检查效果
[rootredis1 ~]# redis-cli -p 6379
127.0.0.1:6379 set a 1
(error) MOVED 15495 192.168.37.94:6381 #如果正常的使用就会出现报错
[rootredis1 ~]# redis-cli -c -p 6379 #集群操作的时候要加-c选项
127.0.0.1:6379 set a 1
- Redirected to slot [15495] located at 192.168.37.94:6381
OK
192.168.37.94:6381
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/923958.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!