redis 集群部署
redis 部署生产中一般存在三种:
1、单机
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。2、哨兵(主从)
3、集群
今天主要整理的是集群部分,在产生环境应该的比较多,集群中至少需要3个主数据库才能正常运行。
部署版本与环境
linux:redhat 7.0
redis:redis-4.0.6
rudy(默认redhat7.0自带的2.0.0)
安装redis
redis-4.0.6.tar.gz
cd redis-4.0.6
make
make install
安装很简单.然后建立以下目录,将redis.conf复制到目录下
redis-4.0.6
redis-4.0.6-01
redis-4.0.6-02
redis.conf文件说明:
cluster-enabled yes #开启集群功能
cluster-config-file nodes-6379.conf #记录集群状态
port 6379 #修改端口
dir "/tmp #路径
dbfilename "dump.rdb" #数据库名称
daemonize yes #如果为yes的话,后台运行
基本的配置修改以上项就可以了。
redis 中提供了一个辅助工具redis-trib.rb 可以很简单的完成集群初始化,在使用这个工具前提要安装ruby. 然后安装一个插件
1、在线安装插件
gem install redis
2、离线安装插件
手动下载https://rubygems.org/ redis插件 版本选择redis-3.3.5.gem。
gem install redis-3.3.5.gem
启动各节点redis
redis-server redis.conf #启动
redis-cli -p 6379 #登录
info cluster #查看节点
#Cluster
cluster_enabled:1 #1表示集群正常使用了
开始初始化集群
cd redis-4.0.6/src ./redis-trib.rb create 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 >>> Creating cluster >>> Performing hash slots allocation on 3 nodes... Using 3 masters: 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 M: 4e7acc44a19f39ee620944387327ca3fe4f54422 127.0.0.1:6379 slots:0-5460 (5461 slots) master M: 4d685b9d12ceff9905bdb05fc3b83be481676ebb 127.0.0.1:6380 slots:5461-10922 (5462 slots) master M: a388a5042ce4c578454569b94e5297c14dd99d89 127.0.0.1:6381 slots:10923-16383 (5461 slots) master Can I set the above configuration? (type 'yes' to accept): >>> 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: 4e7acc44a19f39ee620944387327ca3fe4f54422 127.0.0.1:6379 slots:0-5460 (5461 slots) master 0 additional replica(s) M: 4d685b9d12ceff9905bdb05fc3b83be481676ebb 127.0.0.1:6380 slots:5461-10922 (5462 slots) master 0 additional replica(s) M: a388a5042ce4c578454569b94e5297c14dd99d89 127.0.0.1:6381 slots:10923-16383 (5461 slots) master 0 additional replica(s) [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered.到这里集群就部署完毕了。
