xxggmmxx 发表于 2017-12-21 12:58:07

Redis 3.2.8集群+Sentinel部署

  Redis3.2.8集群搭建
  采用官方推荐的三主三从分片方案,本例中所有节点部署在一台主机上。
  软件安装:
  tar zxvf redis-3.2.8.tar.gz
  cdredis-3.2.8
  make
  make install
  mkdir redis-cluster
  根据端口号,创建六个节点
  mkdir redis-cluser/6379、6380、6381、6382、6383、6384
  拷贝配置文件到各个节点:
  cp redis.confredis-cluser/6379、6380、6381、6382、6383、6384
  修改配置文件:
  vim redis-cluser/6379、6380、6381、6382、6383、6384/redis.conf
  port    #端口号
  pidfile #pid文件
  logfile "/data/local/redis-cluster/6379/redis.log"#日志文件
  cluster-enabled yes#开启集群模式
  cluster-config-file nodes-6380.conf
  若需要远程连接,需要注释掉bind 127.0.0.1 改为 bind 0.0.0.0
  启动:redis-server 6379、6380、81、82、83、84/redis.conf
  安装redis-trib.rb工具:
  安装依赖组件:yum install ruby ruby-devel rubygems rpm-build
  gem install redis
  # redis-trib.rb create --replicas 1 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384
  创建集群,每个节点有一个从节点
  

>>> Creating cluster  

>>> Performing hash slots allocation on 6 nodes...  
Using
3 masters:  

127.0.0.1:6379  
127.0.0.1:6380
  
127.0.0.1:6381
  
Adding replica 127.0.0.1:6382 to 127.0.0.1:6379
  
Adding replica 127.0.0.1:6383 to 127.0.0.1:6380
  
Adding replica 127.0.0.1:6384 to 127.0.0.1:6381
  
M: 46af51f0d193f3e76b322537bc11f9570ca13930 127.0.0.1:6379
  slots:0-5460 (5461 slots) master
  
M: 3caa86acc90199cd882475dc08622fdd522cf9a8 127.0.0.1:6380
  slots:5461-10922 (5462 slots) master
  
M: 01152da2da00e48384714c609241d2f83ca7bdc9 127.0.0.1:6381
  slots:10923-16383 (5461 slots) master
  
S: 825f0c904c8337d6eb8b5685e9b46fe36f7e9e99 127.0.0.1:6382
  replicates 46af51f0d193f3e76b322537bc11f9570ca13930
  
S: 0c01889b111948f334950e84aea677658d91f1bc 127.0.0.1:6383
  replicates 3caa86acc90199cd882475dc08622fdd522cf9a8
  
S: 567f1760b13de130a63396cc4e6983af5f6bca24 127.0.0.1:6384
  replicates 01152da2da00e48384714c609241d2f83ca7bdc9
  
Can I set the above configuration? (type 'yes' to accept):
  

  yes:
  

>>> Nodes configuration updated  

>>> Assign a different config epoch to each node  

>>> Sending CLUSTER MEET messages to join the cluster  
Waiting
for the cluster to join..  

>>> Performing Cluster Check (using node 127.0.0.1:6379)  
M: 46af51f0d193f3e76b322537bc11f9570ca13930
127.0.0.1:6379  slots:0
-5460 (5461 slots) master1 additional replica(s)  
S: 0c01889b111948f334950e84aea677658d91f1bc
127.0.0.1:6383  slots: (0 slots) slave
  replicates 3caa86acc90199cd882475dc08622fdd522cf9a8
  
S: 825f0c904c8337d6eb8b5685e9b46fe36f7e9e99
127.0.0.1:6382  slots: (0 slots) slave
  replicates 46af51f0d193f3e76b322537bc11f9570ca13930
  
S: 567f1760b13de130a63396cc4e6983af5f6bca24
127.0.0.1:6384  slots: (0 slots) slave
  replicates 01152da2da00e48384714c609241d2f83ca7bdc9
  
M: 3caa86acc90199cd882475dc08622fdd522cf9a8
127.0.0.1:6380  slots:
5461-10922 (5462 slots) master1 additional replica(s)  
M: 01152da2da00e48384714c609241d2f83ca7bdc9
127.0.0.1:6381  slots:
10923-16383 (5461 slots) master1 additional replica(s)  
All nodes agree about slots configuration.
  

>>> Check for open slots...  

>>> Check slots coverage...  
All
16384 slots covered.  

  注:使用redis-trib.rb create --replicas 1 这种方式创建主从集群的前提是,至少有6个节点,3主3从
  sentinel
  sentinel.conf:
  注释默认相关配置,添加master监控:
  

sentinel monitor master1 127.0.0.1 6379 2  
sentinel down
-after-milliseconds master1 60000  
sentinel failover
-timeout master1 180000  
sentinel parallel
-syncs master1 1  

  
sentinel monitor master2
127.0.0.1 6380 2  
sentinel down
-after-milliseconds master2 60000  
sentinel failover
-timeout master2 180000  
sentinel parallel
-syncs master2 1  

  
sentinel monitor master3
127.0.0.1 6381 2  
sentinel down
-after-milliseconds master3 60000  
sentinel failover
-timeout master3 180000  
sentinel parallel
-syncs master3 1  

  #redis-server sentinel.conf --sentinel &
  

98310:X 21 Apr 09:50:47.694 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
  
98310:X 21 Apr 09:50:47.695 # Sentinel>  
98310:X 21 Apr 09:50:47.695 # +monitor master master2 127.0.0.1 6380 quorum 2
  
98310:X 21 Apr 09:50:47.695 # +monitor master master3 127.0.0.1 6381 quorum 2
  
98310:X 21 Apr 09:50:47.695 # +monitor master master1 127.0.0.1 6379 quorum 2
  

  配置后台启动:
  sentinel.conf,添加:
  

daemonize yes  

  启动:
  #redis-server sentinel.conf --sentinel
  ========================华丽分割======================
  Redis 3.2 1主1从配置:
  主:
  cluster-enabled no
  logfile /data/local/redis-cluster/6379/redis.log
  requirepass password
  从:
  cluster-enabled no
  logfile /data/local/redis-cluster/6380/redis.log
  requirepass password
  slaveof 127.0.0.1 6379
  masterauth password   必须要注定同步master时的认证密码,否则同步失败。
  启动redis,查看主从状态:
  

#redis-cli -p 6380  
>auth password
  
>info
  

  

  
...
  
# Replication
  
role:slave
  
master_host:127.0.0.1
  
master_port:6379
  
master_link_status:up
  
...
  
页: [1]
查看完整版本: Redis 3.2.8集群+Sentinel部署