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

家具网站aspui网页设计论文

家具网站asp,ui网页设计论文,网站建设毕业设计心得,域名解析到别人网站Redis集群 主从复制的场景无法吗满足主机单点故障时需要引入集群配置 一般数据库要处理的读请求远大于写请求 #xff0c;针对这种情况#xff0c;我们优化数据库可以采用读写分离的策略。我们可以部 署一台主服务器主要用来处理写请求#xff0c;部署多台从服务器 #…Redis集群 主从复制的场景无法吗满足主机单点故障时需要引入集群配置 一般数据库要处理的读请求远大于写请求 针对这种情况我们优化数据库可以采用读写分离的策略。我们可以部 署一台主服务器主要用来处理写请求部署多台从服务器 处理读请求。 基本原理 哨兵选举机制如果过半数节点发现某个异常节点共同决定更改异常节点的状态如果该节点是主节点对应的备节点自动顶替为主节点。 Sentinel哨兵是Redis 的高可用性解决方案由一个或多个Sentinel 实例 组成的Sentinel 系统可以监视任意多个主服务器以及这些主服务器属下的所有从服务器。并能在被监视的主服务器下线时自动将下线主服务器下的某个从服务器升级为新的主服务器。 配置集群所需的环境 Redis集群至少需要三个节点因为投票容错机制要求超过半数节点认为某个节点挂了该节点才是挂了所以2个节点无法构成集群。 要保证集群的高可用需要每个节点都有从节点也就是备份节点所以Redis集群至少需要6台服务器。 学习可以采用伪分布式集群即一台服务器虚拟运行6个redis实例修改端口号。 分布式集群搭建 1.在安装目录下新建目录redis_cluster文件夹下新建文件redis7001.conf 2. vim redis7001.conf 在不同的服务器 这个可以不要 cluster-config-file nodes-7006.conf 伪集群每个节点这个文件一样所以需要加这个 引入的配置文件为安装目录下的 redis.conf 文件复制过来 cp usr/local/bin/redis.conf /usr/local/bin/redis_cluster include /usr/local/bin/redis_cluster/redis.conf #引入配置文件 port 7001 #端口设置 pidfile /var/run/redis_7001.pid #存放进程ID防止启动多个进程副本 dbfilename dump_7001.rdb #持久化文件名称 dir /usr/local/bin/redis_cluster #持久化保存位置 logfile /usr/local/bin/redis_cluster/redis_err_7001.log cluster-enabled yes #开启集群 cluster-config-file nodes-7001.conf #节点名称 cluster-node-timeout 15000 #节点过期时间 集群一般不设置密码 3.后台启动查看启动是否正常 4.关闭 建议使用 shutdown 不要使用 kill杀死进程 一台虚拟机多个节点需要 -h 指定 IP 5.完整克隆第一台虚拟机五次(关机后在进行克隆) 6.启动六台虚拟机并修改 IP 与 .conf /etc/sysconfig/network-scripts/ifcfg-ens32(这个数值看个人网卡) /etc/sysconfig/network-scripts/ifcfg-enstab(自动补全) vim /usr/local/bin/redis_cluster/redis7001.conf(文件名不用更改即可) service network restart         修改网络配置后重启网络服务 1 vim /etc/sysconfig/network-scripts/ifcfg-ens32 克隆的五台虚拟机需要删掉此行 UUID (2) 按esc通过vim 底行指令快速修改 vim /usr/local/bin/redis_cluster/redis7001.conf cluster-node-timeout 15000        1会被修改         :%s/7001/7002/g        不会修改 15000 五台克隆的虚拟机均进行以上操作 保证1不在同一个ip 2不在同一个端口启动 如图 ip                                                                redis运行端口 192.168.253.16                                                7001 192.168.253.21                                                7002 192.168.253.22                                                7003 192.168.253.23                                                7004 192.168.253.24                                                7005 192.168.253.25                                                7006 7.在6个虚拟机分别启动redis 因为没有更改文件名称可以直接去每个虚拟机粘贴执行即可 /usr/local/bin/redis-server /usr/local/bin/redis_cluster/redis7001.conf ps -ef | grep redis 查看进程 8.创建redis集群 /usr/local/bin/redis-cli --cluster create 192.168.253.16:7001 192.168.253.21:7002 192.168.253.22:7003 192.168.253.23:7004 192.168.253.24:7005 192.168.253.25:7006 --cluster-replicas 1 cluster-replicas 1 1其实代表的是一个比例就是主节点数/从节点数的比例。会按照命令中IP:PORT的顺序先是3个主节点然后是3个从节点。 分配原则尽量保证每个主数据库运行在不同的IP地址每个从库和主库不在一个IP地址上。 这里输入 yes        如下图创建集群成功 切记 先开启服务端在连接客户端 9.使用cli连接redis集群 使用客户端链接集群 必须使用 -c 连接 /usr/local/bin/redis-cli -c -h 192.168.253.21 -p 7002 10.查看集群的节点的信息 cluster nodes 11.检查集群的状态 /usr/local/bin/redis-cli --cluster check 192.168.253.21:7002 12.添加主节点 新建虚拟机配置 ip 与 .conf文件与前六台配置一样。 例如 IP 192.168.253.26 redis服务端口 7007 启动服务后 /usr/local/bin/redis-cli --cluster add-node 192.168.253.26:7007 192.168.253.21:7002 前面的IP加端口号是要添加的redis节点后面的IP和端口号是集群中的任意一个节点。 13.配置从节点 新建虚拟机 配置 IP 与 端口 例如 IP 192.168.253.27 redis服务端口 7008 刚才添加的主节点还没有分配槽所以无法使用 添加从节点之前需要设置从节点并启动节点 --cluster-master-id 为从节点对应主节点的id 列 添加刚才主节点的从节点 /usr/local/bin/redis-cli --cluster add-node 192.168.253.27:7008 192.168.253.26:7007 --cluster-slave --cluster-master-id 刚才添加的主节点的id 14.重新分配slots 添加的主节点还不能使用因为没有分配slots slot的概念。slot对于Redis集群而言就是一个存放数据的地方就是一个槽。对于每一个Master而言会存在一个slot的范围而Slave则没有。在Redis集群中依然是Master可以读、写而Slave只读 /usr/local/bin/redis-cli --cluster reshard 192.168.253.21:7002(要移动插槽的IP) 然后再执行后的输入框 输入 接收插槽的IP的id 最后输入 all 或 done  all 代表从所有有数据据节点进行迁移到目的节点也可以选择 目标节点id回车最后以done进行结束 done 代表结束 15.删除主节点 --cluster del-node 节点id 删除主节点需要先使用 reshard 把主节点的slots移到其他节点才可以 /usr/local/bin/redis-cli --cluster del-node 节点IP:端口 节点id(要删除节点的slots要移动到的ip的id) 16.删除从节点 --cluster del-node 集群 节点id(要删除的从节点id) /usr/java/redis/bin/redis-cli --cluster del-node 节点ip:端口 节点id(要删除的从节点id) 17.故障检测 验证集群是否生效 关闭一个主节点查看对应的备用节点是不是能够顶替主节点成为主节点 存/取数据的时候查看对应的端口号 关闭主节点以后需要耐心等待一会儿 让他重新分配一下空间 关闭的时候一定要使用shutdown命令不要使用kill命令 /usr/java/redis/bin/redis-cli -h 192.168.253.21 -p 7002 shutdown 关闭之后查看7006是否成为了主节点 7006变成了主节点 证明集群配置成功 下图为正常的 10-20秒左右查看集群状态发现 7006 已经成为主机集群配置成功 主节点恢复后主从关系会如何主节点回来变成从机。 如果所有某一段插槽的主从节点都宕掉redis服务是否还能继续? 如果某一段插槽的主从都挂掉而cluster-require-full-coverage 为yes 那么 整个集群都挂掉 如果某一段插槽的主从都挂掉而cluster-require-full-coverage 为no 那么该插槽数据全都不能使用也无法存储。 redis.conf中的参数 cluster-require-full-coverage 什么是slots [OK] All 16384 slots covered. 一个 Redis 集群包含 16384 个插槽hash slot 数据库中的每个键都属于这 16384 个插槽的其中一个 集群使用公式 CRC16(key) % 16384 来计算键 key 属于哪个槽 其中 CRC16(key) 语句用于计算键 key 的 CRC16 校验和 。 name 2 [0-5460] 集群中的每个节点负责处理一部分插槽。 举个例子 如果一个集群可以有主节点 其中 节点 A 负责处理 0 号至 5460 号插槽。 节点 B 负责处理 5461 号至 10922 号插槽。 节点 C 负责处理 10923 号至 16383 号插槽。 在集群中录入值 在redis-cli每次录入、查询键值redis都会计算出该key应该送往的插槽如果不是该客户端对应服务器的插槽redis会报错并告知应前往的redis实例地址和端口。 redis-cli客户端提供了 –c 参数实现自动重定向。 如 redis-cli -c –p 7000登入后再录入、查询键值对可以自动重定向。 不在一个slot下的键值是不能使用mget,mset等多键操作。 可以通过{}来定义组的概念从而使key中{}内相同内容的键值对放到一个slot中去。按组分配插槽 Redis 集群优点 实现扩容 分摊压力 无中心配置相对简单 Redis 集群的不足 多键操作是不被支持的 多键的Redis事务是不被支持的 由于集群方案出现较晚很多公司已经采用了其他的集群方案而代理或者客户端分片的方案想要迁移至redis cluster需要整体迁移而不是逐步过渡复杂度较大。
http://wiki.neutronadmin.com/news/375869/

