当前位置: 首页 > news >正文

大理中小企业网站建设免费域名申请网站空间

大理中小企业网站建设,免费域名申请网站空间,微信店铺,wordpress访客记录插件目录 一、Redis主从复制 1、概念 2、作用 3、缺点 4、流程 5、搭建 6、验证 二、Reids哨兵模式 1、概念 2、作用 3、缺点 4、结构 5、搭建 6、验证 三、Redis集群 1、概述 2、原理 3、架构细节 4、选举过程 四、搭建 1、第一步现在外部使用finalshell 9.9…

目录

一、Redis主从复制

1、概念

2、作用

3、缺点

4、流程

5、搭建

6、验证

二、Reids哨兵模式

1、概念

2、作用

3、缺点

4、结构

5、搭建

6、验证

三、Redis集群

1、概述

2、原理

3、架构细节

4、选举过程

四、搭建

1、第一步现在外部使用finalshell 9.9.7.5连接上虚拟机

2、更改配置文件

 3、构建集群


一、Redis主从复制

1、概念

是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(Master),后者称为从节点(Slave);数据的复制是单向的,只能由主节点到从节点。

2、作用

数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。
故障恢复:当主节点出现问题时,可以由从节点提供服务,实现快速的故障恢复;实际上是一种服务的冗余。

负载均衡:在主从复制的基础上,配合读写分离,可以由主节点提供写服务,由从节点提供读服务(即写Redis数据时应用连接主节点,读Redis数据时应用连接从节点),分担服务器负载;尤其是在写少读多的场景下,通过多个从节点分担读负载,可以大大提高Redis服务器的并发量。

高可用:除了上述作用以外,主从复制还是哨兵和集群能够实施的基础,因此说主从复制是Redi高可用的基础。

3、缺点

故障恢复无法自动化;

写操作无法负载均衡;

存储能力受到单机的限制。

4、流程

第一步:若启动一个Slave机器进程,则它会向Master机器发送一个“sync command”命令,请求同步连接。

第二步:无论是第一次连接还是重新连接,Master机器都会启动一个后台进程,将数据快照保存到数据文件中(执行rdb操作),同时Master还会记录修改数据的所有命令并缓存在数据文件中。 

第三步:后台进程完成缓存操作之后,Maste机器就会向Slave机器发送数据文件,Slave端机器将数据文件保存到硬盘上,然后将其加载到内存中,接着Master机器就会将修改数据的所有操作一并发送给Slave端机器。若Slave出现故障导致宕机,则恢复正常后会自动重新连接。

第四步:Master机器收到Slave端机器的连接后,将其完整的数据文件发送给Slave端机器,如果Mater同时收到多个Slave发来的同步请求,则Master会在后台启动一个进程以保存数据文件,然后将其发送给所有的Slave端机器,确保所有的Slave端机器都正常。

5、搭建

复制redis配置文件,原文件不进行修改     主文件redis_6379.conf    从文件 redis_6380.conf

主(192.168.115.160)

修改配置文件

vim /opt/redis_6379.conf 

vim /etc/redis.conf

bind  0.0.0.0

port  6379

protected-mode = no

daemonize = yes


 

 

 然后重启服务

在一台主机上实现

vim /opt/redis_6380.conf 

vim /opt/redis_6380.conf 

修改配置文件

bind  0.0.0.0

port  6380

protected-mode = no

daemonize = yes

slaveof 192.168.28.128 6379

 

 ​​

cp /etc/redis.conf /opt/redis_6379.confcp /etc/redis.conf /opt/redis_6380.confvim /opt/redis_6379.conf vim /opt/redis_6380.conf redis-server /opt/redis_6379.conf redis-server /opt/redis_6380.conf netstat -anptu | grep redis

在这里我们的主从复制就配置完成了

6、验证

使用redis-cli命令行登录redis服务器,输入role指令查看状态

在master节点上,录入数据,在slave节点上查看到对应数据即可

 redis-cli -p 6379


 在另一个端口上查看

 如果想复制多份端口的话需要以下操作

每台服务器需要一下操作

cp redis_6380.conf redis_6381.conf  cp redis_6380.conf redis_6382.conf cp redis_6380.conf redis_6383.conf vim redis_6381.conf vim redis_6382.conf vim redis_6383.conf 

for i in 1 2 3;do redis-server /opt/redis_638${i}.conf;done

for i in 1 2 3;do redis-server /opt/redis_638${i}.conf;donenetstat -anptu |grep redis

验证一下

二、Reids哨兵模式

1、概念

是一个分布式系统,用于对主从结构中的每台服务器进行监控,当出现故障时通过投票机制选择新的 Master 并将所有 Slave 连接到新的 Master。所以整个运行哨兵的集群的数量不得少于3个节点。

依托于主从模式

2、作用

监控:哨兵会不断地检查主节点和从节点是否运作正常。

