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

wordpress 搭建网站长春网站建设团队

wordpress 搭建网站,长春网站建设团队,集团公司做网站,合肥网站建设电话一、redis5搭建集群 1.1、案例:搭建6台redis主机,配置如下 redis并发量:https://www.gxlcms.com/redis-350423.html主机IP:192.168.168.60~65修改redis配置文件hash槽移动,槽内的数据也随之移动 [root60 ~]# vim /e…

一、redis5搭建集群

1.1、案例:搭建6台redis主机,配置如下

  • redis并发量:https://www.gxlcms.com/redis-350423.html
  • 主机IP:192.168.168.60~65
  • 修改redis配置文件
  • hash槽移动,槽内的数据也随之移动
[root@60 ~]# vim /etc/redis/6379.confport 6360								bind 192.168.168.60						//本机iPcluster-enabled yes						//启用集群功能cluster-config-file nodes-6360.conf		//存储集群信息文件cluster-node-timeout 5000				//和其他主机连接超时时间(毫秒)
  • 重启并查看端口
[root@60 ~]# /etc/init.d/redis_6379 restart
[root@60 ~]# 
[root@60 ~]# netstat -ntpl |grep redis
tcp        0      0 192.168.168.60:16360    0.0.0.0:*               LISTEN      3394/redis-server 1 
tcp        0      0 192.168.168.60:6360     0.0.0.0:*               LISTEN      3394/redis-server 1 
# 有两个端口,另一个是集群端口
  • 创建集群,redis5创建集群的命令是用C语言写的,固直接使用redis-cli创建
[root@60 ~]# redis-cli --cluster  create  \
>192.168.168.60:6360 \
>192.168.168.61:6361 \
>192.168.168.62:6362 \
>192.168.168.63:6363 \
>192.168.168.64:6364 \
>192.168.168.74:6374 \
--cluster-replicas 1~~~
[OK] All 16384 slots covered.

1.2、查看集群信息

  • 可通过ID号来分辨谁是主谁是从
[root@60 ~]# cat /var/lib/redis/6379/nodes-6360.conf 
a8d25a9390b1fabc2c71066a421f75ca83164068 192.168.168.74:6374@16374 slave ce4577b185a1de74f19336ea097cfaba7287a6db 0 1614424935501 6 connected
96b11bcc1a22f00196990dd98c9ba10977b15853 192.168.168.60:6360@16360 myself,master - 0 1614424934000 1 connected 0-5460
46d9b27d6a5ae7404f5d3a9d237838d20d40eddb 192.168.168.62:6362@16362 master - 0 1614424934498 3 connected 10923-16383
3afa277b144f764cdab7001666332de6e84319d6 192.168.168.64:6364@16364 slave 96b11bcc1a22f00196990dd98c9ba10977b15853 0 1614424934000 5 connected
0b5db3a2284d6f76ed7926f0da7619a175f66886 192.168.168.63:6363@16363 slave 46d9b27d6a5ae7404f5d3a9d237838d20d40eddb 0 1614424936003 4 connected
ce4577b185a1de74f19336ea097cfaba7287a6db 192.168.168.61:6361@16361 master - 0 1614424934000 2 connected 5461-10922
vars currentEpoch 6 lastVoteEpoch 0
[root@60 ~]# redis-cli -h 192.168.168.60 -p 6360 -c
192.168.168.60:6360> 
192.168.168.60:6360> cluster nodes
192.168.168.60:6360> cluster info
cluster_state:ok
cluster_slots_assigned:16384		#总共16384个hash槽
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:6				#总共6个节点
cluster_size:3						# 3个主节点
cluster_current_epoch:6
cluster_my_epoch:1
cluster_stats_messages_ping_sent:1937
cluster_stats_messages_pong_sent:1910
cluster_stats_messages_sent:3847
cluster_stats_messages_ping_received:1905
cluster_stats_messages_pong_received:1937
cluster_stats_messages_meet_received:5
cluster_stats_messages_received:3847

1.3、hash槽以及key存储

  • hash槽分配
使用cluster info 可查看hash槽的个数,cluster nodes 可查看每个主节点的hash槽范围
使用key存储时,key值与CRC16算法取到一个值,该值与hash槽数取余(值/16384)得到的结果便为存放在hash槽的槽号
  • 排错
[root@60 ~]# redis-cli -h 192.168.168.60 -p 6360
192.168.168.60:6360> 
192.168.168.60:6360> set name bob
(error) MOVED 5798 192.168.168.74:6374			#该错误代表没有启用集群模板所致
  • 解决方案
使用 "-c" 启用集群模板
[root@60 ~]# redis-cli -c -h 192.168.168.60 -p 6360 
192.168.168.60:6360> keys *
(empty list or set)
192.168.168.60:6360> set name bob
-> Redirected to slot [5798] located at 192.168.168.74:6374
OK
192.168.168.74:6374> 

二、集群参数