相关文章:

  • 手机如何制作网站教程天津开发区网站
  • 长沙麓谷建设发展有限公司网站互联网广告公司排名前十
  • 无锡锡山网站建设android studio打包apk
  • 好看的网站首页设计给企业开发网站
  • 鞍山市信息网站赣州建设监督网站
  • 网站建设中首页模板睢宁县建设工程招标网
  • 旅游网站开发与设计论文百度指数怎么下载
  • 土地违法建设投诉网站外贸网络营销的方法
  • seo站点是什么意思高端移动网站开发
  • 免费的企业网站做简单的网站链接
  • 网站建设免费课程火狐浏览器网页版
  • 青岛网站建设方案网站维护更新费用
  • 国外开源网站系统北京公司招聘
  • 白狐网站建设网站建设关键词优化价格
  • 深圳网站建设价格多少钱wordpress如何做页面模板下载
  • 洛江区住房和城乡建设局网站网站信息化建设具体内容
  • 有效的网站推广方案wordpress 下雪插件
  • dreamwearver做网站地图seo排名优化软件价格
  • 企业文化模板企业网站优化之如何做需求分析
  • 上海松江建设银行网站wordpress灯箱图片
  • 如何查网站开发商seo 对手 网站 自然
  • 成功案例 品牌网站深圳好蜘蛛网站建设公司
  • 中国门户网站网站开发的硬件设备
  • 自助小站郑州汉狮做网站的公司
  • 网站产品图怎么做成都网站制作公司定制
  • 网站建设 html5网页设计论文
  • 深圳福田有什么好玩的地方泉州关键词优化
  • 即墨网站建设哪家好wordpress写公式
  • 网站设计论文参考文献南通五建宏业建设工程有限公司网站
  • 代做效果图网站好wordpress插件放哪