Redis集群分两种,在redis3.0版本主要是通过切片池的的概念将多个redis当成一个集群使用,单纯冲redis的角度来说这还是多个单一的redis;之后官方在redis3.0版本中提供了一种redis集群方案,通过官方提供的redis-trib.rb工具可以生成相应的redis集群。下面我们就开始讲如何利用redis-trib.rb部署redis集群。本文使用的是官方推荐的集群方案(3+3),三主三从:
10.7.66.49:7000
10.7.66.49:7001
10.7.66.49:7002
10.7.66.50:7003
10.7.66.50:7004
10.7.66.50:7005
1、在官网http://www.redis.cn/下载redis安装包,当前最新的版本是redis-3.2.8。
2、将redis-3.2.8.tar.gz上传到服务器10.7.66.49和10.7.66.50的redis目录下(没有就新建),解压安装包:
tar -zxvf redis-3.2.8.tar.gz
3、进入redis-3.2.8目录,编译安装:
cd redis-3.2.8
make && make install
cp redis-trib.rb /usr/local/bin
cd redis_cluster
cd redis_cluster
daemonize yes
pidfile /var/run/redis_7000.pid ----其余两个配置redis_7001.pid、redis_7002.pid
cluster-enabled yes
cluster-config-file nodes-7000.conf
cluster-node-timeout 15000
daemonize yes
pidfile /var/run/redis_7003.pid ----其余两个配置redis_7004.pid、redis_7005.pid
cluster-enabled yes
cluster-config-file nodes-7000.conf
cluster-node-timeout 15000
redis-server redis_cluster/7001/redis.conf
redis-server redis_cluster/7002/redis.conf
redis-server redis_cluster/7003/redis.conf
redis-server redis_cluster/7004/redis.conf
redis-server redis_cluster/7005/redis.conf
4、进入src目录,将redis-trib.rb 复制到/usr/local/bin(使redis-trib.rb可在任意目录下使用):
cd src
7、返回redis-3.2.8目录创建redis_cluster目录,并在49的redis_cluster目录下新建7000、7001、7002三个目录,将将redis.conf拷贝到这三个目录下:
cd /redis/redis-3.2.8
mkdir redis_cluster
mkdir 7000 7001 7002
cd /redis/redis-3.2.8
cp redis.conf redis_cluster/7000
cp redis.conf redis_cluster/7001
cp redis.conf redis_cluster/7002
在509的redis_cluster目录下新建7003、7004、7005三个目录,将将redis.conf拷贝到这三个目录下:
cd /redis/redis-3.2.8
mkdir redis_cluster
mkdir 7003 7004 7005
cd /redis/redis-3.2.8
cp redis.conf redis_cluster/7003
cp redis.conf redis_cluster/7004
cp redis.conf redis_cluster/7005
6、进入对于的7000修改相应的redis.conf文件配置启动端口号和目录名一致,bind与服务器IP一致(多台服务器部署集群如果不配置bind会在生成集群的时候无法找到其他服务器的节点),配置后台输出和集群配置,配置内容如下:
49服务器:
port 7000 ----其余两个配置7001、7002
bind 10.7.66.49
50服务器:
port 7003 ----其余两个配置7004、7005
bind 10.7.66.50
7、启动redis:
49服务器:
cd /redis/redis-3.2.8
redis-server redis_cluster/7000/redis.conf
50服务器:
cd /redis/redis-3.2.8
8、redis-trib.rb工具生成redis集群,需要用到ruby语言环境,因为redis-trib.rb是用ruby编写的(只需要在一台服务器上安装就可以),在线安装:
yum install ruby
yum install rubygems
如果无法联网下载最新的安装包上传服务器解压离线安装:
源码下载地址(https://www.ruby-lang.org/en/downloads)
9、安装redis模块,在线安装:
gem install redis --version 3.3.1
离线安装:
gem install -l redis-3.3.1.gem
10、创建集群(官方推荐3+3):
redis-trib.rb create --replicas 1 10.7.66.49:7000 10.7.66.49:7001 10.7.66.49:7002 10.7.66.50:7003 10.7.66.50:7004 10.7.66.50:7005
11、登录集群节点,查看集群节点:
redis-cli -h 10.7.66.73 -c -p 7001
cluster nodes