2.1、集群命令

  • add-node #添加节点
  • del-node #删除节点,
  • reshard #重新划分槽
  • info #查看集群主从
  • check #检查集群状态

2.2、集群内部命令

  • cluster reset #重置当前集群主机并重置集群文件
  • info replication #查看集群信息和当前角色
  • 案例
redis集群:一个主宕掉之后,从会升级成主
add-nodes: 默认添加主节点,--cluster-slave 添加从节点,需要指定主节点#添加为主库后默认是没有hash槽,需要划分hash槽
  • 案例
添加67主机为master服务器:
添加时不指定主机角色,默认新主机被选为master;且需要手动分配hash槽(slots):::
1:添加master
2:手动分配hash槽
(1):add-node  添加主机,默认为master		redis-cli --cluster add-node 192.168.168.67:6367 集群任意一台masterip:端口
(2):reshard  重新分配hash槽redis-cli --cluster reshard	192.168.168.67:63671:hash槽增加个数,2:要划分槽的master主机的ID号,3:all/masterID号	all代表所有,masterID 需回车后数 done4:yes完成
(3):hash槽查看redis-cli --cluster info 集群任意一台主机IP:端口
3:添加slave节点redis-cli --cluster add-node new_host:new_port existing_host:existing_port --cluster-slave
4:移除slave节点:
5:移除master节点:需要先移除hash槽,
[root@74 ~]# redis-cli --cluster add-node 192.168.168.67:6367 192.168.168.74:6374
[root@74 ~]# cat /var/lib/redis/6379/nodes-6374.conf 
...
0b5db3a2284d6f76ed7926f0da7619a175f66886 192.168.168.63:6363@16363 master - 0 1614596774544 9 connected 10923-16383
a042887465d75de9b5dc022161f9072f58479880 192.168.168.67:6367@16367 master - 0 1614596774749 0 connected 	
#添加集群成功,但是没有hash槽,默认为master
...
[root@74 ~]# redis-cli --cluster reshard 192.168.168.67:6367	
[root@74 ~]#
[root@74 ~]# cat /var/lib/redis/6379/nodes-6374.conf 
a042887465d75de9b5dc022161f9072f58479880 192.168.168.67:6367@16367 master - 0 1614596970036 10 connected 0-1364 5461-6826 10923-12287
[root@62 ~]# redis-cli --cluster info 192.168.168.62:6362
192.168.168.63:6363 (0b5db3a2...) -> 1 keys | 4096 slots | 1 slaves.
192.168.168.74:6374 (a8d25a93...) -> 0 keys | 4096 slots | 1 slaves.
192.168.168.67:6367 (a0428874...) -> 2 keys | 4096 slots | 0 slaves.
192.168.168.64:6364 (3afa277b...) -> 1 keys | 4096 slots | 1 slaves.
[OK] 4 keys in 4 masters.
0.00 keys per slot on average.
移除从库时,会停掉从库,该从库目录下集群文件不变,所以启动时会自动加载集群文件
移除主库时,先移除的主库Hash槽1:移除多少个hash slots
2:接收hash槽主机的ID
3:移除hash槽主机的ID all/id+done
4:yes

三、Redis主从同步

  • 主从架构:一主一从,一主多从,主从从

3.1、临时设置成主从

  • info replication #登录后查看角色信息
  • slaveof 主库ip 端口 #从库指定谁是主库,适用于一主一从,一主多从,主从从,临时生效
  • slaveof on one #主库宕机后,从库恢复成主库
192.168.168.68:6368> SLAVEOF 192.168.168.67 6367	#指定67为68的主库
OK Already connected to specified master
192.168.168.68:6368> info replication
# Replication
role:slave
master_host:192.168.168.67
master_port:6367
master_link_status:up
192.168.168.73:6373> SLAVEOF 192.168.168.68 6368	#主从从结构配置

3.2、永久配置主从

  • 主库配置:开启密码验证
[root@67 ~]# grep -n requirepass /etc/redis/6379.conf 
508:requirepass 123456		
  • 从库配置:指定主库与主库密码
[root@68 ~]# sed -n "287p;294p" /etc/redis/6379.conf 
replicaof 192.168.168.67 6367	#主库IP 端口
masterauth 123456				#主库密码
  • 主从从配置,从库的从库配置
[root@73 ~]# sed -n "287p" /etc/redis/6379.conf 
replicaof 192.168.168.68 6368
  • 哨兵模式
简介:slave节点监视master节点,发现master节点宕机后,slave节点选举出一个新的master,原来的master节点恢复后自动变成从,但是要注意密码。
哨兵模式适用于主从从,一主多从
主库配置:
[root@67 ~]# vim /etc/redis/6379.conf bind 192.168.168.67port 6367requirepass "123456"masterauth 123456
从库配置1
[root@68 ~]# vim /etc/redis/6379.conf bind 192.168.168.68port 6368replicaof 192.168.168.68 6368	#指定主库requirepass "123456"masterauth 123456
# 从库配置2,创建监视文件,启用哨兵服务
[root@68 ~]# vim /etc/sentinel.conf 	#新建conf文件
sentinel monitor host-minoter 192.168.168.68 6368 1		#Hhost-minoter给监视的主机起名字,主机+端口,1代表投票的票数
sentinel auth-pass host-minoter 123456					#主库密码
# 从库启动监视器
[root@68 ~]# redis-sentinel /etc/sentinel.conf 
....
在终端输出

