首页 > 数据库 > Redis > 正文

Centos7 Redis主从搭建配置的实现

2020-10-28 21:33:14
字体:
来源:转载
供稿:网友

一、环境介绍

Redis―master   172.18.8.19
Redis―slave   172.18.8.20

二、redis主的配置

#创建redis数据目录mkdir -p /data0/redis_trade#redis主配置文件root># cat redis_6379.conf |grep -Ev "^$|^#"bind 172.18.8.19protected-mode yesport 6379tcp-backlog 511timeout 0tcp-keepalive 300daemonize yessupervised nopidfile /var/run/redis_6379.pidloglevel noticelogfile "/var/log/redis_6379.log"databases 16save 900 1save 300 10save 60 10000stop-writes-on-bgsave-error yesrdbcompression yesrdbchecksum yesdbfilename dump_6379.rdbdir /data0/redis_tradeslave-serve-stale-data yesslave-read-only yesrepl-diskless-sync norepl-diskless-sync-delay 5repl-disable-tcp-nodelay noslave-priority 100requirepass Allwelltokokappendonly yesappendfilename "appendonly_6379.aof"appendfsync everysecno-appendfsync-on-rewrite noauto-aof-rewrite-percentage 100auto-aof-rewrite-min-size 64mbaof-load-truncated yeslua-time-limit 5000slowlog-log-slower-than 10000slowlog-max-len 128latency-monitor-threshold 0notify-keyspace-events ""hash-max-ziplist-entries 512hash-max-ziplist-value 64list-max-ziplist-size -2list-compress-depth 0set-max-intset-entries 512zset-max-ziplist-entries 128zset-max-ziplist-value 64hll-sparse-max-bytes 3000activerehashing yesrename-command FLUSHALL ZYzv6FOBdwflW2nXrename-command EVAL S9UHPKEpSvUJMMrename-command FLUSHDB D60FPVDJuip7gy6lclient-output-buffer-limit normal 0 0 0client-output-buffer-limit slave 256mb 64mb 60client-output-buffer-limit pubsub 32mb 8mb 60hz 10aof-rewrite-incremental-fsync yes

三、redis从配置

root># cat redis_6379.conf |grep -Ev "^$|^#"bind 172.18.8.20protected-mode yesport 6379tcp-backlog 511timeout 0tcp-keepalive 300daemonize yessupervised nopidfile /var/run/redis_6379.pidloglevel noticelogfile "/var/log/redis_6379.log"databases 16save 900 1save 300 10save 60 10000stop-writes-on-bgsave-error yesrdbcompression yesrdbchecksum yesdbfilename dump_6379.rdbdir /data0/redis_tradeslaveof 172.18.8.19 6379   -----从库比主库多这2行配置参数masterauth Allwelltokok   -----从库比主库多这2行配置参数slave-serve-stale-data yesslave-read-only yesrepl-diskless-sync norepl-diskless-sync-delay 5repl-disable-tcp-nodelay noslave-priority 100requirepass Allwelltokokappendonly yesappendfilename "appendonly_6379.aof"appendfsync everysecno-appendfsync-on-rewrite noauto-aof-rewrite-percentage 100auto-aof-rewrite-min-size 64mbaof-load-truncated yeslua-time-limit 5000slowlog-log-slower-than 10000slowlog-max-len 128latency-monitor-threshold 0notify-keyspace-events ""hash-max-ziplist-entries 512hash-max-ziplist-value 64list-max-ziplist-size -2list-compress-depth 0set-max-intset-entries 512zset-max-ziplist-entries 128zset-max-ziplist-value 64hll-sparse-max-bytes 3000activerehashing yesrename-command FLUSHALL ZYzv6FOBdwflW2nXrename-command EVAL S9UHPKEpSvUJMMrename-command FLUSHDB D60FPVDJuip7gy6lclient-output-buffer-limit normal 0 0 0client-output-buffer-limit slave 256mb 64mb 60client-output-buffer-limit pubsub 32mb 8mb 60hz 10aof-rewrite-incremental-fsync yes

四、redis启动脚本

