节点IP信息
主节点1:192.168.125.148
主节点2:192.168.125.149
从节点1:192.168.125.150
安装必要的软件包
yum -y install gcc wget lrzsz net-tools
下载redis源码包4.0.8
cd /usr/local/src/
wgethttp://download.redis.io/releases/redis-4.0.8.tar.gz
编译安装
# tar -zxvfredis-4.0.8.tar.gz && cd redis-4.0.8
# mkdir -p/app/redis/conf;mkdir -p /app/logs/redis/;mkdir -p /data/redis
# make && makePREFIX=/app/redis install
# vim/app/redis/conf/redis.conf #主节点1
bind 192.168.125.148127.0.0.1
protected-mode no
port 6379
tcp-backlog 1024
timeout 0
tcp-keepalive 300
daemonize no
supervised systemd
pidfile"/var/run/redis.pid"
loglevel notice
logfile"/app/logs/redis/redis.log"
dir"/data/redis"
databases 16
always-show-logo yes
########关闭rdb持久化################
save ""
#save 900 1
#save 300 10
#save 60 10000
stop-writes-on-bgsave-erroryes
rdbcompression yes
rdbchecksum yes
dbfilename"dump.rdb"
######################################
masterauth"redis123456"
requirepass"redis123456"
slave-serve-stale-datayes
slave-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay5
repl-disable-tcp-nodelayno
slave-priority 100
min-slaves-to-write 0
min-slaves-max-lag 10
maxclients 10000
lazyfree-lazy-evictionno
lazyfree-lazy-expireno
lazyfree-lazy-server-delno
slave-lazy-flush no
##############aof持久化##############
appendonly yes
appendfilename"appendonly.aof"
#appendfsync everysec
appendfsync no
no-appendfsync-on-rewriteno
auto-aof-rewrite-percentage100
auto-aof-rewrite-min-size64mb
aof-load-truncated yes
aof-use-rdb-preamble no
######################################
lua-time-limit 5000
slowlog-log-slower-than10000
slowlog-max-len 128
latency-monitor-threshold100
notify-keyspace-events""
hash-max-ziplist-entries512
hash-max-ziplist-value64
list-max-ziplist-size-2
list-compress-depth 0
set-max-intset-entries512
zset-max-ziplist-entries128
zset-max-ziplist-value64
hll-sparse-max-bytes3000
activerehashing yes
client-output-buffer-limitnormal 0 0 0
client-output-buffer-limitslave 2gb 2gb 60
client-output-buffer-limitpubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsyncyes
##Enabled activedefragmentation######
activedefrag yes
active-defrag-ignore-bytes100mb
active-defrag-threshold-lower10
active-defrag-threshold-upper100
active-defrag-cycle-min25
active-defrag-cycle-max55
##############renamecommand##########
#rename-commandKEYS "NYKJKEYS"
rename-commandFLUSHALL "NYKJFLUSHALL"
rename-commandFLUSHDB "NYKJFLUSHDB"
#rename-commandCONFIG "NYKJCONFIG"
##############masterinfo############
# Generated by CONFIGREWRITE
# vim/app/redis/conf/redis.conf #主节点2
bind 192.168.125.149127.0.0.1
protected-mode no
port 6379
tcp-backlog 1024
timeout 0
tcp-keepalive 300
daemonize no
supervised systemd
pidfile"/var/run/redis.pid"
loglevel notice
logfile"/app/logs/redis/redis.log"
dir"/data/redis"
databases 16
always-show-logo yes
########关闭rdb持久化################
#save 900 1
#save 300 10
#save 60 10000
stop-writes-on-bgsave-erroryes
rdbcompression yes
rdbchecksum yes
dbfilename"dump.rdb"
######################################
masterauth"redis123456"
requirepass"redis123456"
slave-serve-stale-datayes
slave-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay5
repl-disable-tcp-nodelayno
slave-priority 100
min-slaves-to-write 0
min-slaves-max-lag 10
maxclients 10000
lazyfree-lazy-evictionno
lazyfree-lazy-expireno
lazyfree-lazy-server-delno
slave-lazy-flush no
##############aof持久化##############
appendonly yes
appendfilename"appendonly.aof"
#appendfsync everysec
appendfsync no
no-appendfsync-on-rewriteno
auto-aof-rewrite-percentage100
auto-aof-rewrite-min-size64mb
aof-load-truncated yes
aof-use-rdb-preambleno
######################################
lua-time-limit 5000
slowlog-log-slower-than10000
slowlog-max-len 128
latency-monitor-threshold100
notify-keyspace-events""
hash-max-ziplist-entries512
hash-max-ziplist-value64
list-max-ziplist-size-2
list-compress-depth 0
set-max-intset-entries512
zset-max-ziplist-entries128
zset-max-ziplist-value64
hll-sparse-max-bytes3000
activerehashing yes
client-output-buffer-limitnormal 0 0 0
client-output-buffer-limitslave 2gb 2gb 60
client-output-buffer-limitpubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsyncyes
##Enabled activedefragmentation######
activedefrag yes
active-defrag-ignore-bytes100mb
active-defrag-threshold-lower10
active-defrag-threshold-upper100
active-defrag-cycle-min25
active-defrag-cycle-max55
##############renamecommand##########
#rename-command KEYS "NYKJKEYS"
rename-commandFLUSHALL "NYKJFLUSHALL"
rename-commandFLUSHDB "NYKJFLUSHDB"
#rename-commandCONFIG "NYKJCONFIG"
##############masterinfo############
# Generated by CONFIGREWRITE
slaveof 192.168.125.1486379
# vim/app/redis/conf/redis.conf #从节点1
bind 192.168.125.150127.0.0.1
protected-mode no
port 6379
tcp-backlog 1024
timeout 0
tcp-keepalive 300
daemonize no
supervised systemd
pidfile"/var/run/redis.pid"
loglevel notice
logfile"/app/logs/redis/redis.log"
dir"/data/redis"
databases 16
always-show-logo yes
########关闭rdb持久化################
#save 900 1
#save 300 10
#save 60 10000
stop-writes-on-bgsave-erroryes
rdbcompression yes
rdbchecksum yes
dbfilename"dump.rdb"
######################################
masterauth"redis123456"
requirepass"redis123456"
slave-serve-stale-datayes
slave-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay5
repl-disable-tcp-nodelayno
slave-priority 0
min-slaves-to-write 0
min-slaves-max-lag 10
maxclients 10000
lazyfree-lazy-evictionno
lazyfree-lazy-expireno
lazyfree-lazy-server-delno
slave-lazy-flush no
##############aof持久化##############
appendonly yes
appendfilename"appendonly.aof"
#appendfsync everysec
appendfsync no
no-appendfsync-on-rewriteno
auto-aof-rewrite-percentage100
auto-aof-rewrite-min-size64mb
aof-load-truncated yes
aof-use-rdb-preambleno
######################################
lua-time-limit 5000
slowlog-log-slower-than10000
slowlog-max-len 128
latency-monitor-threshold100
notify-keyspace-events""
hash-max-ziplist-entries512
hash-max-ziplist-value64
list-max-ziplist-size-2
list-compress-depth 0
set-max-intset-entries512
zset-max-ziplist-entries128
zset-max-ziplist-value64
hll-sparse-max-bytes3000
activerehashing yes
client-output-buffer-limitnormal 0 0 0
client-output-buffer-limitslave 2gb 2gb 60
client-output-buffer-limitpubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsyncyes
##Enabled activedefragmentation######
activedefrag yes
active-defrag-ignore-bytes100mb
active-defrag-threshold-lower10
active-defrag-threshold-upper100
active-defrag-cycle-min25
active-defrag-cycle-max55
##############renamecommand##########
#rename-commandKEYS "NYKJKEYS"
rename-commandFLUSHALL "NYKJFLUSHALL"
rename-commandFLUSHDB "NYKJFLUSHDB"
#rename-commandCONFIG "NYKJCONFIG"
##############masterinfo############
# Generated by CONFIGREWRITE
slaveof 192.168.125.1486379
# vim/app/redis/conf/sentinel.conf #主节点1
bind 192.168.125.148 127.0.0.1
port 26379
dir "/tmp"
daemonize yes
loglevel notice
logfile"/app/logs/redis/sentinel.log"
sentinel monitorSentinel4OL 192.168.125.148 6379 2
sentineldown-after-milliseconds Sentinel4OL 10000
sentinelfailover-timeout Sentinel4OL 30000
sentinel auth-passSentinel4OL redis123456
sentinel config-epochSentinel4OL 1
sentinel leader-epochSentinel4OL 6
# vim/app/redis/conf/sentinel.conf #主节点2
bind 192.168.125.149 127.0.0.1
port 26379
dir "/tmp"
daemonize yes
loglevel notice
logfile"/app/logs/redis/sentinel.log"
sentinel monitorSentinel4OL 192.168.125.148 6379 2
sentineldown-after-milliseconds Sentinel4OL 10000
sentinelfailover-timeout Sentinel4OL 30000
sentinel auth-passSentinel4OL redis123456
sentinel config-epochSentinel4OL 1
sentinel leader-epochSentinel4OL 6
# vim/app/redis/conf/sentinel.conf #从节点1
bind 192.168.125.150 127.0.0.1
port 26379
dir "/tmp"
daemonize yes
loglevel notice
logfile"/app/logs/redis/sentinel.log"
sentinel monitorSentinel4OL 192.168.125.148 6379 2
sentineldown-after-milliseconds Sentinel4OL 10000
sentinelfailover-timeout Sentinel4OL 30000
sentinel auth-passSentinel4OL redis123456
sentinel config-epochSentinel4OL 1
sentinel leader-epochSentinel4OL 6
#cd /etc/systemd/system/
#vim redis.service
[Unit]
Description=Redis4.0.x For Sentinel Servcie
After=network.target
[Service]
Type=simple
PIDFile=/var/run/redis.pid
LimitNOFILE=65535
ExecStart=/app/redis/bin/redis-server/app/redis/conf/redis.conf --daemonize no
ExecReload=/bin/kill-HUP $MAINPID
User=nobody
[Install]
WantedBy=multi-user.target
#vim sentinel.service
#sentinel systemd启动脚本
[Unit]
Description=Redis4.0.x Sentinel Servcie
After=network.target
[Service]
Type=forking
LimitNOFILE=65535
ExecStart=/app/redis/bin/redis-server/app/redis/conf/sentinel.conf --sentinel
ExecReload=/bin/kill-HUP $MAINPID
User=nobody
[Install]
WantedBy=multi-user.target
# chown -Rnobody.nobody /app/redis /app/logs/redis /data/redis
# systemctl enableredis.service;systemctl enable sentinel.service
# systemctl startredis; systemctl start sentinel