redis主从配置+哨兵配置

一、环境准备:

1、linux服务2台(测试服务器或虚拟机)

主服务器:192.168.1.28

从服务器:192.168.1.25

2、配置好防火墙

$ /sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT
(1) CentOSv6.8 修改防火墙配置、修改SSH端口
$ vi /etc/sysconfig/iptables #修改防火墙配置
$ service iptables status   #查看防火墙状况
$ service iptables restart  #重启防火墙
$ service iptables start    #打开防火墙
$ service iptables stop     #关闭防火墙

(2) CentOSv7.2修改防火墙配置:
 1、firewalld的基本使用
  启动: systemctl start firewalld
  查看状态: systemctl status firewalld
  停止: systemctl disable firewalld
  禁用: systemctl stop firewalld
 
 2.systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。
  启动一个服务:systemctl start firewalld.service
  关闭一个服务:systemctl stop firewalld.service
  重启一个服务:systemctl restart firewalld.service
  显示一个服务的状态:systemctl status firewalld.service
  在开机时启用一个服务:systemctl enable firewalld.service
  在开机时禁用一个服务:systemctl disable firewalld.service
  查看服务是否开机启动:systemctl is-enabled firewalld.service
  查看已启动的服务列表:systemctl list-unit-files|grep enabled
  查看启动失败的服务列表:systemctl --failed
  3.配置firewalld-cmd
  查看版本: firewall-cmd --version
  查看帮助: firewall-cmd --help
  显示状态: firewall-cmd --state
  查看所有打开的端口: firewall-cmd --zone=public --list-ports
  更新防火墙规则: firewall-cmd --reload
  查看区域信息:  firewall-cmd --get-active-zones
  查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0
  拒绝所有包:firewall-cmd --panic-on
  取消拒绝状态: firewall-cmd --panic-off
  查看是否拒绝: firewall-cmd --query-panic
 
 那怎么开启一个端口呢
 添加
 firewall-cmd --zone=public --add-port=80/tcp --permanent    (--permanent永久生效,没有此参数重启后失效)
 重新载入
 firewall-cmd --reload
 查看
 firewall-cmd --zone= public --query-port=80/tcp
 删除
 firewall-cmd --zone= public --remove-port=80/tcp --permanent
 开放端口:
 firewall-cmd --zone=public --add-port=8080/tcp --permanent
 firewall-cmd --zone=public --add-port=8088/tcp --permanent
 firewall-cmd --zone=public --query-port=8080/tcp
 firewall-cmd --zone=public --query-port=8088/tcp
 
 firewall-cmd --zone=public --query-port=80/tcp

二、安装redis,并配置主从

1、主服务器安装(192.168.1.28)

 默认监听127.0.0.1 IP,需要增加本机IP绑定如下:

 bind 192.168.1.28 127.0.0.1

$ mkdir /usr/local/redis 
$ mkdir /usr/local/redis 
$ cd /usr/local/redis
$ wget http://download.redis.io/releases/redis-3.2.8.tar.gz
$ tar xzf redis-3.2.8.tar.gz
$ cd redis-3.2.8
$ make
$ make install
编译后,生成的运行文件在src目录
redis.conf配置文件为redis启动的配置文件
$ cd utils/
$ ./install_server.sh
    Port      : 6379
    Config file  : /usr/local/redis/redis-3.2.8/redis.conf
    Log file    : /var/log/redis_6379.log
    Data dir    : /var/lib/redis/6379
    Executable   : /usr/local/bin/redis-server       

2、从服务器安装(192.168.1.25)

  默认监听127.0.0.1 IP,需要增加本机IP绑定如下:

  bind 192.168.1.25 127.0.0.1

   日志配置:

       loglevel   warning

   日志级别说明:

       debug适合开发测试环境

       notice默认基本,提示

       warning警告级别,适用用于生成以及压力测试等

       logfile  ‘redis.log’

   持久化数据配置:

       # dir 目录

       dir /tmp/redisdb

   主从复制:

       # slaveof 主服务器IP 端口号

       slaveof 192.168.1.28  6379

   配置密码:

      requirepass admin123

      masterauth admin123

 3、主从测试

    连接主服务器:

    $ redis-cli -h 192.168.1.28 -a admin123

    $ 127.0.0.1:6379> info

    $ # Server 一些主服务器基本信息...

    $ redis> set str abc

    连接从服务器:

    $ redis-cli -h 192.168.1.25 -a admin123

    $ 127.0.0.1:6379> info

    $ # Server 一些从服务器基本信息...

    $ redis> get str

    $ "abc"

三、哨兵配置

修改sentinel.conf配置文件:
protected-mode no
daemonize yes
logfile "/var/log/sentinel.log" 
sentinel monitor mymaster 192.168.1.28 6379 1 
sentinel auth-pass mymaster admin168


运行哨兵组件:
$ cd /usr/local/redis/redis-3.2.8
$ redis-sentinel /usr/local/redis/redis-3.2.8/sentinel.conf

四、redis常用命令

redis启动:
# 防止redis被root注入,以nobody启动
$ sudo -u nobody /usr/local/redis/redis-3.2.8/src/redis-server /usr/local/redis/redis-3.2.8/redis.conf &
$ sudo -u nobody /usr/local/redis/redis-3.2.8/src/redis-sentinel /usr/local/redis/redis-3.2.8/sentinel.conf &

redis卸载:
$ ps aux|grep redis
$ ll /usr/local/bin
$ rm -f /usr/local/bin/redis*
$ cd /usr/local/ -> rm -rf redis
$ ll /usr/local/

关闭redis:
$ redis-cli -h 127.0.0.1 -p 6379 -a admin123 shutdown
$ redis-server /usr/local/redis/redis-3.2.8/redis.conf &
$ redis-sentinel /usr/local/redis/redis-3.2.8/sentinel.conf &

大致操作命令步骤如下(nobody启动,一定要给目录跟文件授权,不然会启动报错):
$ chmod 777 /tmp/redisdb
$ chmod 777 /usr/local/redis/redis-3.2.8/redis.log
$ chmod 777 /usr/local/redis/redis-3.2.8/sentinel.conf
$ sudo -u nobody /usr/local/redis/redis-3.2.8/src/redis-server /usr/local/redis/redis-3.2.8/redis.conf &
$ sudo -u nobody /usr/local/redis/redis-3.2.8/src/redis-sentinel /usr/local/redis/redis-3.2.8/sentinel.conf &

原文地址:https://www.cnblogs.com/ice-line/p/9585881.html