自动故障转移:当主节点不能正常工作时,哨兵会开始自动故障转移操作,它会将失效主节点的其中一个从节点升级为新的主节点,并让其他从节点改为复制新的主节点。

通知(提醒):哨兵可以将故障转移的结果发送给客户端。

3、缺点

写操作无法负载均衡

存储能力受到单机的限制

哨兵无法对从节点进行自动故障转移,在读写分离场景下,从节点故障会导致读服务不可用,需要对从节点做额外的监控、切换操作。

4、结构

哨兵节点:哨兵系统由一个或多个哨兵节点组成,哨兵节点是特殊的redis节点,不存储数据。

数据节点:主节点和从节点都是数据节点。

5、搭建

复制哨兵文件         分别监听主从        (一主二从即可)

修改服务配置文件 一主二从分别为  redis_6379.conf   redis_6380.conf  redis _6381.conf

port 26379

sentinel monitor mymaster 192.168.115.160 6379 2

vim /etc/redis-sentinel.conf 

cp /etc/redis-sentinel.conf /opt/redis-sentinel_6379.confcp /etc/redis-sentinel.conf  /opt/redis-sentinel_6380.confcp /etc/redis-sentinel.conf /opt/redis-sentinel_6381.confvim redis-sentinel_6379.conf vim redis-sentinel_6380.conf vim redis-sentinel_6381.conf

 6379的配置文件

 80

 81

启动         redis-sentinel  配置文件路径

 启动服务  并查看

redis-sentinel redis-sentinel_6379.conf 
redis-sentinel redis-sentinel_6380.conf 
redis-sentinel redis-sentinel_6381.conf 
netstat -anptu |grep redis

6、验证

先查看哨兵日志

cat /var/log/redis/sentinel.log

停止master后,slave会通过选举产生新的master

 换了一个新的哨兵,(停止主服务器)查看是否生成新的主服务器

  主服务器从端口6379变为6380

如果此时将原来的master6379上线,6381还会是master吗?

答案是不会

哨兵配置文件会自动修改监听的master节点地址为新的master节点地址

三、Redis集群

1、概述

Redis3.0版本以上开始支持cluster,采用的是hashslot(hash槽),可以将多个Redis实例整合在一起,形成一个群集,也就是将数据分散到群集的多台机器上。

2、原理

Redis Cluster是一个无中心的结构,每个节点都保存数据和整个群集的状态。每个节点都会保存其他节点的信息,知道其他节点所负责的槽,并且会与其他节点定时发送心跳信息,能够及时感知群集中异常的节点。

3、架构细节

(1)所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽。

(2)节点的失效(fail)在群集中超过半数的主(master)节点检测失效时才生效。

(3)客户端与 redis 节点直连,不需要中间代理(proxy)层,客户端不需要连接群集所有节点,连接群集中任何一个可用节点即可。

(4)redis-cluster 把所有的物理节点映射到【0-16383】slot 上,cluster 负责维护 node<->slot<->key。

4、选举过程

选举过程是群集中所有master参与,如果半数以上master节点与当前 master 节点通信超(cluster—node—timeout),认为当前 master 节点挂掉。以下两种情况为整个群集不可(cluster_state:fail),当群集不可用时,所有对群集的操作都不可用,收到((error)CLUSTEFDOWN The cluster is down)错误。

如果群集任意 master挂掉,且当前 master 没有 slave,则群集进入 fail状态,也可以理解成群集的slot映射【0 ~16383】不完整时进入fail状态。

如果群集中超过半数的master挂掉,无论是否有slave,群集都进入 fail状态。

默认情况下,每个群集的节点都使用两个TCP端口.一个是6379,一个是16379;6379服务于客户端的连接,16379 用于群集总线,即使用二进制协议的节点到节点通信通道。节点使用群集总线进行故障检测、配置更新、故障转移授权等。如果开启了防火墙,需要开放这两个端口。

四、搭建

先画一个拓扑图片理清楚里面的关系

1、第一步现在外部使用finalshell 9.9.7.5连接上虚拟机

第二步开始下载连接上网络源开始下载epel-release下载两遍更新一下,安装REdis

第三步、每台机子上面创建目录

 mkdir /etc/rediscp /etc/redis.conf /etc/redis/redis1_6379.confcp /etc/redis.conf /etc/redis/redis2_6380.conf

 

 回到第一台主机分别修改配置文件内容

 开始更改文件三台机子一起改了

 vim /etc/redis/redis1_6379.conf 

bind 192.168.28.3      本机ip

protected-mode no       关闭保护模式

port 6379       监听端口

daemonize yes      允许后台运行

dir /var/lib/redis/redis3_6379/      目录存放位置

 vim /etc/redis/redis2_6380.conf 

protected-mode no

bind 192.168.28.3

daemonize yes

 

 进入目录创建文件

 cd /var/lib/redis/mkdir redis1_6379mkdir redis2_6380

 启动一下文件

redis-server /etc/redis/redis1_6379.conf redis-server /etc/redis/redis2_6380.conf netstat -anptu | grep redis

 第一台机子没问题了,开始弄第二台机子

