<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Redis 主從切換+Predixy

      部署環(huán)境

      主機(jī)名ip
      redis-zhu 192.168.244.132
      redis-cong 192.168.244.128

      1.配置互信

      兩臺(tái)主機(jī)都做
      通過(guò)ssh-keygen 生成公鑰私鑰對(duì),拷貝到兄弟節(jié)點(diǎn); 
      ssh-keygen
      ssh-copy ip

      2.Redis 包安裝及賬號(hào)設(shè)置

      安裝Redis 包如低版本,可以直接官網(wǎng)下載rpm 包進(jìn)行安裝,會(huì)直接生成Redis 賬號(hào)及組;
      如較新版本需要下載源碼tar.gz,解壓后自行編譯,同時(shí)需要手動(dòng)添加Redis
      安裝依賴
      yum -y install gcc gcc-c++ tcl
      賬號(hào)及組;
      groupadd redis
      useradd -s /sbin/nologin  -g redis redis
      Redis 下載到/opt下:
      wget http://download.redis.io/releases/redis-5.0.8.tar.gz
      tar -xzf redis-5.0.8.tar.gz
      cd redis-5.0.8
      make & make install
      復(fù)制配置文件到/etc
      cp /opt/redis-5.0.8/redix.conf /etc
      cp /opt/redis-5.0.8/sentinel.conf /etc

      系統(tǒng) 及 Redis參數(shù)配置

      系統(tǒng) :

      vi /etc/rc.local
      echo never > /sys/kernel/mm/transparent_hugepage/enabled
      echo never > /sys/kernel/mm/transparent_hugepage/defrag
      echo 4096 > /proc/sys/net/core/somaxconn
      
      vi /etc/sysctl.conf
      vm.overcommit_memory = 1
      net.core.somaxconn = 4096
      sysctl -p
      
      ulimit -SHn 100000
      
      vi /etc/security/limits.conf
      
      * soft nofile 100000
      * hard nofile 100000
      * soft nproc  64000
      * hard nproc  64000

      Redis: 參數(shù)配置

      vim /etc/redix.conf
      requirepass "wxIMtMRWw7104MSLitiowI4QCknkzFMV" #主上配置
      masterauth "wxIMtMRWw7104MSLitiowI4QCknkzFMV"  #從上配置
      bind 0.0.0.0
      port 6380
      maxmemory 3gb
      dir "/redis/data"
      save 900 1
      save 300 10
      save 60 10000
      stop-writes-on-bgsave-error no
      tcp-backlog 511
      timeout 0
      tcp-keepalive 300
      pidfile "/var/run/redis.pid"
      logfile "/var/log/redis/redis.log"

      sentinel 配置:

      vim /etc/sentinle.conf  #主配置
      port 26380
      daemonize yes
      pidfile "/var/run/redis-sentinel.pid"
      logfile "/opt/redis/data/sentinel.log"
      dir "/tmp"
      sentinel deny-scripts-reconfig yes
      sentinel monitor mymaster 192.168.244.132 6380 1
      sentinel config-epoch mymaster 5
      sentinel leader-epoch mymaster 5
      protected-mode no
      sentinel current-epoch 5
      
      ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
      
      vim /etc/sentinle.conf #從配置   
      port 26380
      daemonize yes
      pidfile "/var/run/redis-sentinel.pid"
      logfile "/opt/redis5/data/sentinel.log"
      dir "/tmp"
      sentinel deny-scripts-reconfig yes
      sentinel monitor mymaster 192.168.244.132 6380 1
      sentinel config-epoch mymaster 5
      sentinel leader-epoch mymaster 5
      protected-mode no
      sentinel current-epoch 5

      4.predixy 安裝

      同Redis ,可以直接下載編譯后執(zhí)行文件或是下載源碼編譯;配置文件拷貝到固定目錄;
      安裝依賴
      yum install libstdc++-static -y
      下載predixy 
      git clone https://github.com/joyieldInc/predixy.git
      cd predixy
      編譯既可以
      make
      cp 執(zhí)行文件到bin目錄   
      cp src/predixy /usr/local/bin/
      cp配置文件到/etc/predixy(目錄需要?jiǎng)?chuàng)建)
      cp predixy/conf/* /etc/predixy/

      5. 配置Predixy

      vim /etc/predixy/auth.conf
      Authority {
          Auth {
              Mode write
          }
          Auth {
              Mode admin
          }
      }
      
      
      vim  /etc/predixy/predixy.conf
      Name PredixyExample
      WorkerThreads 1
      ClientTimeout 300
      LogVerbSample 0
      LogDebugSample 0
      LogInfoSample 10000
      LogNoticeSample 1
      LogWarnSample 1
      LogErrorSample 1
      Include auth.conf
      Include sentinel.conf
      Include latency.conf
      
      
      
      
      
      vim /etc/predixy/sentinel.conf  
      SentinelServerPool {
      	    Pssword wxIMtMRWw7104MSLitiowI4QCknkzFMV
              Databases 16
              Hash crc16
              HashTag {}
              Distribution modula
              MasterReadPriority 60
              StaticSlaveReadPriority 50
              DynamicSlaveReadPriority 50
              RefreshInterval 1
              ServerTimeout 1
              ServerFailureLimit 1
              ServerRetryTimeout 1
              KeepAlive 120
              Sentinels {
                 + 192.168.244.132:26380
                 + 192.168.244.128:26380
              }
              Group mymaster {
                + 192.168.244.132:6380
                + 192.168.244.128:6380
              }
      }
      
      
      
      
      MasterReadPriority: 讀寫(xiě)分離功能,從redis master節(jié)點(diǎn)執(zhí)行讀請(qǐng)求的優(yōu)先級(jí),為0則禁止讀redis master,不指定的話為50StaticSlaveReadPriority: 讀寫(xiě)分離功能,從靜態(tài)redis slave節(jié)點(diǎn)執(zhí)行讀請(qǐng)求的優(yōu)先級(jí),所謂靜態(tài)節(jié)點(diǎn),是指在本配置文件中顯示列出的redis節(jié)點(diǎn),不指定的話為0
      
      
      MasterReadPriority,StaticSlaveReadPriority,DynamicSlaveReadPriority這三個(gè)參數(shù)都配成一樣,就相當(dāng)于負(fù)載均衡
      
      ServerFailureLimit: 一個(gè)redis實(shí)例出現(xiàn)多少次才錯(cuò)誤以后將其標(biāo)記為失效,不指定的話為10ServerRetryTimeout: 一個(gè)redis實(shí)例失效后多久后去檢查其是否恢復(fù)正常,不指定的話為1秒

      6.keepalived 安裝

      可以直接下載rpm,并進(jìn)行安裝;
      yum  -y install keepalived

      7.配置Keepalived

      vim /etc/keepalived/keepalived.conf #主上配置
      global_defs {
             notification_email {
                    root@localhost
              }
              notification_email_from keepalived@localhost
              smtp_server 127.0.0.1
              smtp_connect_timeout 30 
              router_id redis-zhu
              vrrp_mcast_group4 224.0.100.100
            }       
      vrrp_script check_redis_proxy {
            script "/usr/bin/check_redis_proxy.sh"
             interval 3
             weight 2
        }
        
        vrrp_instance VI_1 {
            state MASTER 
            interface eno16777736 
            virtual_router_id 6
            priority 100 
            advert_int 1 
            authentication {
                auth_type PASS 
                auth_pass 571f97b2
            }
           track_script {
               check_redis_proxy
           }
            virtual_ipaddress {
                192.168.244.144/24
            }
        }
      
      vim /etc/keepalived/keepalived.conf #從上配置
      global_defs {
             notification_email {
                    root@localhost
              }
              notification_email_from keepalived@localhost
              smtp_server 127.0.0.1
              smtp_connect_timeout 30 
              router_id redis-zhu
              vrrp_mcast_group4 224.0.100.100
            }       
      vrrp_script check_redis_proxy {
            script "/usr/bin/check_redis_proxy.sh"
             interval 3
             weight 2
        }
        
        vrrp_instance VI_1 {
            state BADKUP 
            interface ens33 
            virtual_router_id 6
            priority 80 
            advert_int 1 
            authentication {
                auth_type PASS 
                auth_pass 571f97b2
            }
           track_script {
               check_redis_proxy
           }
            virtual_ipaddress {
                192.168.244.144/24
            }
        }

      8. Keepalived 腳本

      vim /usr/bin/check_redis_proxy.sh
      #!/bin/bash
      
      PREDIXY_PID=`ps -ef |grep predixy|grep -v 'grep'|wc -l`
      ps -ef |grep predixy|grep -v 'grep'|wc -l
      if [ "${PREDIXY_PID}" -ge 1 ];then
      	echo "predixy is Ok"
      else
      	systemctl start predixy
      	sleep 3;
      	PREDIXY_PID2=`ps -ef |grep predixy|grep -v 'grep'|wc -l`
               if  [ "${PREDIXY_PID2}" -eq 0 ];then
      		systemctl stop keepalived
               fi
      		
      fi

      9. Service 文件供參考

      cat /usr/lib/systemd/system/redis.service
      [Unit] 
      Description=Redis
      After=syslog.target nework.target
      
      [Service]
      ExecStart=/usr/bin/redis-server /etc/redis.conf  
      ExecStop=/usr/bin/pkill redis-server
      TimeoutStopSec=0
      Restart=on-failure
      User=redis
      Group=redis
      RuntimeDirectory=redis
      RuntimeDirectoryMode=0755
      
      # file size
      LimitFSIZE=infinity
      # cpu time
      LimitCPU=infinity
      # Virtual memory size
      LimitAS=infinity
      # open files
      LimitNOFILE=64000
      # processes/threads
      LimitNPROC=64000
      # stack size
      LimitSTACK=1048576
      # locked memory
      LimitMEMLOCK=infinity
      # total threads(user+kernel)
      TasksMax=infinity
      TasksAccounting=false
      [Install]
      WantedBy=multi-user.target
      
      cat /usr/lib/systemd/system/redis-sentinel.service
      [Unit]
      Description=Redis-sentinel
      After=syslog.target nework.target
      
      [Service]
      Type=forking
      ExecStart=/usr/bin/redis-sentinel /etc/sentinel.conf  
      ExecStop=/usr/bin/pkill redis-sentinel
      TimeoutStopSec=0
      Restart=on-failure
      User=redis
      Group=redis
      RuntimeDirectory=redis
      RuntimeDirectoryMode=0755
      
      # file sizes
      LimitFSIZE=infinity
      # cpu time
      LimitCPU=infinity
      # virtual memory size
      LimitAS=infinity
      # open files
      LimitNOFILE=64000
      # processes/threads
      LimitNPROC=64000
      # stack size
      LimitSTACK=1048576
      # lcoked memory
      LimitMEMLOCK=infinity
      # total threads
      TasksMax=infinity
      TasksAccounting=false
      [Install]
      WantedBy=multi-user.target
      
      cat  /usr/lib/systemd/system/predixy.service
      [Unit]
      Description=Predixy
      After=syslog.target nework.target
      
      [Service]
      Type=simple
      ExecStart=/usr/local/bin/predixy /etc/predixy/predixy.conf
      ExecReload=/bin/kill -USR2 $MAINPID
      ExecStop=/bin/kill -SIGINT $MAINPID
      PrivateTmp=true
      
      TimeoutStopSec=0
      Restart=on-failure
      User=redis
      Group=redis
      RuntimeDirectory=redis
      RuntimeDirectory=0755
      
      # file size
      LimitFSIZE=infinity
      # cpu time
      LimitCPU=infinity
      # virtual memory size
      LimitAS=infinity
      # open files
      LimitNOFILE=64000
      # processes/threads
      LimitNPROC=64000
      # stack size
      LimitSTACK=1048576
      # locked memory
      LimitMEMLOCK=infinity
      # total threads
      TasksMax=infinity
      TasksAccounting=false
      [Install]
      WantedBy=multi-user.target

      10. 啟動(dòng)服務(wù)

      依次啟動(dòng)并確認(rèn)正常后,啟動(dòng)下一個(gè)Redis, Redis-Sentinel, Predixy, Keepalived; 
      最后確認(rèn)主從狀態(tài),代理狀態(tài),vip;
      
      systemctl start keepalived
      systemctl daemon-reload
      systemctl enable redis.service predixy.service  sentinel.service keepalived.service
      systemctl start  redis.service predixy.service  sentinel.service

      注意以上兩臺(tái)主機(jī)都安裝

      Predixy 參考文檔:https://github.com/joyieldInc/predixy/blob/master/doc/config_CN.md

      posted @ 2021-02-03 11:19  春天的風(fēng)情  閱讀(463)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 国产精品一区二区三区黄| 国产最新精品系列第三页| 无码内射中文字幕岛国片 | 奇米四色7777中文字幕| 自拍第一区视频在线观看| 国产精品亚洲片夜色在线| 国产精品女在线观看| 精品偷拍一区二区三区| 成在线人免费视频| 免费人妻无码不卡中文18禁| 久久人人97超碰人人澡爱香蕉| 99精品国产精品一区二区| 特级做a爰片毛片免费看无码| 日本不卡的一区二区三区| 国产AV福利第一精品| 天堂V亚洲国产V第一次| 亚洲无人区码一二三区别| 无码日韩av一区二区三区| 日韩av无码中文无码电影| 国产精品va在线观看h| 国产在线视频不卡一区二区 | 亚洲综合日韩av在线| 国产suv精品一区二区883| 国产在线精品中文字幕| 国产一区二区四区不卡| 固安县| 国产精品国产三级国av| aaa少妇高潮大片免费看| 黑人巨大无码中文字幕无码| 熟妇高潮精品一区二区三区| 国产91午夜福利精品| 性人久久久久| 国内精品视频区在线2021 | 99久热在线精品视频| 狠狠色综合久久丁香婷婷| 中文字幕av国产精品| 高中女无套中出17p| 日日摸夜夜添狠狠添欧美| 无线乱码一二三区免费看| 亚洲日本va午夜在线影院| 97国产揄拍国产精品人妻|