1 新建目录 “/app/redis”,输入命令 mkdir -p /app/redis
2 先安装ruby-2.3.1.tar.gz
3 测试ruby是否安装成功,输入命令:gem,如果显示以下信息表示成功
4 解压 redis-3.2.1.zip 得到redis-3.2.1.gem
5 安装redis gem : gem install --local redis-3.2.1.gem -V
6 解压 redis-3.2.0.tar.gz 拷贝到/app/redis/redis-3.2.0,并安装
7 测试redis是否安装成功,输入命令:“redis-server”,启动服务,信息如下
8 测试通过之后,因为6379端口没有配置后台启动,所以直接CTRL+C结束该进程,或者直接关闭shell窗口也可停止redis
9 创建集群需要的目录
mkdir /app/redis/redis-nodes
cd /app/redis/redis-nodes
mkdir 7001
mkdir 7002
mkdir 7003
mkdir 7004
mkdir 7005
mkdir 7006
mkdir 7007
mkdir 7008
10 修改配置文件
从/app/redis/redis-3.2.0拷贝redis.conf配置文件的到上述7001~7008文件下并修改配置文件中的下面选项
bind 0.0.0.0 #绑定的主机地址
port 7001 #每个节点目录对应同样的端口
tcp-backlog 1024 #TCP发送队列即Send-Q大小
tcp-keepalive 60 # redis服务器与客户端保活参数
daemonize yes #启用守护进程
pidfile /app/redis/redis-nodes/7001/redis.pid #进程文件路径
logfile "/app/redis/redis-nodes/7001/redis.log" #日志文件路径
dir /app/redis/redis-nodes/7001/ #节点目录
maxclients 10000 #同一时间最大客户端连接数
maxmemory 1.5gb #redis最大内存限制
appendonly yes #设置redis启动自动加载appendonly.aof文件
cluster-enabled yes #开启集群
cluster-config-file nodes.conf #集群配置文件
cluster-node-timeout 5000 #集群节点超时时间
11 启动集群节点
redis-server /app/redis/redis-nodes/7001/redis.conf,其他节点以此类推
12 启动之后使用命令查看redis的启动情况
ps -ef|grep redis
13 启动服务器的主从复制
比如有三台服务器10.135.6.215/216/217,每台服务器8个节点,整个集群环境共24个节点
14 随机选择在一台服务器上执行以下命令
cd /app/redis/redis3.2.0/src
./redis-trib.rb create --replicas 1 10.135.6.215:7001 10.135.6.215:7002 10.135.6.215:7003 10.135.6.215:7004 10.135.6.216:7001 10.135.6.216:7002 10.135.6.216:7003 10.135.6.216:7004 10.135.6.217:7001 10.135.6.217:7002 10.135.6.217:7003 10.135.6.217:7004 10.135.6.215:7005 10.135.6.215:7006 10.135.6.215:7007 10.135.6.215:7008 10.135.6.216:7005 10.135.6.216:7006 10.135.6.216:7007 10.135.6.216:7008 10.135.6.217:7005 10.135.6.217:7006 10.135.6.217:7007 10.135.6.217:7008
15 查看集群启动状态,输入命令:redis-cli -c -p 7001
16 查看主从节点状态,输入命令:cluster nodes
17 故障场景
当redis-cluster重启再次启动时候, 要把每个节点下的除redis.conf的其他文件全部删除,否则创建主从复制的时候会出现失败: