LoginSignup
0
1

More than 5 years have passed since last update.

Aerospikeクラスターからノードを外す

Last updated at Posted at 2016-03-30

以下、Aerospike 3.X系-3.8.x

20160902追記

※3.9でpaxos-recovery-policy、Cluster-dunはOmmitされた模様・・・
※Nodeを外す場合は、該当のAerospikeプロセスをStop
※復活してくれませんかねえ。

概要

Aerospike、メンテとか、ローリングアップデートしたいじゃないですか。
でも、いきなりクラスタからノード外すと、
やっぱり色々不都合が有ったりするわけで・・・

システム側でリトライとか仕込んでても、リトライしても失敗するとか。
なので、メンテの際はやっぱりクラスタからノード外してえなと。

Aerospikeのクライアント側のマッピング

Aerospikeは、クライアント側にデータのマッピング情報を持っており
tend thread がデフォルトで1秒間隔で、このマッピング情報が書き換えれられる。
[http://www.aerospike.com/docs/client/c/usage/shm.html]

(もちろんある特定ノードが死ねば、他のノードにあるデータを見に行く)

が!デフォ1秒なので、ノードが落ちたりした場合
timeout 100ms, Retry Interval 200ms とかでリトライさせても
同じにノードにデータを取りに行って、結局取れなかったりする。
※関し感覚はtendIntervalで変更も可能。

どうすんの?


$ asadm [-h HOST] [-p PORT] [-U USER] [-P [PASSWORD]]
Aerospike Interactive Shell, version 0.0.16
Found X nodes
Online:  192.168.XX.XX:3000,,,,

# 現在のクラスタ確認 
Admin> info service

# クラスタからノードを外す
Admin> cluster dun 192.168.XX.XX:3000 # ←これでクラスターから外れる
# asinfo dun でもできるが、NODE IDで指定なので面倒

# Cluster Sizeが変わる、Migratesが起こる ので確認
Admin> info service

# コネクション減ったの確認
Admin> info network   
# またはAMCで確認


# 諸々終わったらノードをクラスタに戻す
Admin> cluster undun 192.168.XX.XX:3000

# migrateの値が0になるまで待機。migrateが落ち着いたらまた次のノードを作業など
Admin> info service 

それでは良いAerospike活用を!

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1