ping
java -Xmx64m -Xms64m \
-jar KVHOME/lib/kvstore.jar ping [-verbose] [-json] [-shard <shardId>]
-host <hostname> -port <port> or
-helper-hosts <host:port>[,host:port]*>
-username <user>
-security <security-file-path>
ストアに接続して、実行中のサービスのステータスを取得します。このユーティリティは、ストアのヘルスに関する簡潔なサマリーと、そのストアのトポロジに関する詳細情報の両方を提供します。赤/黄/緑のステータスが示され、ストアが完全に正常であるかどうか、ストアでいくつかの障害が発生しているが動作可能であるかどうか、ストアにクリティカルな問題があるかどうかを知ることができます。ping
は、-helper-hosts
または-host/-port
引数で指定されたノードを使用して、ストアを記述するトポロジ・メタデータを検出します。そのトポロジを使用して、ping
は、ストアに関連付けられているすべてのRN、SN、アービタおよび管理サービスに接続します。特定のシャードを指定して、そのステータス情報を返すこともできます。
既存の-host
フラグと-port
フラグのかわりに-helper-hosts
フラグを指定します。複数のヘルパー・ホストが使用されている場合、このユーティリティには、ストアとの最初の接続ポイントにするために使用できるノードが複数あり、ストアの一部のノードが使用できなくなった場合に成功する可能性が高くなります。
情報のサブセットを返すには、–shard <shardId>
を指定します。
pingのコマンドライン・パラメータ
ping
ユーティリティのコマンドライン・パラメータは、次のとおりです。
-
-host
は、ストア内の特定のホストの名前を識別します。このオプションは、特定のホストのSNAに接続できるかどうかをチェックする場合に使用します。このパラメータを指定する場合は、
-port
も指定する必要があります。また、-host
パラメータと-port
パラメータを指定する場合は、-helper-hosts
を指定しないでください。 -
-port
は、ストア内の特定のホストのリスニング・ポートを識別します。このパラメータは、-host
パラメータも使用している場合にのみ使用します。 -
-helper-hosts
は、ストア内の1つ以上のhost:portペアのカンマ区切りリストを示します。このパラメータは、ストア全体のヘルスをチェックする場合に使用します。–helper-hosts
パラメータを使用すると、-host
フラグと-port
フラグを指定できません。複数のヘルパー・ホストが指定されている場合、このユーティリティには、ストアとの最初の接続ポイントにするために使用できるノードが複数あり、ストアの一部のノードが使用できなくなった場合に成功する可能性が高くなります。次に例を示します。
-helper-hosts hst1:5000,hst2:5100, hst3:5100
-
-username
は、ストアをpingするユーザーの名前です。ストアが認証を必要とするように構成されている場合、このパラメータは必須です。このユーザーには、少なくともストアに対するSYSVIEW
アクセス権が必要です。組込みのdbadmin
ロールで十分です。 -
-security
は、クライアント・セキュリティ構成ファイルです。ストアが認証を必要とするように構成されている場合、このパラメータは必須です。このファイルに含まれるパラメータの詳細は、Javaダイレクト・ドライバ開発者ガイドのSSLの構成を参照してください。次に例を示します。oracle.kv.auth.username=clientUID1 oracle.kv.auth.pwdfile.file=/home/nosql/login.pwd oracle.kv.transport=ssl oracle.kv.ssl.trustStore=/home/nosql/client.trust
Kerberosを使用している場合、このファイルは次のようになります。
oracle.kv.auth.kerberos.keytab = kerberos/mykeytab oracle.kv.auth.username = krbuser@EXAMPLE.COM oracle.kv.auth.external.mechanism=kerberos oracle.kv.auth.kerberos.services= node01:oraclenosql/node01.example.com@EXAMPLE.COM oracle.kv.auth.kerberos.mutualAuth=false
-
-verbose
はオプションです。これを指定すると、ping
ユーティリティは、ユーティリティの現在のアクションに関する追加情報を提供します。 -
-json
を指定すると、ping
ユーティリティはその出力をJSON形式で書き込みます。 -
-shard <shardId>
はオプションであり、指定した特定のシャードIDに関するステータス情報のサブセットを返します。次に例を示します。
bash-4.1$ java -jar $KVHOME/lib/kvstore.jar ping -host mynode.mycompany.com -port 5000 -shard rg2 Pinging components of store mystore based upon topology sequence #2376 shard rg2 500 partitions and 3 storage nodes Time: 2018-09-28 06:57:10 UTC Version: 18.3.2 Shard Status: healthy Admin Status: healthy Zone [name=myshardzone id=zn1 type=PRIMARY allowArbiters=false masterAffinity=false] RN Status: online:3 offline:0 maxDelayMillis:0 maxCatchupTimeSecs:0 Storage Node [sn10] on nodeA:5000 Zone: [name=myshardzone id=zn1 type=PRIMARY allowArbiters=false masterAffinity=false] Status: RUNNING Ver: 18.3.2 2018-09-17 09:33:45 UTC Build id: a72484b8b33c Edition: Enterprise Rep Node [rg2-rn1] Status: RUNNING,MASTER sequenceNumber:71,166 haPort:5010 available storage size:12 GB Storage Node [sn11] on nodeB:5000 Zone: [name=myshardzone id=zn1 type=PRIMARY allowArbiters=false masterAffinity=false] Status: RUNNING Ver: 18.3.2 2018-09-17 09:33:45 UTC Build id: a72484b8b33c Edition: Enterprise Rep Node [rg2-rn2] Status: RUNNING,REPLICA sequenceNumber:71,166 haPort:5011 available storage size:14 GB delayMillis:0 catchupTimeSecs:0 Storage Node [sn12] on nodeC:5000 Zone: [name=myshardzone id=zn1 type=PRIMARY allowArbiters=false masterAffinity=false] Status: RUNNING Ver: 18.3.2 2018-09-17 09:33:45 UTC Build id: a72484b8b33c Edition: Enterprise Rep Node [rg2-rn3] Status: RUNNING,REPLICA sequenceNumber:71,166 haPort:5012 available storage size:24 GB delayMillis:0 catchupTimeSecs:0
pingの終了コード
このユーティリティによって返される可能性がある終了コードは、次のとおりです。終了コードは、プロセス終了コードとして返されることもあれば、JSON出力の一部として返されることもあります。
名前 | コード | 説明 |
---|---|---|
EXIT_OK | 0 | ストア内のすべてのサービスが見つかり、既知の正常な状態(RUNNINGなど)にあります。 |
EXIT_OPERATIONAL | 1 | ストア内の1つ以上のサービスにアクセスできなかったか、不明または使用不可の状態にあります。この場合、ストアは、すべてのシャード間のすべてのデータ操作に加え、すべての管理操作をサポートする必要がありますが、パフォーマンスが低下した状態になる可能性があります。ストアの一部が使用できなくなる前に、なんらかの処置を行って問題を検出し、修正する必要があります。 |
EXIT_NO_ADMIN_QUORUM | 2 | 管理サービスのレプリケーション・グループに定数がないか、まったく使用できず、ストア構成を変更する管理操作を実行することはできません。ストアでは、管理定数が失われても通常のデータ操作はすべてサポートされますが、この状態では、ストアの完全な機能をリストアするために早急な対応が必要です。 |
EXIT_NO_SHARD_QUORUM | 3 | 1つ以上のシャードに定数がなく、書込みリクエストを受け入れることができないか、完全に使用できなくなっています。この状態では、ストアの機能をリストアするために早急な対応が必要です。この終了コードはEXIT_NO_ADMIN_QUORUM よりも優先されるため、この終了コードが使用されている場合、管理機能も縮小されるか、使用できなくなることがあります。
|
EXIT_USAGE | 100 | pingコマンドの使用方法が正しくありません。 |
EXIT_TOPOLOGY_FAILURE | 101 | ping は、操作を行うためにトポロジを見つけることができませんでした。これは、ストアの問題、ネットワークの問題、またはpingに渡されたパラメータに関する使用上の問題である可能性があります。たとえば、指定された-host /-port ペアがストアの一部でないか、-helper-hosts で指定されたホストのいずれにも接続できません。
|
EXIT_UNEXPECTED | 102 | ユーティリティで予期しないエラーが発生しました。 |
ノート:
終了コード1から3は、いずれかのサービスに問題があるという結論を下す前に最初にチェックする必要があるネットワーク接続の問題を示している可能性があります。
pingレポートのテキスト出力
デフォルトでは、ping
ユーティリティは、人間が判読できる形式でストアのヘルスをレポートします。次に例を示します。
ノート:
コマンド出力が使用可能なスペースに収まるように、追加の改行が挿入されています。
$ java -Xmx64m -Xms64m -jar <KVHOME>/lib/kvstore.jar ping -host nodeA -port 1310
Pinging components of store mystore based upon topology sequence #108
100 partitions and 3 storage nodes
Time: 2018-09-28 06:57:10 UTC Version: 18.3.2
Shard Status: healthy:1 writable-degraded:0 read-only:0 offline:0
Admin Status: healthy
Zone [name=MyDC id=zn1 type=PRIMARY allowArbiters=false masterAffinity=false]
RN Status: online:3 offline:0 maxDelayMillis:0 maxCatchupTimeSecs:0
Storage Node [sn1] on nodeA:13100
Zone: [name=MyDC id=zn1 type=PRIMARY allowArbiters=false masterAffinity=false]
Status: RUNNING Ver: 18.3.2 2018-09-17 09:33:45 UTC
Build id: a72484b8b33c
Admin [admin1] Status: RUNNING,MASTER
Rep Node [rg1-rn1] Status: RUNNING,MASTER
sequenceNumber:227 haPort:13117 available storage size:16 GB
Storage Node [sn2] on nodeB:13200
Zone: [name=MyDC id=zn1 type=PRIMARY allowArbiters=false masterAffinity=false]
Status: RUNNING Ver: 18.3.2 2018-09-17 09:33:45 UTC
Build id: a72484b8b33c
Admin [admin2] Status: RUNNING,REPLICA
Rep Node [rg1-rn2] Status: RUNNING,REPLICA
sequenceNumber:227 haPort:13217 available storage size:14 GB delayMillis:0
catchupTimeSecs:0
Storage Node [sn3] on nodeC:13300
Zone: [name=MyDC id=zn1 type=PRIMARY allowArbiters=false masterAffinity=false]
Status: RUNNING Ver: 18.3.2 2018-09-17 09:33:45 UTC
Build id: a72484b8b33c
Admin [admin3] Status: RUNNING,REPLICA
Rep Node [rg1-rn3] Status: RUNNING,REPLICA
sequenceNumber:227 haPort:13317 available storage size:24 GB delayMillis:0
catchupTimeSecs:0
pingレポートのJSON出力
-json
コマンドライン・パラメータを指定すると、このユーティリティはそのレポートをJSON形式で提供します。
ノート:
この出力が使用可能なスペースに収まるように、追加の改行が挿入されています。
bash-3.2$ java -Xmx64m -Xms64m \
-jar dist/lib/kvstore.jar ping -host node01 \
-port 5000 -json
{
"operation" : "ping",
"returnCode" : 5000,
"description" : "No errors found",
"returnValue" : {
"topology" : {
"storeName" : "orcl",
"sequenceNumber" : 9,
"numPartitions" : 0,
"numStorageNodes" : 2,
"time" : 1539857069504,
"version" : "18.3.2"
},
"adminStatus" : "healthy",
"shardStatus" : {
"healthy" : 1,
"writable-degraded" : 1,
"read-only" : 0,
"offline" : 0,
"total" : 2
},
"zoneStatus" : [ {
"resourceId" : "zn1",
"name" : "Atlanta",
"type" : "PRIMARY",
"allowArbiters" : false,
"masterAffinity" : false,
"rnSummaryStatus" : {
"online" : 2,
"offline" : 0,
"read-only" : 0,
"hasReplicas" : false
}
}, {
"resourceId" : "zn2",
"name" : "Boston",
"type" : "SECONDARY",
"allowArbiters" : false,
"masterAffinity" : false,
"rnSummaryStatus" : {
"online" : 1,
"offline" : 0,
"read-only" : 0,
"hasReplicas" : true,
"maxDelayMillis" : 0,
"maxCatchupTimeSecs" : 0
}
} ],
"snStatus" : [ {
"resourceId" : "sn1",
"hostname" : "node01",
"registryPort" : 5000,
"zone" : {
"resourceId" : "zn1",
"name" : "Atlanta",
"type" : "PRIMARY",
"allowArbiters" : false,
"masterAffinity" : false
},
"serviceStatus" : "RUNNING",
"version" : "18.3.2 2018-09-17 09:33:45 UTC Build id: a72484b8b33c Edition: Enterprise",
"adminStatus" : {
"resourceId" : "admin1",
"status" : "RUNNING",
"state" : "MASTER",
"authoritativeMaster" : true
},
"rnStatus" : [ {
"resourceId" : "rg1-rn1",
"status" : "RUNNING",
"requestsEnabled" : "ALL",
"state" : "MASTER",
"authoritativeMaster" : true,
"sequenceNumber" : 23,
"haPort" : 5002,
"availableStorageSize" : "3 GB"
}, {
"resourceId" : "rg2-rn1",
"status" : "RUNNING",
"requestsEnabled" : "ALL",
"state" : "MASTER",
"authoritativeMaster" : true,
"sequenceNumber" : 23,
"haPort" : 5003,
"availableStorageSize" : "3 GB"
} ],
"anStatus" : [ ]
}, {
"resourceId" : "sn2",
"hostname" : "node02",
"registryPort" : 6000,
"zone" : {
"resourceId" : "zn2",
"name" : "Boston",
"type" : "SECONDARY",
"allowArbiters" : false,
"masterAffinity" : false
},
"serviceStatus" : "RUNNING",
"version" : "18.3.2 2018-09-17 09:33:45 UTC Build id: a72484b8b33c Edition: Enterprise",
"adminStatus" : {
"resourceId" : "admin2",
"status" : "RUNNING",
"state" : "REPLICA"
},
"rnStatus" : [ {
"resourceId" : "rg1-rn2",
"status" : "RUNNING",
"requestsEnabled" : "ALL",
"state" : "REPLICA",
"sequenceNumber" : 23,
"haPort" : 6003,
"availableStorageSize" : "3 GB",
"networkRestoreUnderway" : false,
"delayMillis" : 0,
"catchupTimeSecs" : 0,
"catchupRateMillisPerMinute" : 0
} ],
"anStatus" : [ ]
} ],
"exitCode" : 0
}
}