付録A KVStoreコマンド・リファレンス

コマンドライン・インタフェース(CLI)または"java -Xmx256m -Xms256m -jar <kvhome>/lib/kvstore.jar <command>"を介してKVStoreコマンドにアクセスできます。次の項では、"java -jar"を介してアクセスするCLIコマンドとユーティリティ・コマンドの両方について説明します。

CLIコマンドとサブコマンド

コマンドライン・インタフェース(CLI)は、インタラクティブに実行されるか、1つのコマンドの実行に使用されます。CLIを開始する一般的な使用方法は次のとおりです。

java -Xmx256m -Xms256m \
-jar KVHOME/lib/kvstore.jar runadmin
-host <hostname> -port <port> [single command and arguments]

スクリプト・ファイルを実行する場合、"load"コマンドをコマンドラインで使用できます。

java -Xmx256m -Xms256m \
-jar KVHOME/lib/kvstore.jar runadmin
-host <hostname> -port <port> load -file <path-to-script>

オプションの引数が何も渡されていない場合は、インタラクティブに開始します。追加的な引数が渡されている場合は、実行してから返される1つのコマンドとして解釈されます。CLIのインタラクティブなプロンプトは次のとおりです。

"kv-> "

コマンドが正常に完了すると、CLIのプロセス終了コードはゼロです。エラーがある場合、終了コードはゼロ以外になります。

CLIには多数のコマンドが含まれますが、一部のコマンドにはサブコマンドがあります。複合的なコマンドは、情報を表示するための"show"やスキーマを操作するための"ddl"などの一般的な機能でグループ化されます。すべてのコマンドで次のフラグを使用できます。

  • -help

    コマンドまたはサブコマンドのオンライン・ヘルプを表示します。

  • ?

    -helpと同じ意味です。コマンドまたはサブコマンドのオンライン・ヘルプを表示します。

  • -verbose

    コマンドの冗長出力を有効にします。

CLIコマンドの一般的な形式は次のとおりです。

  1. コマンドはすべて、次のような構造になります。

    "kv-> command [sub-command] [arguments] 
  2. 引数はすべて、"-"で始まるフラグを使用して指定します。

  3. コマンドとサブコマンドでは大/小文字は区別されず、可能な場合は一部の文字列(接頭辞)で照合されます。ただし、引数では大/小文字が区別されます。

この付録ではコマンドとサブコマンドに関する次の情報が示されます。

configure

configure -name <storename> 

新規ストアを構成します。他の管理を実行できるようにするには、このコールを事前に行う必要があります。

-nameオプションを使用すると、構成するKVStoreの名前を指定できます。名前は、ストアに保持されるレコードのパスの形成に使用されます。このため、ファイル・パス内での使用に支障を来たす可能性のある文字をストア名に使用しないでください。コマンドライン・インタフェースでは無効なストア名は使用できません。有効な値は英数字、'-'、'_'、および'.'です。

connect

connect -host <hostname> -port <registry port> 

指定されたホストおよびレジストリ・ポートに接続して、管理機能を実行します。管理サービスがターゲット・ホストでアクティブである必要があります。このコマンドは、初期接続情報が消失したり不正確である場合に使用できます。

ddl

ストア内のスキーマを操作する作業をカプセル化します。サブコマンドは次のとおりです。

ストア内のスキーマの管理の詳細は、「Avroスキーマの管理」を参照してください。

ddl add-schema

ddl add-schema <-file <file> | -string <schema string>> 
[-evolve] [-force] 

新しいスキーマを追加するか、または同じ名前を持つ既存のスキーマを変更(展開)します。-evolveフラグを使用して、スキーマが変更されていることを示します。-forceフラグを使用して、変更の警告を無視してスキーマを追加します。

ddl enable-schema

ddl enable-schema -name <name>.<ID> 

以前無効だった既存のスキーマを有効にします。

ddl disable-schema

ddl disable-schema -name <name>.<ID> 

既存のスキーマを無効にします。

exit

exit | quit 

インタラクティブなコマンド・シェルを終了します。

help

