一,先附上配置文件

 

1,master(6379.conf)上面的配置文件

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)上面的配置文件

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)上面的配置文件

 

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集群使用)

 

1,搭建redis master

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的时候,有警告信息,所以提前修改参数。

echo 'net.core.somaxconn= 2048' >> /etc/sysctl.conf

#这个配置和tcp-backlog有联系,但是tcp-backlog不能大于它。


echo 'vm.overcommit_memory = 1' >> /etc/sysctl.conf
echo never > /sys/kernel/mm/transparent_hugepage/enabled
sysctl -p

echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' >> /etc/rc.local

 

上述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主从搭建完毕,确认一下主从同步是否成功。

 

 

redis主从集群搭建 redis 主从搭建_bc

 

 设置key,查看是否获取成功。

redis主从集群搭建 redis 主从搭建_bc_02

 

 

以上,表示redis主从搭建完毕。