一、初始化环境
通过redis-trib工具创建redis-cluster 集群 yum -y install redis-trib #创建目录并添加环境变量 mkdir -p /usr/local/redis/bin/ mkdir -p /data/redis/ echo 'export PATH=$PATH:/usr/local/redis/bin' >> /etc/profile source /etc/profile #生成启动脚本 cat > /data/redis/start.sh <<EOF #!/bin/sh user=redis BINDIR=/usr/local/redis BASEDIR=/data/redis ConfFile=$BASEDIR/redis.conf ThisUser=`whoami` ISInUser=0 if [ $ThisUser == $user ]; then ISInUser=1 fi if [ $ISInUser -eq 1 ]; then $BINDIR/bin/redis-server $ConfFile else su $user -c "$BINDIR/bin/redis-server $ConfFile" fi EOF #生成配置文件 cat > /app/redis/redis.conf<<EOF port 6379 #端口 cluster-enabled yes #开启集群功能 cluster-config-file nodes-6379.conf #集群配置文件 cluster-node-timeout 5000 #集群节点超时时间,单位毫秒 cluster-slave-validity-factor 0 #主节点失联后是否立即升为主节点 appendonly yes #开启AOF模式 appendfsync everysec #fsync模式,每秒写入一次aof maxmemory 8gb #最大内存 maxmemory-policy volatile-lru #内存不足时清除策略 bind 0.0.0.0 #绑定IP dir /data/redis/ #持久化文件路径 appendfilename "appendonly.aof" #保存数据的aof名称 daemonize yes #后台运行 pidfile redis.pid #pid文件 EOF
二、下载、编译、分发指定redis版本
#所有节点 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) #下载redis wget http://download.redis.io/releases/redis-3.2.11.tar.gz tar zxvf redis-3.2.11.tar.gz cd redis-3.2.11 #编译 make cd src 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
三、创建集群
#创建redis集群,3主3从 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