help [command [sub-command]] 

ヘルプ・メッセージを出力します。引数がない場合は最上位のシェル・コマンドが一覧表示されます。追加的なコマンドおよびサブコマンドがある場合は、追加の詳細が示されます。

hidden

通常は非表示になっているパラメータの可視性と設定を切り替えます。このパラメータは、Oracle Supportでアドバイスされた場合のみ使用してください。

history

history [-last <n>] [-from <n>] [-to <n>] 

コマンド履歴を表示します。デフォルトではすべての履歴が表示されます。表示範囲の選択にはオプションのフラグが使用されます。

load

load -file <path to file> 

指定したファイルをロードし、その内容を実行対象のコマンドのスクリプトとして解釈します。スクリプト内のいずれかのコマンドが失敗した場合、実行はその時点で停止します。

ロード・コマンドの使用の詳細は、「ストアを構成するためのスクリプトの使用」を参照してください。

logtail

ストア全体のログ・ファイルを、[Enter]キーが押されて中断されるまで監視します。

ping

ストアのランタイム・コンポーネントに対して"Ping"を実行します。トポロジから使用可能なコンポーネントにのみアクセスできます。これにより、管理サービスが除外されます。

plan

ストア状態を変更する作業またはジョブをカプセル化します。interruptおよびwait以外のすべてのサブコマンドが永続的な状態を変更します。プランは非同期ジョブであるため、-waitが使用されていなければすぐに返されます。プラン・ステータスは"show plans"を使用してチェックできます。すべてのプラン用のオプションの引数は、次のとおりです。

  • -wait

    プランが返される前に終了するまで待機します。

  • -plan-name

    プランの名前。これらは一意です。

  • -noexecute

    プランを実行しません。指定された場合、プランは後で"plan execute"を使用して実行できます。

  • -force

    プラン実行およびプラン再試行を強制実行するために使用されます。

サブコマンドは次のとおりです。

plan change-storagedir

plan change-storagedir -sn <id> -storagedir <path> -add | -remove
                       [-plan-name <name>] [-wait] [-noexecute]
                       [-force]

レプリケーション・ノードを格納するために、ストレージ・ノード上のストレージ・ディレクトリを追加または削除します。

plan change-parameters

plan change-parameters -service <id> | -all-rns | -all-admins 
                       [-dry-run] [-plan-name <name>] [-wait] 
                       [-noexecute] [-force] -params [name=value]

指定されたサービス、または同じタイプのすべてのサービス・インスタンスのパラメータを変更します。

-serviceフラグを使用すると1つのインスタンスが対象になります。

-all-*フラグは、あるサービス・タイプのすべてのインスタンスを変更する際に使用できます。変更するパラメータは-paramsフラグの後に続き、スペースで区切られます。スペースが埋め込まれたパラメータ値は、name="value with spaces"のように引用符で囲む必要があります。

-dry-runが指定された場合、変更は行われずに新規パラメータが返されます。変更できるパラメータを表示するには、コマンドshow parametersを使用します。

ストア内のパラメータの変更の詳細は、「ストアのパラメータの設定」を参照してください。

plan deploy-admin

plan deploy-admin -sn <id> -port <http port> [-plan-name <name>] 
                  [-wait] [-noexecute] [-force] 

指定されたストレージ・ノードにAdminをデプロイします。このグラフィカル・インタフェースは指定されたポート上でリスニングします。

管理のデプロイの詳細は、「特定のホストでの管理プロセスの作成」を参照してください。

plan deploy-datacenter

使用方法:

plan deploy-datacenter -name <datacenter name> 
                       -rf <replication factor> [-plan-name <name>] 
                       [-wait] [-noexecute] [-force] 

指定されたデータ・センターをストアにデプロイします。

データ・センターの作成の詳細は、「データ・センターの作成」を参照してください。

plan deploy-sn

plan deploy-sn -dc <id> | -dcname <name> -host <host> -port <port>
               [-plan-name <name>] [-wait] [-noexecute] [-force] 

指定されたホストおよびポートにおけるストレージ・ノードを指定されたデータ・センターにデプロイします。

