redis3.0クラスタログが表示されるBackgroud saving terminated by signal 9

10033 ワード

Backgroud saving terminated by signal 9が現れ、前に記事を見たことがある.redisサービスはシステムメモリを大量に消費し、読み取り専用で書き込みがない.システムメモリを次のように表示します.
[root@advert-redis centos]# free -m
              total        used        free      shared  buff/cache   available
Mem:        15630          12554       158       224        2917       14785
Swap:             0           0           0

明らかに、私の推測は正しい.redisがメモリを消費する問題をどのように処理するかです.redis構成に構成パラメータがないmaxmemory、maxmermory-policy allkeys-lruは私が後で追加したものです
protected-mode no
port 7005
maxmemory 2G    //        
maxmemory-policy allkeys-lru //key      LRU   
tcp-backlog 511
timeout 0
tcp-keepalive 0
daemonize yes
supervised no
pidfile /usr/local/bigdata/redis-logs/run/redis.pid
loglevel warning
logfile "/usr/local/bigdata/redis-logs/logs/redis.log"
databases 16
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump-7005.rdb
dir /usr/local/bigdata/redis-logs/aof/
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
 maxclients 100000
appendonly yes
appendfilename "appendonly-7005.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-7005.conf
cluster-node-timeout 5000
cluster-slave-validity-factor 10
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-size -2
list-compress-depth 0
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

次に、各ノードを再起動し、クラスタを構築する必要があります.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   available
Mem:          15630         419       13976         224        1234       14774
Swap:             0           0           0

正常な状態に戻りました