redis3.0集群 日志出现 Backgroud saving terminated by signal 9

来源:互联网 发布:js特效代码懒人之家 编辑:程序博客网 时间:2024/05/29 13:18

出现Backgroud saving terminated by signal 9 ,之前有看到过一篇文章讲述。redis服务大量占用系统内存,导致只读不写。随即查看系统内存如下

[root@advert-redis centos]# free -m              total        used        free      shared  buff/cache   availableMem:        15630          12554       158       224        2917       14785Swap:             0           0           0

明显的,我的猜测是正确的。
现在就是如何处理redis占用内存的问题了。查看redis配置并没有配置参数
maxmemory、maxmermory-policy allkeys-lru是我后来加上的

protected-mode noport 7005maxmemory 2G    //最大内存使用限制maxmemory-policy allkeys-lru //key的更新策略 LRU 算法tcp-backlog 511timeout 0tcp-keepalive 0daemonize yessupervised nopidfile /usr/local/bigdata/redis-logs/run/redis.pidloglevel warninglogfile "/usr/local/bigdata/redis-logs/logs/redis.log"databases 16save 900 1save 300 10save 60 10000stop-writes-on-bgsave-error yesrdbcompression yesrdbchecksum yesdbfilename dump-7005.rdbdir /usr/local/bigdata/redis-logs/aof/slave-serve-stale-data yesslave-read-only yesrepl-diskless-sync norepl-diskless-sync-delay 5repl-disable-tcp-nodelay noslave-priority 100 maxclients 100000appendonly yesappendfilename "appendonly-7005.aof"appendfsync everysecno-appendfsync-on-rewrite noauto-aof-rewrite-percentage 100auto-aof-rewrite-min-size 64mbaof-load-truncated yeslua-time-limit 5000cluster-enabled yescluster-config-file nodes-7005.confcluster-node-timeout 5000cluster-slave-validity-factor 10slowlog-log-slower-than 10000slowlog-max-len 128latency-monitor-threshold 0notify-keyspace-events ""hash-max-ziplist-entries 512hash-max-ziplist-value 64list-max-ziplist-size -2list-compress-depth 0set-max-intset-entries 512zset-max-ziplist-entries 128zset-max-ziplist-value 64hll-sparse-max-bytes 3000activerehashing yesclient-output-buffer-limit normal 0 0 0client-output-buffer-limit slave 256mb 64mb 60client-output-buffer-limit pubsub 32mb 8mb 60hz 10aof-rewrite-incremental-fsync yes

接下来就是要必须重启各个节点 并构建集群了。
redis cluster 官方文档没有重启和关闭的方法,主要是因为在正式的环境中集群一般都是由3台物理机构撑,3台物理机同时挂掉的可能性极小,只要不同时挂掉。挂掉的机器修复后再加入集群 均可以运作
redis cluster 集群中的节点基本都是对等的,没有管理节点。如果要让所有节点关闭只有关闭所有的redis-server进程
pkill -9 redis-server

修改完成配置后重启各个节点之前,需要在相应的位置上删除除了redis.conf外的文件全部删除。启动可以了 ,但是会没有数据的。我们需要还需要保留 *.rdb文件
然后再构建集群

./redis-trib.rb  create  --replicas  1 192.168.1.10:7000  192.168.1.10:7001 192.168.1.10:7002 192.168.1.10:7003 192.168.1.10:7004 192.168.1.10:7005

启动完成后检查集群状态
[root@advert-redis src]# ./redis-trib.rb check X.X.X.X:7000

Performing Cluster Check (using node X.X.X.X:7000)
M: 09b5bf3f632e700d2325c1d35778addbf4f88376 X.X.X.X:7000
slots:0-5460 (5461 slots) master
1 additional replica(s)
S: f6fbb19cee0a4bd61c5718bd833a8768ba8d34a0 X.X.X.X:7004
slots: (0 slots) slave
replicates 64d21a9a11367c2855ead5e4f87385d9c833372a
S: 8c538c42bf6d099d2f19fa230820303749fac124 X.X.X.X:7003
slots: (0 slots) slave
replicates 09b5bf3f632e700d2325c1d35778addbf4f88376
M: 64d21a9a11367c2855ead5e4f87385d9c833372a X.X.X.X:7001
slots:5461-10922 (5462 slots) master
1 additional replica(s)
S: 05a6e058fc7fa9b862d224f042fcb94af8859e39 X.X.X.X:7005
slots: (0 slots) slave
replicates 6a8db033544a8ddaa9566df61f410667fbb4325b
M: 6a8db033544a8ddaa9566df61f410667fbb4325b X.X.X.X:7002
slots:10923-16383 (5461 slots) master
1 additional replica(s)
[OK] All nodes agree about slots configuration.
Check for open slots…
Check slots coverage…
[OK] All 16384 slots covered.

状态Ok后,查看系统内存的状态

[root@advert-redis src]# free -m              total        used        free      shared  buff/cache   availableMem:          15630         419       13976         224        1234       14774Swap:             0           0           0

已经恢复正常状态

0 0
原创粉丝点击