root># cat /etc/init.d/redis_6379 #!/bin/sh## Simple Redis init.d script conceived to work on Linux systems# as it does use of the /proc filesystem.# chkconfig:  2345 90 10source /etc/init.d/functionsREDISPORT=6379EXEC=/usr/local/bin/redis-serverCLIEXEC=/usr/local/bin/redis-cli PIDFILE=/var/run/redis_${REDISPORT}.pidCONF="/usr/local/redis/etc/redis_${REDISPORT}.conf"AUTH="Allwelltokok"BIND_IP='172.18.8.19' start(){     if [ -f $PIDFILE ]  then    echo "$PIDFILE exists, process is already running or crashed"  else    echo "Starting Redis server..."    $EXEC $CONF  fi  if [ "$?"="0" ]   then     echo "Redis is running..."   fi   } stop(){   if [ ! -f $PIDFILE ]  then    echo "$PIDFILE does not exist, process is not running"  else    PID=$(cat $PIDFILE)    echo "Stopping ..."    $CLIEXEC -h $BIND_IP -a $AUTH -p $REDISPORT SHUTDOWN     sleep 1    while [ -x /proc/${PID} ]    do      echo "Waiting for Redis to shutdown ..."      sleep 1    done      echo "Redis stopped"  fi} restart(){  stop  start }status(){   ps -ef|grep redis-server|grep -v grep >/dev/null 2>&1   if [ $? -eq 0 ];then     echo "redis server is running"   else    echo "redis server is stopped"   fi    }  case "$1" in  start)    start    ;;  stop)    stop    ;;       restart)    restart    ;;       status)    status    ;;     *)      echo "Usage: /etc/init.d/redis {start|stop|status|start}" >&2    exit 1 esac

五、启动服务

root># /etc/init.d/redis_6379 start  

查看日志

root># tail -100f /var/log/redis_6379.log5563:S 29 Jun 22:14:23.236 * Increased maximum number of open files to 10032 (it was originally set to 1024).        _._                               _.-``__ ''-._                          _.-``  `. `_. ''-._      Redis 3.2.12 (00000000/0) 64 bit .-`` .-```. ```//  _.,_ ''-._                   (  '   ,    .-` | `,  )   Running in standalone mode |`-._`-...-` __...-.``-._|'` _.-'|   Port: 6379 |  `-._  `._  /   _.-'  |   PID: 5563 `-._  `-._ `-./ _.-'  _.-'                   |`-._`-._  `-.__.-'  _.-'_.-'|                  |  `-._`-._    _.-'_.-'  |      http://redis.io     `-._  `-._`-.__.-'_.-'  _.-'                   |`-._`-._  `-.__.-'  _.-'_.-'|                  |  `-._`-._    _.-'_.-'  |                  `-._  `-._`-.__.-'_.-'  _.-'                     `-._  `-.__.-'  _.-'                         `-._    _.-'                             `-.__.-'                        5563:S 29 Jun 22:14:23.237 # Server started, Redis version 3.2.125563:S 29 Jun 22:14:23.237 * The server is now ready to accept connections on port 63795563:S 29 Jun 22:14:23.237 * Connecting to MASTER 172.18.8.19:63795563:S 29 Jun 22:14:23.237 * MASTER <-> SLAVE sync started5563:S 29 Jun 22:14:23.237 * Non blocking connect for SYNC fired the event.5563:S 29 Jun 22:14:23.238 * Master replied to PING, replication can continue...5563:S 29 Jun 22:14:23.238 * Partial resynchronization not possible (no cached master)5563:S 29 Jun 22:14:23.239 * Full resync from master: c9f303069f87253011bf39369366732a2e88b389:15563:S 29 Jun 22:14:23.304 * MASTER <-> SLAVE sync: receiving 77 bytes from master5563:S 29 Jun 22:14:23.305 * MASTER <-> SLAVE sync: Flushing old data5563:S 29 Jun 22:14:23.305 * MASTER <-> SLAVE sync: Loading DB in memory5563:S 29 Jun 22:14:23.305 * MASTER <-> SLAVE sync: Finished with success5563:S 29 Jun 22:14:23.305 * Background append only file rewriting started by pid 55675563:S 29 Jun 22:14:23.329 * AOF rewrite child asks to stop sending diffs.5567:C 29 Jun 22:14:23.329 * Parent agreed to stop sending diffs. Finalizing AOF...5567:C 29 Jun 22:14:23.329 * Concatenating 0.00 MB of AOF diff received from parent.5567:C 29 Jun 22:14:23.329 * SYNC append only file rewrite performed5567:C 29 Jun 22:14:23.330 * AOF rewrite: 0 MB of memory used by copy-on-write5563:S 29 Jun 22:14:23.337 * Background AOF rewrite terminated with success5563:S 29 Jun 22:14:23.337 * Residual parent diff successfully flushed to the rewritten AOF (0.00 MB)5563:S 29 Jun 22:14:23.337 * Background AOF rewrite finished successfully  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表