四、数据持久化

  • RDB:dump.rdb(默认),Redis database
  • AOF:*.aof,append only file

4.1、RDB

  • 简介
数据持久化默认方式
按照指定时间间隔,将内存中的数据快照写到硬盘
快照术语叫 Snapshot
恢复时,将快照文件直接写入内存;
  • 优点,缺点
优点:高性能的持久化,创建一个子进程来执行持久化,先将数据写入临时文件,持久化结束后,再将这个临时文件替换上次持久化好的文件;替换过程中主进程不做任何的IO操作;解释:主进程只负责处理客户端的请求,不对磁盘做IO操作。
意外宕机时,丢失最后一次持久化的所有数据
  • 相关配置参数
图片讲解:http://tts.tmooc.cn/ttsPage/VIP/NSDVN201805/NOSQL/DAY03/COURSE/LINUXNSD_V04NOSQLDAY03_019.png
相关配置参数:http://tts.tmooc.cn/ttsPage/VIP/NSDVN201805/NOSQL/DAY03/COURSE/LINUXNSD_V04NOSQLDAY03_020.png
文件名:
dbfilename "dump.rdb"	
save	""		#禁用rdb
数据从内存报错到硬盘的频率
save 900 1		//900s内且有一次修改,
save 300 10		//300s内且有10次修改
save 60 10000	//60s内且有10000次修改

4.2、AOF

  • 简介
追加方式记录写操作的文件
记录redis服务所有写操作
不断的将新的写操作,追加到文件的末尾;
默认没有启用, 在vim +673 /etc/redis/6379.conf(产生的数据文件必须有开启AOF的才能使用)
可以用cat命令查看;
  • 相关配置参数
appendonly no		#aof默认没有开启
appendfilename "appendonly.aof"appendfsync always		#写一次记一次
appendfsync everysec	#默认为每秒一次,并完成磁盘同步
appendfsync no			#写入aof时,不执行磁盘同步
auto-aof-rewrite-min-size 64mb	//首次重写触发值
auto-aof-rewrite-percentage 100	//再次重写,增长100%
解释:首次瘦身为64mb 当第二次数据达到64mb时,进行瘦身,将第一次和第二次的数据把有相同命令的数据合并,最后瘦身剩下一个数值A(50),当第三次数据达到A(50)时,A与A对比,把有相同的数据合并剩余B(80)
  • 修复AOF文件
把文件恢复到最后一次的正确操作
redis-check-aof --fix appendonly.aof
  • 优点、缺点
优点:
可以灵活设置持久化方式,同步持久化appendfsync alwayls 或 异步持久化 appendfsync verysec
出现意外宕机时:仅可能丢失1秒的数据
缺点:
持久化文件的体积通常会大于RDB方式
执行fsync策略时的速度可能会比RDB方式慢
http://www.dinnco.com/news/8738.html

相关文章:

  • 烟台网站建设维护品牌策划公司
  • 做网站不用服务器吗免费的网站
  • 西部数据网站空间2021十大网络舆情案例
  • 精品网站开发公司上海网络推广专员
  • 建设企业网站可信度免费网站java源码大全
  • 上海专业网站建设案例网站网络推广运营
  • 网站建设阝金手指科杰十二展示型网站设计公司
  • 手工制作大全简单漂亮太原关键词排名优化
  • 廉价网站建设关键词优化的最佳方法
  • 网站开发成本主要有哪些百度搜索排名怎么收费
  • 大战网站建设谷歌ads
  • 石家庄网站开发与优化优化大师官网登录入口
  • 锡林浩特建设局网站百度云资源链接分享群组
  • 网站用什么软件编写网站怎么优化seo
  • dedecms网站后台管理系统做推广app赚钱的项目
  • 石家庄免费专业做网站百度荤seo公司
  • 东莞整合网站建设推广厦门网站推广费用
  • flash新手入门简单动画制作郑州网站建设专业乐云seo
  • 南宁信息建设网站百度收录怎么做
  • 新增网站备案时间江北seo综合优化外包
  • 绵阳做手机网站营销策略分析
  • 门户网站创新的方式有免费二级域名生成网站
  • 电子产品首页网站版模关键词在线下载
  • 做动漫网站侵权吗windows优化大师在哪里
  • 网站后台管理员密码忘记网络营销顾问工作内容
  • 遵义网站建设公司百度收录查询方法
  • 谷歌网站建设网站seo什么意思
  • 做网站服务器多钱百度广告服务商
  • 机械制造网站互联网推广工作好做吗
  • wordpress 多地址插件seo关键词有话要多少钱