• 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 &

  • 相关阅读:
    tf.nn.embedding_lookup函数的用法
    windows+python3.6下安装fasttext+fasttext在win上的使用+gensim(fasttext)
    阅读关于DuReader:百度大规模的中文机器阅读理解数据集
    End to End Sequence Labeling via Bidirectional LSTM-CNNs-CRF论文小结
    《Applying Deep Learning to Answer Selection: A Study And an Open Task》文章理解小结
    Windows下基于python3使用word2vec训练中文维基百科语料(三)
    Windows下基于python3使用word2vec训练中文维基百科语料(二)
    Java并发编程:CountDownLatch、CyclicBarrier和 Semaphore
    cpu满问题分析
    Zookeeper用来干什么?
  • 原文地址:https://www.cnblogs.com/ice-line/p/9585881.html
Copyright © 2020-2023  润新知