redis主从搭建
redis主从搭建
达到目的:用sentinel嗅探主服务器状态,如果down了,十秒钟内完成切换,将slave升为master,当master再次启动时,变成slave状态。
主服务器:192.168.2.20
从服务器:192.168.2.21
主服务器操作:
1、关闭防火墙和Selinux
2、yum -y install gcc //编译时需要用到gcc
3、下载安装包
wget http://download.redis.io/releases/redis-3.2.8.tar.gz
4、解压文件
tar -zxf redis-3.2.8.tar.gz -C /usr/src/
5、编译安装
/usr/src/redis-3.2.8/ make make install
6、创建数据文件及日志存放的目录
mkdir -p /home/data/redis6379/pid
mkdir -p /home/data/redis6379/logs
mkdir -p /home/data/redis6379/data
mkdir -p /home/data/redis6379/conf
7、主库的配置文件
[root@localhost conf]# cat redis-6379.cnf daemonize yes pidfile /home/data/redis6379/pid/redis-6379.pid port 6379 tcp-backlog 65535 bind 0.0.0.0 timeout 0 tcp-keepalive 0 loglevel notice logfile /home/data/redis6379/logs/redis-6379.log databases 16 lua-time-limit 5000 maxclients 10000 protected-mode yes dir /home/data/redis6379/data ###慢日志参数### slowlog-log-slower-than 10000 slowlog-max-len 128 ###内存参数### maxmemory 8G maxmemory-policy volatile-lru ###RDB持久化参数### save 3600 1 stop-writes-on-bgsave-error yes rdbcompression yes rdbchecksum yes dbfilename "dump-6379.rdb" ###客户端Buffer参数### client-output-buffer-limit normal 0 0 0 client-output-buffer-limit slave 256mb 64mb 60 client-output-buffer-limit pubsub 32mb 8mb 60 ###其他参数### 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 latency-monitor-threshold 0 hz 10 ###安全参数### requirepass 123456789 masterauth 123456789 rename-command KEYS REDIS_KEYS rename-command FLUSHDB REDIS_FLUSHDB rename-command FLUSHALL REDIS_FLUSHALL
从库的配置文件:
[root@db3 conf]# cat redis_6379.conf daemonize yes pidfile /home/data/redis6379/pid/redis-6379.pid port 6379 tcp-backlog 65535 bind 0.0.0.0 timeout 0 tcp-keepalive 0 loglevel notice logfile /home/data/redis6379/logs/redis-6379.log databases 16 lua-time-limit 5000 maxclients 10000 protected-mode yes dir /home/data/redis6379/data ###慢日志参数### slowlog-log-slower-than 10000 slowlog-max-len 128 ###内存参数### maxmemory 8G maxmemory-policy volatile-lru ###RDB持久化参数### save 3600 1 stop-writes-on-bgsave-error yes rdbcompression yes rdbchecksum yes dbfilename "dump-6379.rdb" ###客户端Buffer参数### client-output-buffer-limit normal 0 0 0 client-output-buffer-limit slave 256mb 64mb 60 client-output-buffer-limit pubsub 32mb 8mb 60 ###其他参数### 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 latency-monitor-threshold 0 hz 10 ###安全参数### requirepass 123456789 masterauth 123456789 rename-command KEYS REDIS_KEYS rename-command FLUSHDB REDIS_FLUSHDB rename-command FLUSHALL REDIS_FLUSHALL #replication slaveof 192.168.2.21 6379 masterauth beijing slave-serve-stale-data yes slave-read-only yes repl-ping-slave-period 10 repl-timeout 60 repl-disable-tcp-nodelay no slave-priority 100
8、启动redis服务
可以为redis服务启动指定配置文件:
[root@localhost redis-3.2.8]# cd src/ [root@localhost src]# ./redis-server /home/data/redis6379/conf/redis-6379.cnf [root@localhost src]# ps -ef | grep redis root 8655 1 0 16:01 ? 00:00:00 ./redis-server 0.0.0.0:6379 root 8659 29208 0 16:01 pts/0 00:00:00 grep --color=auto redis [root@localhost src]# lsof -i:6379 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME redis-ser 8655 root 4u IPv4 12444757 0t0 TCP *:6379 (LISTEN) [root@localhost src]# pwd /usr/src/redis-3.2.8/src
9.redis客户端连接
redis客户端连接成功,但是操作报异常——(error) NOAUTH Authentication required
错误的含义是说你没有认证,说明没有使用密码连接
查看密码:
cat redis-6379.cnf

再次连接客户端:
[root@localhost src]# ./redis-cli -h 192.168.2.20 -a 123456789 192.168.2.20:6379>
主库查看:
[root@localhost src]# ./redis-cli -h 192.168.2.20 -a 123456789 192.168.2.20:6379> get name (nil) 192.168.2.20:6379> info replication # Replication role:master connected_slaves:0 master_repl_offset:0 repl_backlog_active:0 repl_backlog_size:1048576 repl_backlog_first_byte_offset:0 repl_backlog_histlen:0
从库查看:
192.168.2.21:6379> info replication # Replication role:slave master_host:192.168.2.21 master_port:6379 master_link_status:down master_last_io_seconds_ago:-1 master_sync_in_progress:0 slave_repl_offset:1 master_link_down_since_seconds:1527755943 slave_priority:100 slave_read_only:1 connected_slaves:0 master_repl_offset:0 repl_backlog_active:0 repl_backlog_size:1048576 repl_backlog_first_byte_offset:0 repl_backlog_histlen:0

浙公网安备 33010602011771号