ストレージ・ノードのデプロイの詳細は、「残りのストレージ・ノードの作成」を参照してください。

plan execute

plan execute -id <id> | -last [-wait] [-force]

作成済でまだ実行されていないプランを実行します。プランは、-noexecuteフラグを使用して事前に作成されているはずです。

-lastオプションを使用して、最も最近作成されたプランを参照します。

plan interrupt

plan interrupt -id <plan id> | -last 

実行中のプランを中断します。中断されたプランは再実行または取消のみが可能です。-lastを使用して、最も最近作成されたプランを参照します。

plan cancel

plan cancel -id <plan id> | -last 

実行中ではないプランを取り消します。実行中のプランを取り消すにはその前に中断する必要があります。

-lastオプションを使用して、最も最近作成されたプランを参照します。

plan migrate-sn

plan migrate-sn -from <id> -to <id> [-admin-port <admin port>]
                [-plan-name <name>] [-wait] [-noexecute] [-force]

あるストレージ・ノードから別のストレージ・ノードにサービスを移行します。古いノードは実行中ではないことが必要です。

古いノードが管理サービスをホストしていた場合は、-admin-portオプションが必要です。

plan migrate-snコマンドを実行する前に、-java -Xmx256m -Xms256m -jar KVHOME/lib/kvstore.jar stop -root KVROOTを使用して実行中の古いストレージ・ノードを停止できます。

plan remove-admin

plan remove-admin -admin <id> [-plan-name <name>]
               [-wait] [-noexecute] [-force] 

識別された管理インスタンスを削除します。

1つの管理インスタンスのみが構成されている場合、その唯一の管理を削除することはできません。また、削除の結果としてデプロイ済管理が3つを下回るような削除を行おうとする場合、-forceフラグを指定しないかぎりコマンドは失敗します。

現在マスターである管理を削除しようとすると、マスター権限は別の管理に移動します。プランが中断された後、plan executeコマンドを使用して新しいマスター管理でプランを再実行できます。

plan remove-datacenter

plan remove-datacenter -dc <id> | -dcname <name>
               [-plan-name <name>] [-wait] [-noexecute] 

指定されたデータ・センターをストアから削除します。

このコマンドを実行する前に、plan remove-snコマンドを使用して、指定されたデータ・センターに属するすべてのストレージ・ノードを先に削除する必要があります。

plan remove-sn

plan remove-sn -sn <id> [-plan-name <name>]
               [-wait] [-noexecute] [-force] 

指定されたストレージ・ノードをトポロジから削除します。

このコマンドは、未使用の古いストレージ・ノードをストアから削除する場合に便利です。これを行うには、「障害が発生したストレージ・ノードの置換」を参照してください。

plan start-service

plan start-service -service <id> | -all-rns [-plan-name <name>]
               [-wait] [-noexecute] [-force]

指定されたサービスを開始します。

plan stop-service

plan stop-service -service <id> | -all-rns 
                [-plan-name <name>] [-wait] [-noexecute] [-force] 

指定されたサービスを停止します。

このコマンドを使用して、システムによる通信の試行が行われなくなるように、影響を受けるサービスを停止します。その結果、すでに認識している障害に関連するエラー出力の量が減少します。

このコマンドは、ディスク置換プロセスの際に役立ちます。障害が発生したディスクを削除する前に、影響を受けるサービスを停止するには、plan stop-serviceコマンドを使用します。詳細は、「障害が発生したディスクの置換」を参照してください。

plan deploy-topology

plan deploy-topology -name <topology name> [-plan-name <name>]
               [-wait] [-noexecute] [-force]

指定されたトポロジをストアにデプロイします。この操作は、ストアのサイズおよび状態によって、時間がかかる場合があります。

申し分のないトポロジ候補のデプロイの詳細は、「トポロジ候補のデプロイ」を参照してください。

plan wait

plan wait -id <id> | -last [-seconds <timeout in seconds>]

オプションのタイムアウトが指定されていない場合は、指定したプランが完了するまで無期限に待機します。

