1、初始化环境
1 通过redis-trib工具创建redis-cluster 集群
2 yum -y install redis-trib
3
4 #创建目录并添加环境变量
5 mkdir -p /usr/local/redis/bin/
6 mkdir -p /data/redis/
7 echo 'export PATH=$PATH:/usr/local/redis/bin' >> /etc/profile
8 source /etc/profile
9
10 #生成启动脚本
11 cat > /data/redis/start.sh <<EOF
12 #!/bin/sh
13 user=redis
14 BINDIR=/usr/local/redis
15 BASEDIR=/data/redis
16 ConfFile=\$BASEDIR/redis.conf
17 ThisUser=`whoami`
18 ISInUser=0
19 if [ \$ThisUser == \$user ]; then
20 ISInUser=1
21 fi
22 if [ \$ISInUser -eq 1 ]; then
23 \$BINDIR/bin/redis-server \$ConfFile
24 else
25 su \$user -c "\$BINDIR/bin/redis-server \$ConfFile"
26 fi
27 EOF
28
29 #生成配置文件
30 cat > /app/redis/redis.conf<<EOF
31 port 6379
32 #端口
33 cluster-enabled yes
34 #开启集群功能
35 cluster-config-file nodes-6379.conf
36 #集群配置文件
37 cluster-node-timeout 5000
38 #集群节点超时时间,单位毫秒
39 cluster-slave-validity-factor 0
40 #主节点失联后是否立即升为主节点
41 appendonly yes
42 #开启AOF模式
43 appendfsync everysec
44 #fsync模式,每秒写入一次aof
45 maxmemory 8gb
46 #最大内存
47 maxmemory-policy volatile-lru
48 #内存不足时清除策略
49 bind 0.0.0.0
50 #绑定IP
51 dir /data/redis/
52 #持久化文件路径
53 appendfilename "appendonly.aof"
54 #保存数据的aof名称
55 daemonize yes
56 #后台运行
57 pidfile redis.pid
58 #pid文件
59 EOF
2、下载、编译、分发指定redis版本
1 #所有节点
2 node=(10.20.242.2 10.20.242.3 10.20.242.4 10.20.242.5 10.20.242.6 10.20.242.7)
3
4 #下载redis
5 wget http://download.redis.io/releases/redis-3.2.11.tar.gz
6 tar zxvf redis-3.2.11.tar.gz
7 cd redis-3.2.11
8 #编译
9 make
10 cd src
11 for i in ${node[@]};do scp redis-cli redis-server redis-check-aof redis-check-aof redis-sentinel redis-benchmark $i:/usr/local/redis/bin/ ;done
3、创建集群
1 #创建redis集群,3主3从
2 redis-trib create --replicas 1 10.20.242.2:6379 10.20.242.3:6379 10.20.242.4:6379 10.20.242.5:6379 10.20.242.6:6379 10.20.242.7:6379