cat >> /etc/sysctl.conf<

cat >>/etc/security/limits.conf<<EOF

  • soft nproc 65535
  • hard nproc 65535
  • soft nofile 65535
  • hard nofile 65535
    EOF

sysctl -p
cat /etc/sysctl.conf
cat /etc/security/limits.conf

1、安装redis(3台)
wget http://download.redis.io/releases/redis-4.0.8.tar.gz
cd /usr/local/
tar xzvf /root/redis-4.0.8.tar.gz
cd redis-4.0.8
make
cd src
make install PREFIX=/usr/local/redis
mkdir /data/redis/log -p
mkdir /data/redis/conf -p
mkdir /data/redis/rdb -p
mkdir /data/redis/run -p
mkdir /data/redis/redis_sentinels -p
cd …
cp redis.conf /usr/local/redis
cd src
cp redis-server /usr/local/redis
cp redis-benchmark /usr/local/redis
cp redis-cli /usr/local/redis
cd /usr/local/redis
cd /usr/local/redis/bin/
cp redis-server /bin/
cp redis-cli /bin/
cd /usr/local/redis-4.0.8/src
cp redis-trib.rb /bin/
2.撰写redis配置文件(2台)
vi /data/redis/conf/redis6379.conf

bind 0.0.0.0
daemonize yes
pidfile "/data/redis/run/redis-6379.pid"
port 6379
tcp-backlog 511
timeout 300
tcp-keepalive 0
loglevel notice
logfile "/data/redis/log/redis-6379.log"
maxmemory 10gb    #内存的5/8
databases 16
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename "dump-6379.rdb"
dir "/data/redis/rdb"
slave-serve-stale-data yes
slave-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
slave-priority 100
appendonly yes
appendfilename "redis-6379.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
lua-time-limit 5000
#cluster-enabled yes
#cluster-config-file nodes-6379.conf
#cluster-node-timeout 15000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-entries 512
list-max-ziplist-value 64
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes
# Generated by CONFIG REWRITE
masterauth "mypassword"
requirepass "mypassword"

3.撰写sentinel配置文件(2台)
vi /data/redis/conf/redis-sentinel6379.conf

daemonize yes
port 26379
dir "/data/redis/redis_sentinels"
pidfile "/data/redis/run/sentinel6379.pid"
logfile "/data/redis/redis_sentinels/sentinel6379.log"protected-mode no
sentinel monitor master6379 10.18.30.43 6379 2  #主ip
sentinel client-reconfig-script master6379 /opt/notify_master6379.sh
sentinel auth-pass master6379 mypassword
sentinel config-epoch master6379 1

4.撰写漂移VIP的脚本(2台)
vi /opt/notify_master6379.sh

#!/bin/bash
MASTER_IP=$6
LOCAL_IP='10.18.33.91' #从库修改为10.18.33.92
VIP='10.18.33.247'
NETMASK='24'
INTERFACE='eth0'
if [ ${MASTER_IP} = ${LOCAL_IP} ]; then/sbin/ip addr add ${VIP}/${NETMASK} dev ${INTERFACE}/sbin/arping -q -c 3 -A ${VIP} -I ${INTERFACE}exit 0
else/sbin/ip addr del ${VIP}/${NETMASK} dev ${INTERFACE}exit 0
fi
exit 1

chmod +x /opt/notify_master6379.sh
5.开放端口 6379 26379(3台)

6.启动redis服务(2台)

/usr/local/redis/redis-server /data/redis/conf/redis6379.conf
7.初始化主从(从库执行)
/usr/local/redis/redis-cli -p 6379 -a mypassword slaveof 10.18.33.91 6379
8.绑定VIP到主库
/sbin/ip addr add 10.18.33.247/24 dev eth0
9.启动sentinel服务(3台)
/usr/local/redis/redis-server /data/redis/conf/redis-sentinel6379.conf --sentinel
10.检查replication与Sentinel是否配置成功
/usr/local/redis/redis-cli -h 10.18.33.91 -p 6379 -a mypassword info Replication
/usr/local/redis/redis-cli -h 10.18.33.91 -p 26379 -a mypassword info Sentinel
10:验证是否实现了高可用

/usr/local/redis/redis-cli -h 10.18.33.91 -p 6379 -a mypassword shutdown
/usr/local/redis/redis-cli -h 10.18.33.92 -p 6379 -a mypassword info Replication
/usr/local/redis/redis-cli -h 10.18.33.91 -p 26379 -a mypassword info Sentinel

