nics 发表于 2018-11-2 10:50:04

Redis 在CentOS 6上的 安装和部署以及redis的主从复制sentinel实现HA

配置文件: /etc/redis-sentinel.conf  vim /etc/redis-sentinel.conf
  port 26379    //默认监听端口
  # sentinel monitor      //这项最重要,指明监控的master
  sentinel monitor mymaster 10.0.0.6 6379 2
  # Default is 30 seconds.      //sentinel认为服务器不在线最少经过的秒数,判断某节点不在线的超时时间,默认为毫秒
  sentinel down-after-milliseconds mymaster 30000
  # sentinel parallel-syncs          //指定了在执行故障转移时,最多可以有多少个从服务器对新主服务器进行同步
  entinel parallel-syncs mymaster 1
  # sentinel failover-timeout      //故障转移超时时长,也就是说master故障时,把一个slave提升为master的最长时间
  # Default is 3 minutes.
  sentinel failover-timeout mymaster 180000
  示例:三个节点(1个master节点,2 slave节点,1 sentinel)
  node1:master    10.0.0.6
  node2:slave       10.0.0.7
  node3 : slave       10.0.0.8
  在 node1, node2, node3安装redis(需要有epel源)
  # yum -y install redis
  在node1, node2, node3修改配置文件
  # vim /etc/redis.conf
  daemonizeyes    //以守护进程的方式启动
  bind 0.0.0.0   //监听在本机的所有地址
  启动node1, node2,node3 redis,还没有设置主从复制
  node1:
  # redis-server /etc/redis.conf
  # ss -tnl | grep redis-server
  # ss -tnl | grep 6379
  LISTEN   0      128                     *:6379                     *:*
  # redis-cli
  127.0.0.1:6379> INFO replication
  # Replication
  role:master
  connected_slaves:0
  master_repl_offset:0
  repl_backlog_active:0
  repl_backlog_size:1048576
  repl_backlog_first_byte_offset:0
  repl_backlog_histlen:0
  127.0.0.1:6379>
  node2:                                                         //这个是CentOS 7下手动源码安装的 redis-4.0.10,这个没有没有影响
  # redis-cli
  127.0.0.1:6379> INFO replication
  # Replication
  role:master
  connected_slaves:0
  master_replid:6678af3be5f3af43963f5018fc767c8991945239
  master_replid2:0000000000000000000000000000000000000000
  master_repl_offset:0
  second_repl_offset:-1
  repl_backlog_active:0
  repl_backlog_size:1048576
  repl_backlog_first_byte_offset:0
  repl_backlog_histlen:0
  127.0.0.1:6379>
  node3:
  # redis-cli
  127.0.0.1:6379> INFO replication
  # Replication
  role:master
  connected_slaves:0
  master_repl_offset:0
  repl_backlog_active:0
  repl_backlog_size:1048576
  repl_backlog_first_byte_offset:0
  repl_backlog_histlen:0
  127.0.0.1:6379>
  设置主从:设置node2,node3为slave
  node2:
  > CONFIG SLAVEOF 10.0.0.6
  node3:
  > CONFIG SLAVEOF 10.0.0.8
  验证主从:
  node1:
  # redis-cli
  127.0.0.1:6379> INFO replication
  # Replication
  role:master                                                   //master
  connected_slaves:0
  master_repl_offset:0
  repl_backlog_active:0
  repl_backlog_size:1048576
  repl_backlog_first_byte_offset:0
  repl_backlog_histlen:0
  127.0.0.1:6379> INFO replication
  # Replication
  role:master
  connected_slaves:2
  slave0:ip=10.0.0.7,port=6379,state=online,offset=365,lag=1
  slave1:ip=10.0.0.8,port=6379,state=online,offset=365,lag=0
  master_repl_offset:365
  repl_backlog_active:1
  repl_backlog_size:1048576
  repl_backlog_first_byte_offset:2
  repl_backlog_histlen:364
  127.0.0.1:6379>
  node2:
  # redis-cli
  127.0.0.1:6379> SLAVEOF 10.0.0.6 6379
  OK
  127.0.0.1:6379> INFO replication
  # Replication
  role:slave                                                               //slave
  master_host:10.0.0.6
  master_port:6379
  master_link_status:up
  master_last_io_seconds_ago:5
  master_sync_in_progress:0
  slave_repl_offset:57
  slave_priority:100
  slave_read_only:1
  connected_slaves:0
  master_replid:d1c08312fe30d1259d943f1a09bd7aa5b7bebf01
  master_replid2:0000000000000000000000000000000000000000
  master_repl_offset:57
  second_repl_offset:-1
  repl_backlog_active:1
  repl_backlog_size:1048576
  repl_backlog_first_byte_offset:30
  repl_backlog_histlen:28
  127.0.0.1:6379>
  node3:
  # redis-cli
  127.0.0.1:6379> SLAVEOF 10.0.0.6 6379
  OK
  127.0.0.1:6379> INFO replication
  # Replication
  role:slave                                                      //slave
  master_host:10.0.0.6
  master_port:6379
  master_link_status:up
  master_last_io_seconds_ago:6
  master_sync_in_progress:0
  slave_repl_offset:253
  slave_priority:100
  slave_read_only:1
  connected_slaves:0
  master_repl_offset:0
  repl_backlog_active:0
  repl_backlog_size:1048576
  repl_backlog_first_byte_offset:0
  repl_backlog_histlen:0
  127.0.0.1:6379>
  这样我们的主从复制就配置好了,为了进一步验证主从复制,我们在master上写入数据,查看下slave上面的数据情况
  node1:
  127.0.0.1:6379> SET cache memcached
  OK
  127.0.0.1:6379> GET cache
  "memcached"
  node2:
  127.0.0.1:6379> GET cache
  "memcached"
  node3:
  127.0.0.1:6379> GET cache
  "memcached"

页: [1]
查看完整版本: Redis 在CentOS 6上的 安装和部署以及redis的主从复制sentinel实现HA