bind 192.168.28.4 本机ip

protected-mode no  关闭保护模式

port 6379   监听端口

daemonize yes   允许后台运行

dir /var/lib/redis/redis3_6379/  目录存放位置

bind 192.168.28.4 

protected-mode no

port 6380

daemonize yes

dir /var/lib/redis/redis4_6380/

 cd /var/lib/redis/mkdir redis3_6379mkdir redis4_6380netstat -anptu | grep redis

第三台机子

bind 192.168.28.5

protected-mode no

port 6379

daemonize yes

dir /var/lib/redis/redis5_6379/

bind 192.168.28.5

protected-mode no

port 6379

daemonize yes

dir /var/lib/redis/redis6_6380/

 mkdir redis5_6379mkdir redis6_6380redis-server /etc/redis/redis5_6379.conf redis-server /etc/redis/redis6_6380.conf netstat -anptu | grep redis

这里开始我们的服务启动成功,开始配置文件分别修改配置文件中

2、更改配置文件

    cluster-enabled yes

    cluster-config-file nodes-6379.conf

    cluster-node-timeout 15000

更改完配置文件一定要检查一下看一下是否起动成功

 !netkill redis-server /etc/redis/redis1_6379.conf redis-server /etc/redis/redis2_6380.conf !net

 第二台和上台一样

 第三台和上两台一样

 3、构建集群

⑴以下操作需要登录某个节点的redis数据库中

将其他节点加入集群
     CLUSTER MEET 192.168.115.128 6380
     CLUSTER MEET 192.168.115.128 6381
     CLUSTER MEET 192.168.115.128 6382
     CLUSTER MEET 192.168.115.128 6383
     CLUSTER MEET 192.168.115.128 6384

查看一下字符

分配slot一定要出数据库分配数据槽

redis-cli -p 6379 cluster addslots {0..5461}

redis-cli -p 6381 cluster addslots {5462..10922}

redis-cli -p 6383 cluster addslots {10923..16383}

建立主从关系

 redis-cli -h 192.168.28.5 -p 6379 cluster replicat  cf2958543c77c8385a12a1408e5295fa3a39d943

 redis-cli -h 192.168.28.3 -p 6380 cluster replicate b10d86332060b6c3e2cf106b4102ad2f58897faf

redis-cli -h 192.168.28.4 -p 6379 cluster replicate 6228a79970b2bb518856091201e0a9cc1865661f
 

根据图片找到以下的依赖

redis3是redis1的从数据库所以在库里输入

从ID redis-cli -h 192.168.28.4 -p 6379 cluster replicate 这里加入主的redis1的6379的UUID

从ID redis-cli -h 192.168.28.5 -p 6379 cluster replicate  这里加入主的redis4的6380的UUID

从ID redis-cli -h 192.168.28.3 -p 6380 cluster replicate  这里加入住的redis5的6380的UUID

 查看一下数据库状态说明集群成功了

查看命令

cluster nodes

查看所有群集节点

cluster info

查看群集状态

重置集群命令

cluster reset

数据的key不能相同

创建用户他会给我们分配一个哈希槽

http://www.yayakq.cn/news/467075/

相关文章:

  • 如何用cms做网站怎么做淘宝网站赚钱技巧
  • 汕头模板网建站泰国一家做男模的网站
  • 江门做网站如何做企业网络营销推广
  • 东莞网站推广优化网站电子政务网站建设要求
  • 新手学纪事本html代码做网站泰州建设网站
  • 网站建设维护总结东莞常平哪里好玩
  • 网站统计模块协同办公软件下载
  • 建设智能网站黔西南州网站建设
  • 云网站建站南昌网站建设索q.479185700
  • 为什么做游戏网站被封海外网站推广方法
  • 有关网站建设的说说个网站能申请贝宝支付接口
  • 怎么使用电脑是做网站网站开发需求分析包括哪些方面
  • 个人网站可以如果做淘宝客wordpress源代码
  • wordpress建站准备做网站什么域名好
  • 九江做网站哪家公司好工作号做文案素材的网站
  • 研究生院 网站 建设石碣网站仿做
  • 大姚网站建设留号码的广告网站
  • 网站链接数怎么做泰州泛亚信息做网站怎么样
  • 公司网站建设价位html论坛代码大全
  • 研发网站要多长时间合肥专业做淘宝网站推广
  • 嘉兴营销型网站网站如何实现临时聊天
  • 新开传奇网站网站源码后台
  • 呼市浩特网站建设外包公司设计网站的关键点
  • 营销型网站的布局网络公司管理系统
  • 中国建设劳动学会网站win10系统优化
  • 网站建设一条龙大连企业免费建站
  • 制作闹钟网站用手机制作游戏的软件
  • 哈尔滨营销网站制作电脑版网页游戏
  • python做网站服务器百度收录入口提交
  • 四川科隆建设有限公司网站东莞城乡建设规划官网