-secondsオプションを使用すると、プランが完了するまで待機する時間を指定できます。

-lastオプションは、最も最近作成されたプランを参照します。

change-policy

change-policy [-dry-run] -params [name=value]*

まだデプロイされていないサービスに適用される、ストア全体ポリシーのパラメータを変更します。変更するパラメータは-paramsフラグの後に続き、スペースで区切られます。

スペースが埋め込まれたパラメータ値は、name="value with spaces"のように引用符で囲む必要があります。-dry-runが指定された場合、変更は行われずに新規パラメータが返されます。

ポリシー・パラメータの設定の詳細は、「ストア全体ポリシー・パラメータの設定」を参照してください。

pool

リソース割当てに使用されるストレージ・ノード・プールを操作するコマンドをカプセル化します。サブコマンドは次のとおりです。

pool create

pool create -name <name> 

ストアの作成または変更時にリソース・ディストリビューションに使用される、新規ストレージ・ノード・プールを作成します。

ストレージ・ノード・プールの作成の詳細は、「ストレージ・ノード・プールの作成」を参照してください。

pool remove

pool remove -name <name> 

ストレージ・ノード・プールを削除します。

pool join

pool join -name <name> [-service] <snX>* 

ストレージ・ノードを既存のストレージ・ノード・プールに追加します。

show

ストアおよびそのコンポーネントの状態を表示するコマンドをカプセル化します。サブコマンドは次のとおりです。

show parameters

show parameters -policy | -service <name> 

指定されたサービスのサービス・パラメータおよび状態を表示します。サービスはrg1-rn1、sn1、admin2などの任意の有効な文字列で識別されるような、RepNode、StorageNodeまたは管理サービスである可能性があります。-policyフラグを使用してグローバル・ポリシー・パラメータを表示します。

show admins

show admins 

管理サービスの基本情報を表示します。

show datacenters

show datacenters [-dc <id>] | -dcname <name> 

すべてのデータ・センター、またはストア内の指定されたデータ・センターに関する情報を表示します。

-dcまたは-dcnameフラグを使用すると、指定されたデータ・センター内のすべてのストレージ・ノードの名前、そのデータ・センターに非投票ノードが含まれているかどうかなど、追加情報を表示するデータ・センターを指定できます。

show events

show events [-id <id>] | [-from <date>] [-to <date> ] 
            [-type <stat | log | perf>]

イベント詳細またはストア・イベントのリストを表示します。ステータス・イベントは、サービス・ステータスの変更を示します。

ログ・イベントは、注意が必要な場合は示されます。

パフォーマンス・イベントは通常クリティカルではありませんが、調査の評価に値します。"SEVERE"とマークされたイベントは調査する必要があります。

次の日付/時間の形式を使用できます。これはローカル・タイム・ゾーンで解釈されます。

MM-dd-yy HH:mm:ss:SS
MM-dd-yy HH:mm:ss
MM-dd-yy HH:mm
MM-dd-yy
HH:mm:ss:SS
HH:mm:ss
HH:mm

イベントの詳細は、「イベント」を参照してください。

show faults

show faults [-last] [-command <command index>] 

失敗しているコマンドを表示します。デフォルトではすべての使用可能な失敗コマンドが表示されます。個々の失敗の詳細は、-lastおよび-commandフラグを使用して表示できます。

show perf

show perf 

各レプリケーション・ノードの最近のパフォーマンス情報を表示します。

show plans

show plans [-id <id> | -last] 

指定されたプランの詳細を表示するか、対応するプランIDおよびステータスとともに作成されているすべてのプランを一覧表示します。

-idオプションを使用すると、追加の詳細およびステータスを表示するプランを指定できます。

-lastオプションは、最も最近作成されたプランの詳細を表示します。

プラン確認の詳細は、「プランの確認」を参照してください。

show pools

show pools 

ストレージ・ノード・プールを一覧表示します。

show schemas

show schemas [-disabled] | [-name <name>] 

指定されたスキーマのスキーマ詳細、またはストアに登録されているスキーマのリストを表示します。

