一,先附上配置文件node
1,master(6379.conf)上面的配置文件redis
daemonize yes pidfile /usr/local/redis/logs/redis_6379.pid port 6379 tcp-backlog 1024 bind 0.0.0.0 timeout 0 tcp-keepalive 60 loglevel notice logfile "/usr/local/redis/logs/redis_6379.log" databases 16 save "" #save 900 1 #save 300 10 #save 60 10000 stop-writes-on-bgsave-error yes rdbcompression yes rdbchecksum yes dbfilename dump.rdb dir /usr/local/redis/data/ #若是作故障切換,不論主從節點都要填寫密碼且要保持一致 masterauth linlin slave-serve-stale-data yes slave-read-only yes repl-disable-tcp-nodelay no slave-priority 100 requirepass linlin appendonly yes appendfilename "appendonly.aof" # appendfsync always appendfsync everysec # appendfsync no no-appendfsync-on-rewrite no auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb aof-load-truncated yes lua-time-limit 5000 slowlog-log-slower-than 1000 slowlog-max-len 1000 latency-monitor-threshold 0 notify-keyspace-events "" hash-max-ziplist-entries 512 hash-max-ziplist-value 64 list-max-ziplist-entries 512 list-max-ziplist-value 64 set-max-intset-entries 512 zset-max-ziplist-entries 128 zset-max-ziplist-value 64 hll-sparse-max-bytes 3000 activerehashing yes client-output-buffer-limit normal 0 0 0 client-output-buffer-limit slave 256mb 64mb 60 client-output-buffer-limit pubsub 32mb 8mb 60 hz 10 aof-rewrite-incremental-fsync yes
2,slave1 (6380.conf)上面的配置文件app
daemonize yes pidfile /usr/local/redis/logs/redis_6380.pid port 6380 tcp-backlog 1024 bind 0.0.0.0 timeout 0 tcp-keepalive 60 loglevel notice logfile "/usr/local/redis/logs/redis_6380.log" databases 16 save "" #save 900 1 #save 300 10 #save 60 10000 stop-writes-on-bgsave-error yes rdbcompression yes rdbchecksum yes dbfilename dump.rdb dir /usr/local/redis/data/ slaveof 10.211.55.7 6379 #若是作故障切換,不論主從節點都要填寫密碼且要保持一致 masterauth linlin slave-serve-stale-data yes slave-read-only yes repl-disable-tcp-nodelay no slave-priority 100 requirepass linlin appendonly yes appendfilename "appendonly.aof" # appendfsync always appendfsync everysec # appendfsync no no-appendfsync-on-rewrite no auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb aof-load-truncated yes lua-time-limit 5000 slowlog-log-slower-than 1000 slowlog-max-len 1000 latency-monitor-threshold 0 notify-keyspace-events "" hash-max-ziplist-entries 512 hash-max-ziplist-value 64 list-max-ziplist-entries 512 list-max-ziplist-value 64 set-max-intset-entries 512 zset-max-ziplist-entries 128 zset-max-ziplist-value 64 hll-sparse-max-bytes 3000 activerehashing yes client-output-buffer-limit normal 0 0 0 client-output-buffer-limit slave 256mb 64mb 60 client-output-buffer-limit pubsub 32mb 8mb 60 hz 10 aof-rewrite-incremental-fsync yes
2,slave2(6381.conf)上面的配置文件tcp
daemonize yes pidfile /usr/local/redis/logs/redis_6381.pid port 6381 tcp-backlog 1024 bind 0.0.0.0 timeout 0 tcp-keepalive 60 loglevel notice logfile "/usr/local/redis/logs/redis_6381.log" databases 16 save "" #save 900 1 #save 300 10 #save 60 10000 stop-writes-on-bgsave-error yes rdbcompression yes rdbchecksum yes dbfilename dump.rdb dir /usr/local/redis/data/ slaveof 10.211.55.7 6379 #若是作故障切換,不論主從節點都要填寫密碼且要保持一致 masterauth linlin slave-serve-stale-data yes slave-read-only yes repl-disable-tcp-nodelay no slave-priority 100 requirepass linlin appendonly yes appendfilename "appendonly.aof" # appendfsync always appendfsync everysec # appendfsync no no-appendfsync-on-rewrite no auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb aof-load-truncated yes lua-time-limit 5000 slowlog-log-slower-than 1000 slowlog-max-len 1000 latency-monitor-threshold 0 notify-keyspace-events "" hash-max-ziplist-entries 512 hash-max-ziplist-value 64 list-max-ziplist-entries 512 list-max-ziplist-value 64 set-max-intset-entries 512 zset-max-ziplist-entries 128 zset-max-ziplist-value 64 hll-sparse-max-bytes 3000 activerehashing yes client-output-buffer-limit normal 0 0 0 client-output-buffer-limit slave 256mb 64mb 60 client-output-buffer-limit pubsub 32mb 8mb 60 hz 10 aof-rewrite-incremental-fsync ye
二,具體搭建過程(上述配置能夠直接用於redis-sentinel集羣使用)ui
1,搭建redis masterlua
cd /usr/local/src
wget http://download.redis.io/releases/redis-3.0.7.tar.gz
tar -zxvf redis-3.0.7.tar.gz
cd redis-3.0.7
make
make PREFIX=/usr/local/redis-3.0.7 install
ln -s /usr/local/redis-3.0.7 /usr/local/redis
mkdir -p /usr/local/redis/conf
cp redis.conf /usr/local/redis/conf/6379.conf (這裏能夠直接用上面的master配置文件)
mkdir -p /usr/local/redis/data
mkdir -p /usr/local/redis/logs
注:
#爲防止啓動redis的時候,有警告信息,因此提早修改參數。spa
echo 'net.core.somaxconn= 2048' >> /etc/sysctl.conf
#這個配置和tcp-backlog有聯繫,可是tcp-backlog不能大於它。3d
echo 'vm.overcommit_memory = 1' >> /etc/sysctl.conf
echo never > /sys/kernel/mm/transparent_hugepage/enabled
sysctl -p orm
echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' >> /etc/rc.localserver
上述master端安裝完畢,啓動master端。
cd /usr/local/redis/bin/
./redis-server ../conf/6379.conf
2, master安裝完成後,安裝slave1端,我這裏有2個slave端,基本上和master配置同樣。slave端有明確的slave of master_ip master_port配置。
cd /usr/local/redis/conf
touch 6380.conf ,能夠直接使用上slave1上的配置內容.
啓動redis salve1節點。
cd /usr/local/redis/bin
./redis-server ../conf/6380.conf
3, 安裝slave2,操做同樣,省略..
cd cd /usr/local/redis/bin
./redis-server ../conf/6381.conf
4,基本上,redis主從搭建完畢,確認一下主從同步是否成功。
設置key,查看是否獲取成功。
以上,表示redis主從搭建完畢。