Redis高可用架构 (redis主从+sentinel)相关推荐

  1. Redis高可用架构-Redis集群,一文get三种方式

    前言 容量不够,redis如何进行扩容? 并发写操作, redis如何分摊? 另外,主从模式,薪火相传模式,主机宕机,导致ip地址发生变化,应用程序中配置需要修改对应的主机地址.端口等信息. 之前通过 ...

  2. 教你用 3 台机器搞定一个 Redis 高可用架构

    转载自   教你用 3 台机器搞定一个 Redis 高可用架构 基于内存的 Redis 应该是目前各种 Web 开发业务中最为常用的 key-value 数据库了. 我们经常在业务中用其存储用户登陆态 ...

  3. 带哨兵节点的链_深入学习Redis高可用架构:哨兵原理及实践

    原标题:深入学习Redis高可用架构:哨兵原理及实践 " 在上篇文章<深入学习 Redis 高可用的基石:主从复制>中曾提到,Redis 主从复制的作用有数据热备.负载均衡.故障 ...

  4. Redis高可用架构

    目录 Redis持久化 RDB持久化 AOF持久化 Redis cluster 节点间内部通信原理 分布式寻址算法 Redis cluster主备切换原理 生产环境中redis部署 Redis reh ...

  5. 深入学习Redis高可用架构:哨兵原理及实践

    Redis 主从复制的作用有数据热备.负载均衡.故障恢复等:但主从复制存在的一个问题是故障恢复无法自动化. 本文将要介绍的哨兵,它基于 Redis 主从复制,主要作用便是解决主节点故障恢复的自动化问题 ...

  6. 【Redis】Redis高可用之Cluster主从模式详解(Redis专栏启动)

  7. 【Redis】Redis高可用之Redis Cluster集群模式详解(Redis专栏启动)

  8. 携程数据库高可用架构实践

    作者:携程技术团队,来自:DataFunTalk 导读: 我们推荐使用数据库三副本,一主一从一异地容灾.如果想要节省成本,也可以只保留两副本,但是一旦其中一台服务器发生故障,服务器维修时间会比较长,那 ...

  9. 如何保证 Redis 高可用和高并发(主从+哨兵+集群)

    1. 概述 Redis 作为一种高性能的内存数据库,普遍用于目前主流的分布式架构系统中.为了提高系统的容错率,使用多实例的 Redis 也是必不可免的,但同样复杂度也相比单实例高出很多. 那么如何保证 ...

最新文章

  1. 厉害的组件_企业级React UI组件库——React Suite
  2. 【以太坊】web3.js的1.0版本和0.2.0版本的安装及区别
  3. 如何快速增加网站收录?
  4. 【c++】29.设计模式总结
  5. Python 3.X 要使用urllib.request 来抓取网络资源。转
  6. 牛客 - 街机争霸(bfs)
  7. Atom插件主题推荐
  8. ef ddl生成不了脚本_如何使用Hibernate从Play生成DDL脚本! 框架项目
  9. 如何在GPU上产生随机数
  10. Understanding .NET Code Access Security
  11. Linux下patch打补丁命令
  12. 为Bootstrap模态对话框添加拖拽移动功能
  13. 激光雷达RPLidar的配置(arduino和rasberrypi)
  14. AN APPROACH OF VECTOR FIELD TEXTURE VISUALIZATION BASED ON FIELD DRIVEN STRENGTH算法实现
  15. 车联网智能终端GB/T 32960国标协议规范 、国标新能源车联网终端GB/T32960标准T-BOX应用
  16. 学霸的迷宫 - 广搜例题
  17. 音频直播,这里面到底有多少坑
  18. 可提高生产力的实用工具集锦
  19. 2020 全球经济正进入衰退期
  20. 安卓手机管理_安卓手机清理大师app下载-安卓手机清理大师下载v1.0.0安卓版

热门文章

  1. WordPress注册登录注册系统插件
  2. python模拟登记获取cookie_Python爬虫实战入门四:使用Cookie模拟登录——获取电子书下载链接...
  3. python都用什么写代码_python都用什么写代码
  4. 百度SEO网页背景渐变色代码
  5. 商标申请流程图及时间_长沙注册商标面要多长时间及注册申请流程
  6. 项目是采用目前比较流行的 SpringBoot/SpringCloudAlibaba构建新零售微服务电商项目
  7. PHP网站管理系统-EBCMS易贝管理系统 v1.2.0
  8. 招商银行网站在chrome中 布局出现大问题,如图
  9. 为什么Linux不需要碎片整理?
  10. Netbeans加入CI的代码提示