-nameオプションを使用すると、ストアで現在有効かどうかを確認するスキーマの名前を指定できます。

-disabledオプションを使用すると、現在無効なスキーマも含めて、すべてのスキーマを表示できます。

show snapshots

show snapshots [-sn <id>] 

指定されたストレージ・ノード上のスナップショットを一覧表示します。ストレージ・ノードが指定されていない場合、ストアからストレージ・ノードが1つ選択されます。このコマンドを使用して既存のスナップショットを表示できます。

show topology

show topology [-dc] [-rn] [-sn] [-store] [-status] [-perf] 

現在のデプロイ済トポロジを表示します。デフォルトではトポロジ全体が表示されます。オプションのフラグは表示を1つ以上のDatacenters、RepNodes、StorageNodesおよびStorenameに制限するか、サービス・ステータスまたはパフォーマンスを指定します。

このコマンドを使用すると、ストレージ・ノードをデプロイできるデータ・センターのIDを取得できます。

show upgrade-order

show upgrade-order 

アップグレードが必要なストレージ・ノードを、ストアの操作が中断しないような順序でリストします。

このコマンドでは、1つ以上のストレージ・ノードが1行に表示されます。1行に複数のストレージ・ノードが表示される場合、スペースで区切られます。1行に複数のストレージ・ノードが表示されている場合、そのノードをまとめて安全にアップグレードできます。複数のノードをまとめてアップグレードする場合、すべてのノードのアップグレードが完了してからでなければ、リストの次のノードはアップグレードできません。

ある時点で次にアップグレードするノードのグループがわからなくなった場合は、show upgrade-orderコマンドをいつでも再実行できます。

snapshots

バックアップおよびリストアに使用されるスナップショットを作成および削除するコマンドをカプセル化します。サブコマンドは次のとおりです。

snapshot create

snapshot create -name <name> 

指定された名前を接頭辞として使用して、新規スナップショットを作成します。

-nameオプションを使用すると、作成するスナップショットの名前を指定できます。

スナップショットは、構成の(トポロジ的な)変更が行われている間は作成しないでください。スナップショットに整合性がなく、使用できなくなる可能性があるためです。

snapshot remove

snapshot remove -name <name> | -all 

指定されたスナップショットを削除します。-allが指定されている場合、すべてのスナップショットを削除します。

-nameオプションを使用すると、削除するスナップショットの名前を指定できます。

-allオプションが指定されている場合、すべてのスナップショットを削除します。

スナップショットを使用してストアのバックアップを作成するには、「スナップショットの作成」を参照してください。

以前に作成したスナップショットからストアをリカバリするには、ロード・ユーティリティを使用するか、またはスナップショットから直接リストアします。詳細は、「Loadプログラムの使用」または「スナップショットからの直接リストア」を参照してください。

topology

ストア・トポロジを操作するコマンドをカプセル化します。たとえば、ノードの再ディストリビューション/再均衡化、レプリケーション係数の変更などです。トポロジは、このコマンドを使用して作成および変更されます。その後、"plan deploy-topology"コマンドを使用してデプロイされます。サブコマンドは次のとおりです。

topology change-repfactor

topology change-repfactor -name <name>  -pool <pool name>
                          -dc <id> | -dcname <name> 
                          -rf <replication factor> 

トポロジを変更して、指定されたデータ・センターのレプリケーション係数を新しい値に変更します。レプリケーション係数はこのとき減少しない可能性があります。

レプリケーション係数の変更の詳細は、「レプリケーション係数の増加」を参照してください。

topology clone

topology clone -from <from topology> -name <to topology>

または

topology clone -current -name <to topology> 

トポロジ変更操作に使用される新規のトポロジ候補を作成するために、既存のトポロジをクローニングします。

topology create

topology create -name <candidate name> - pool <pool name>
                -partitions <num> 

指定されたストレージ・プールを使用して、指定されたパーティション数の新規トポロジを作成します。

最初のトポロジ候補の作成の詳細は、「トポロジ候補の作成」を参照してください。

topology delete

