一、部署过程
为了方便管理,将redis文件中的conf配置文件和常用命令移动到统一的文件夹中。
创建bin etc文件夹
mkdir –p /usr/local/redis/bin
mkdir –p /usr/local/redis/etc
将配置文件redis.conf sentinel.conf移动到/usr/local/redis/etc下
cd /usr/local/redis/redis-3.2.3 进入到目录中
mv redis.conf sentinel.conf /usr/local/redis/etc
cd /usr/local/redis/redis-3.2.3/src 进入到命令
mv mkreleasdhdr.sh redis-benchmark redis-check-aof redis-check-dumpredis-cli redis-server /usr/local/redis/bin
编辑配置文件
cd /usr/local/redis/etc/
vim redis.conf(主)
改动如下
bind 10.2.3.10(绑定本机ip)
port 6379(指定端口)
daemonize yes (守护进程模式)
pidfile /usr/local/redis/redis.pid
logfile /usr/local/redis/redis.log
requirepass "123456(6a"(密码) ##登陆、访问redis的密码
masterauth "123456(6a" (密码) ##从redis复制主redis时需要的密码
maxmemory 4gb(设置最大内存)
配置redis.conf(从)
bind 10.2.3.11 (绑定本机ip)
port 7379(指定端口)
daemonize yes (守护进程模式)
pidfile /usr/local/redis/redis.pid
logfile /usr/local/redis/redis.log
requirepass "123456(6a"(密码)
masterauth "123456(6a" (密码)
maxmemory 4gb(设置最大内存)
slaveof 10.2.3.10 6379 ##配置主服务IP及端口
配置哨兵1 sentinel.conf
bind 10.2.3.10(本机ip)
port 26379
daemonize yes
logfile /usr/local/redis/sentine.log
sentinel monitor mymaster 10.2.3.10 6379 2 (配置主的ip和端口)
sentinel auth-pass mymaster 123456(6a(哨兵密码)
配置哨兵2
bind 10.2.3.11 (本机ip)
port 26380
daemonize yes
logfile /usr/local/redis/sentine.log
sentinel monitor mymaster 10.2.3.10 6379 2 (配置主的ip和端口)
sentinel auth-pass mymaster 123456(6a(哨兵密码)
配置哨兵3
bind 10.2.3.12 (本机ip)
port 26381
daemonize yes
logfile /usr/local/redis/sentine.log
sentinel monitor mymaster 10.2.3.10 6379 2 (配置主的ip和端口)
sentinel auth-pass mymaster 123456(6a(哨兵密码)
至此reids的主从以及哨兵模式配置完成,启动服务
redis-server /usr/local/redis/etc/redis.conf
redis-sentinel /usr/local/redis/etc/sentinel.conf
二、部署过程中的问题
由于把主和从的redis-server的都监听于127.0.0.1,所以导致主从不通(是从redis-cli -p 6379中然后info看出来的),主从没有配置正确;
由于在sentinel中写的是“sentinel monitor mymaster 127.0.0.1 6379 2”,所以导致sentinel和redis不通,不能监控到主从,是从redis-cli -p 26379中然后info看出来的;
因此在配置主从时一般都要第一服务器的时间都一样,第二都监听于外网IP;
三、redis集群相关
登陆:redis-cli -h IP -p PORT
密码:>auth password 在password处直接输入密码即可登入;
(1)redis-cli命令(登陆后在>后紧跟着输入)
info 查看基本信息;
(2)启动redis和哨兵
redis-server /usr/local/redis/etc/redis.conf
redis-sentinel /usr/local/redis/etc/sentine.conf
(3)Redis-server关闭分为两种方法
-
Kill -9 ID
-
执行“redis-cli –h ip -p 端口”命令,然后回车输入“auth 密码”,进入后输入shutdown关闭
哨兵sentinel直接kill -9 id 来结束进程;
(3)查看redis主从
执行“redis-cli –h ip -p 端口”命令,然后回车输入“auth密码”进入命令行后输入“info replication”命令来查看此服务器为主还是从。
(4)查看redis主从是否配置成功
执行“redis-cli –h ip -p 端口”命令,然后回车输入“auth密码”进入命令行后输入“info”命令来查看
# Replication
role:slave
master_host:172.16.2.3
master_port:6379
master_link_status:up ####此处为up,代表连接到了主
master_last_io_seconds_ago:0
master_sync_in_progress:0
slave_repl_offset:178221
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