14.3.16 import(データの読み込み)
- 〈この項の構成〉
(1) 機能
メモリキャッシュのデータを書き出したストアデータファイルから,データを読み込みます。
ストアデータファイルのデータを再度putすることで,データを再配置します。
(2) 規則
-
このサブコマンドは,クラスタの状態がクラスタ稼働中(AVAILABLE)のときに実行できます。
-
このサブコマンドは,クラスタへの参加状況がonlineのEADSサーバを処理対象とします。ただし,クラスタへの参加状況がstandbyのEADSサーバがクラスタ内にある場合は実行できません。クラスタへの参加状況については,eztool statusコマンドで確認できます。
-
このサブコマンドは,処理対象のEADSサーバが初期化状態(initialized)のときに実行できます。
-
稼働中のFullGCの発生を抑えるため,このサブコマンドが終了するタイミングで,各EADSサーバがFullGCを実施します。
-
このサブコマンドがEADSサーバから排他を取得している間,EADSサーバは縮退状態(isolated)になりません。なお,EADSサーバから排他を取得している間にプロセスがダウンしたり,EADSサーバが停止したりした場合は,排他を解除したあとに縮退が実行されます。
(3) 形式
eztool import [-d <ストアデータファイルの格納先パス名>] [--convertid <EADSサーバID変換ルール>] [<ストアデータファイルキー>]
(4) オプションおよび引数
(a) -dまたは--directory <ストアデータファイルの格納先パス名>
ストアデータファイルの格納先パス名を指定します。
指定したディレクトリ下にあるストアデータファイルだけを読み込みたい場合に指定します。
パス名には,アスタリスク(*),二重引用符("),疑問符(?),縦線(|),小なり演算子(<),大なり演算子(>)を含むディレクトリは指定できません。
ストアデータファイルの格納先パスに相対パスを指定した場合,各EADSサーバの運用ディレクトリが起点となります。
(b) --convertid <EADSサーバID変換ルール>
格納先のEADSサーバIDを指定してkeyをグルーピングしている場合(EADSサーバID指定グループを使用している場合)に,指定したEADSサーバIDを別のEADSサーバIDに変換して,データを読み込みたいときに指定します。
EADSサーバID変換ルールは,次の形式で指定します。
<変換元EADSサーバID>><変換先EADSサーバID>
変換元EADSサーバIDおよび変換先EADSサーバIDには,1〜96の整数が指定できます(01や02など,10の位が0の整数は指定できません)。
変換元EADSサーバIDと変換先EADSサーバIDに,同じ値は指定できません。
EADSサーバID変換ルールを複数指定する場合は,コンマ区切りで指定します。EADSサーバID変換ルールを複数指定した場合に,指定順による優先度の差はありません。ただし,同じ変換元EADSサーバIDは,複数指定できません。
次に示す文字または文字列は無視されます。
-
先頭または末尾のコンマ
(例)「--convertid ,1>2,」
-
コンマで区切られた空文字列,またはコンマで区切られたスペースだけの文字列
(例)「--convertid 1>2,, ,」
(c) <ストアデータファイルキー>
ストアデータファイルのストアデータファイルキーを指定します。
eztool exportコマンドまたはeztool stopコマンド実行時に出力されたストアデータファイルのストアデータファイルキーを指定します。
ストアデータファイルキーを省略すると,eztool listesdコマンドで,latestに表示される最新のストアデータファイルキーのストアデータファイルを自動的に読み込みます。
読み込み対象となるストアデータファイル名を次に示します。
ストアデータファイルを出力したコマンド |
ストアデータファイル名 |
---|---|
eads_[YYYYMMDDhhmmss]_[EADSサーバID].esd |
|
eads_stop_[YYYYMMDDhhmmss]_[EADSサーバID].esd |
- (凡例)
-
[YYYYMMDDhhmmss]:コマンド実行日時
YYYY:年,MM:月,DD:日,hh:時(00〜23),mm:分,ss:秒
ストアデータファイルが各EADSサーバ,またはストアデータファイルの格納先ディレクトリ下に複数ある場合,コマンド実行日時が最新のストアデータファイルを自動的に読み込みます。
コマンド実行日時が同じ(EADSサーバIDだけ異なる)ストアデータファイルが複数ある場合,該当するすべてのストアデータファイルを読み込みます。
また,eztool exportコマンド実行時に出力されたストアデータファイルと,eztool stopコマンド実行時に出力されたストアデータファイルのコマンド実行日時が同じ場合,eztool exportコマンド実行時に出力されたストアデータファイルを優先して読み込みます。
(5) リターンコード
次の表に示すリターンコードが返却されます。
項番 |
リターンコード |
リターンコードの説明 |
|
---|---|---|---|
コマンド定義のeads.command.compatパラメタを指定していない場合 |
コマンド定義のeads.command.compatパラメタに0300を指定した場合 |
||
1 |
0 |
0 |
コマンドの実行に成功しました。 |
2 |
10 |
10 |
データ自動削除機能を使用している場合,レンジのデータ件数がデータ自動削除機能のしきい値(キャッシュ定義のeads.cache.eviction.keyCountパラメタの指定値)を超えたため,一部のデータはインポートされませんでした。 |
3 |
101 |
101 |
コマンドの初期化に失敗しました。 |
4 |
110 |
接続に失敗しました。 |
|
5 |
111 |
通信タイムアウトで失敗しました。 |
|
6 |
120 |
構文不正で失敗しました。 |
|
7 |
130 |
コマンドを実行できない状態のため失敗しました。 |
|
8 |
131 |
ほかのコマンドが実行中のため失敗しました。 |
|
9 |
150 |
コマンド実行中に失敗しました。 |
|
10 |
200 |
コマンドタイムアウトで失敗しました。 |
(6) 注意事項
-
壊れている,または不正なストアデータファイルは読み込みません。
-
03-00より古いバージョンのEADSサーバで出力したストアデータファイルを読み込んだ場合,動作は保証されません。
-
データを一つ一つ登録し直すため,データ数やデータ量によっては,かなりの時間が掛かります。
-
ストアデータファイルのデータをputする際,キャッシュに同じ名称のkeyが存在する場合は,keyの更新日時をチェックして,ストアデータファイルの更新日時の方が新しいときにだけデータを上書きします。
-
データ自動削除機能を使用する場合は,レンジごとのしきい値を超えるデータは読み捨てられます。ただし,全レンジでしきい値の上限を超えた場合でも,putするkeyのデータがすでに存在する場合に更新時刻が新しいデータがあれば上書きできるように,読み込み処理は継続します。
-
EADSサーバID指定グループを含むkeyのデータを登録する際に,指定されたEADSサーバIDのレンジが存在しない場合,そのデータは登録しません。このとき,1回だけ警告メッセージが出力されます。
-
このサブコマンドの実行中,データ総量監視機能は動作しません。
-
データ自動削除機能を使用している場合,eztool exportコマンドに-sまたは--singleオプションを指定して出力したストアデータファイルは読み込まないで,eztool createcacheコマンドでキャッシュを再作成し,必要に応じてデータを再投入することを推奨します。また,eztool exportコマンドに-sまたは--singleオプションを指定して出力したストアデータファイルを読み込む場合は,データ自動削除機能のしきい値(eads.cache.eviction.keyCountパラメタの指定値)をストアデータファイル出力時に設定してあったしきい値よりも小さい値に変更しないでください。