topology delete -name <name> 

トポロジを削除します。

topology list

topology list 

既存のトポロジを一覧表示します。

topology preview

topology preview -name <name> [-start <from topology>]

起動トポロジから指定されたターゲット・トポロジに移行するために実行される操作について説明します。-startが指定されていない場合、現行トポロジが使用されます。このコマンドは、新規トポロジをデプロイする前に使用する必要があります。

topology rebalance

topology rebalance -name <name> -pool <pool name> 
                   [-dc <id> | -dcname <name>]

均衡の取れたトポロジを作成するため、指定されたトポロジを変更します。オプションの-dcフラグが使用されている場合、指定されたデータ・センターからのストレージ・ノードのみが操作に使用されます。

非コンプライアンス・トポロジの均衡化の詳細は、「非コンプライアンス・トポロジの均衡化」を参照してください。

topology redistribute

topology redistribute -name <name> -pool <pool name> 

使用可能なリソースのより効率的な利用のためにリソースを再配布するため、指定されたトポロジを変更します。

書込みスループットを向上させるためのリソースの再配布の詳細は、「データ配布の増加」を参照してください。

topology validate

topology validate [-name <name>] 

指定されたトポロジを検証します。トポロジが指定されていない場合、現行トポロジが検証されます。検証ではviolationsとnotesが生成されます。

violationsは問題を引き起こす可能性があり、調査が必要です。

notesは情報的で、問題になる可能性がある、または予測が可能であるという、構成上の目立つ差異を示します。

詳細は、「トポロジ候補の検証」を参照してください。

topology view

topology view -name <name> 

指定されたトポロジの詳細を表示します。

verbose

グローバル冗長性設定を切り替えます。このプロパティは、-verboseフラグを使用して各コマンド・ベースで設定することもできます。

verify

verify configuration

verify configuration [-silent] 

コンポーネントを反復してその状態を、管理データベースで予測されていたものに対してチェックすることで、ストア構成を検証します。このコールは、規模の大きいストアでは時間がかかる可能性があります。

-silentオプションは、検証の進行中に表示される冗長な検証メッセージを非表示にします。かわりに、最初の起動メッセージおよび最後の検証メッセージのみが表示されます。

verify prerequisite

verify prerequisite [-silent] [-sn snX]* 

ストレージ・ノードが、現行バージョンにアップグレードするために必要な前提条件となるソフトウェア・バージョン以上であることを確認します。このコールは、規模の大きいストアでは時間がかかる可能性があります。

検証プロセスの一部として、このコマンドは前提条件を満たしていない、またはアクセスできないコンポーネントを表示します。また、インストールされているソフトウェアが現行バージョンより新しいマイナー・リリースであるという無効なダウングレード状況にならないか確認します。

このコマンドを使用する場合、現行バージョンとはコマンドライン・インタフェースを実行しているソフトウェアのバージョンのことです。

検証するストレージ・ノードを指定するには、-snオプションを使用します。ストレージ・ノードが指定されていない場合は、ストア内のすべてのノードがチェックされます。

-silentオプションは、検証の進行中に表示される冗長な検証メッセージを非表示にします。かわりに、最初の起動メッセージおよび最後の検証メッセージのみが表示されます。

verify upgrade

verify upgrade [-silent] [-sn snX]* 

ストレージ・ノード(およびその管理対象コンポーネント)が現行バージョン以上であることを確認します。このコールは、規模の大きいストアでは時間がかかる可能性があります。

検証プロセスの一部として、このコマンドはアップグレードされていない、またはアクセスできないコンポーネントを表示します。

このコマンドを使用する場合、現行バージョンとはコマンドライン・インタフェースを実行しているソフトウェアのバージョンのことです。

検証するストレージ・ノードを指定するには、-snオプションを使用します。ストレージ・ノードが指定されていない場合は、ストア内のすべてのノードがチェックされます。

-silentオプションは、検証の進行中に表示される冗長な検証メッセージを非表示にします。かわりに、最初の起動メッセージおよび最後の検証メッセージのみが表示されます。