redis环境搭建及⼀主⼆从三哨兵模式配置⼀、单机redis环境搭建
1.安装:
OS:linux redhat6.5
把安装包上传到服务器,进⾏解压
[root@master redis]# tar -xvf redis-5.0.
[root@master redis]# cd redis-5.0.4
[root@master redis-5.0.4]# ls
00-RELEASENOTES  BUGS          COPYING  deps  INSTALL  Makefile  README.md  runtest-cluster  f  tests
CONTRIBUTING      MANIFESTO  runtest    runtest-sentinel  src            utils
2.安装gcc,如果未安装gcc的话需要安装gcc环境
[root@master redis-5.0.4]# yum -y install gcc*
3.进⼊redis-5.0.4⽬录对解压后的⽂件进⾏编译、安装
[root@master redis]# cd redis-5.0.4
[root@master redis-5.0.4]#make//进⾏编译
[root@master redis-5.0.4]#cd src/    //进⼊src⽬录下
[root@master src]# make install//安装redis
4.为了便于管理,在redis-
linux安装redis服务
5.0.4下创建bin,log,data,etc等四个⽬录
[root@master redis-5.0.4]# mkdir bin
[root@master redis-5.0.4]#mkdir etc
[root@master redis-5.0.4]#mkdir data
[root@master redis-5.0.4]#mkdir log
[root@master redis-5.0.4]#ls
00-RELEASENOTES  BUGS          COPYING  deps  INSTALL  Makefile  README.md  runtest-cluster  f  tests
bin              CONTRIBUTING  data    etc  log      MANIFESTO  runtest    runtest-sentinel  src
[root@master redis-5.0.4]#f etc/  //将redis-5.0.4⽬录下的 f 移动到 redis-5.0.4⽬录下的etc⽂件夹下
[root@master redis-5.0.4]#mv src/mkreleasehdr.sh redis-benchmark redis-check-aof redis-cli redis-server  redis-sentinel bin/
//将mkreleasehdr.sh、redis-benchmark、redis-check-aof、redis-cli、redis-server 、redis-sentinel移动到  /usr/local/redis-5.0.0/bin/ ⽬录下
5.进⼊redis-5.0.4/etc下修改f配置⽂件,然后启动redis服务
# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES
# JUST COMMENT THE FOLLOWING LINE.
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#bind 127.0.0.1//绑定的主机,注释掉后允许所有主机登陆
protected-mode no //关闭保护模式
port 6379//端⼝,默认为6379
daemonize yes  //开启后台运⾏模式
logfile "/backup2/redis/redis-5.0.4/log/redis.log"//redis⽇志⽂件路径
dir"/backup2/redis/redis-5.0.4/data"//持久化数据⽂件路径
requirepass "password"//登陆redis数据库的密码认证
masterauth "password"//哨兵模式中设定主库密码与当前库密码同步,保证从库能够提升为主库
appendonly yes  //开启AOF持久化模式
进⼊bin⽬录下
[root@master bin]# ./redis-server ../f  //使⽤编辑好的配置⽂件启动redis
[root@master bin]# ./redis-cli //启动redis客户端
127.0.0.1:6379> ping
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth password  //该密码为配置⽂件中设定的密码
OK
127.0.0.1:6379> ping
PONG
127.0.0.1:6379>
//如上输出即表⽰redis启动成功
6.启动告警处理,在⾸次启动redis时有可能会有以下告警:
告警:overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add
'vm.overcommit_memory = 1' to/f and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.解决办法:在/f/⽂件中添加vm.overcommit_memory=1      sysctl -p ⽣效
⼆、哨兵模式配置
由于哨兵模式包含了简单的主从模式,所以主从模式不再进⾏单独说明,普通主从模式只是可以备份数据,在主机宕机并且数据⽂件损坏的情况下提供数据恢复,不能在主机挂掉之后主动升级为主节点,⽽哨兵模式就是通过哨兵对节点的监控,在主节点挂掉之后能通过投票的⽅式在从节点中选举⼀个升级为主节点。
软件架构:三台服务器:master,slave1,slave2,其中master为前⾯已经安装好的主机
1.修改sentinel配置⽂件
//在f所在⽬录下新建⼀个f⽂件
[root@master etc]# f
protected-mode no  //关闭保护模式
port 26379//默认端⼝
daemonize yes      //允许后台运⾏
pidfile "/var/run/redis-sentinel.pid"//pid⽂件默认就好
logfile "/backup2/redis/redis-5.0.4/log/sentinel.log"//sentinel⽇志⽂件
sentinel announce-ip 192.168.1.1//设置本机ip
#master
sentinel monitor mymaster 192.168.1.163792
sentinel down-after-milliseconds mymaster1 30000
sentinel parallel-syncs mymaster 2
sentinel failover-timeout mymaster 180000
sentinel auth-pass mymaster1 yourpasswd
2.把 redis-5.0.4⽬录整个打包并传到另外两台服务器,然后解压
在每台服务器上分别修改f,在配置⽂件中添加  slaveof 192.168.1.1 6379  //配置主从关系
修改,把sentinel announce-ip 192.168.1.1  中的ip更换为本机ip,其余配置可不⽤更改。
3.启动集服务,按照master->slave->sentinel的启动顺序
[root@master bin]# ./redis-server ../f  //在每个节点执⾏该命令启动redis
root@master bin]# ./redis-sentinel ../f  //启动sentinel
//启动后在主节点连接到主节点
127.0.0.1:6379> info replication
# Replication
role:master    //⾓⾊
connected_slaves:2//节点个数
slave0:ip=192.168.1.2,port=6379,state=online,offset=84,lag=1//从节点信息
slave1:ip=192.168.1.3,port=6379,state=online,offset=98,lag=0//从节点信息
master_replid:27663ab908f4a8bfd198cd7ec3db924bee4fa441
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:98
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:98
/
/连接到从节点
127.0.0.1:6379> info replication
# Replication
role:slave
master_host:192.168.1.1
master_port:6379
master_link_status:up      //主节点状态 up/down
master_last_io_seconds_ago:1
master_sync_in_progress:0
slave_repl_offset:62896
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:af5dd7a6f5e2093bbe8f01923fcfe0ed7fc8ba14
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:62896
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:62896
127.0.0.1:6379>
启动哨兵:[root@test bin]# ./redis-sentinel ../f
[root@master bin]#./redis-cli -h 192.168.1.1 -p 26379
10.197.11.159:26379> info sentinel
# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=192.168.1.1:6379,slaves=2,sentinels=3 //以上表⽰哨兵模式集正常
⾄此,redis的⼀主⼆从三哨兵架构搭建完成。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。