ping
ping [-json] [-shard <shardId>]
ping
コマンドとverify
コマンドは、データ・ストアのランタイム・エンティティに関する情報を返します。このコマンドは、トポロジから使用可能なコンポーネントおよび管理サービスにアクセスして、様々なコンポーネントの状態に関する情報を返します。
-
-json
出力をJSON形式で表示します。
-
–shard <shardId>
指定した特定のシャードIDに関するステータス情報のサブセットを表示します。
kv-> ping
Pinging components of store mystore based upon topology sequence #308
300 partitions and 3 storage nodes
Time: 2019-01-03 20:19:27 UTC Version: 19.1.0
Shard Status: healthy:1 writable-degraded:0 read-only:0 offline:0 total:1 Admin Status: healthy
Zone [name=1 id=zn1 type=PRIMARY allowArbiters=false masterAffinity=false]
RN Status: online:3 read-only:0 offline:0
maxDelayMillis:0 maxCatchupTimeSecs:0
Storage Node [sn1] on localhost:13230
Zone: [name=1 id=zn1 type=PRIMARY allowArbiters=false masterAffinity=false]
Status: RUNNING Ver: 19.1.0 2019-01-03 08:17:52 UTC Build id: 12641466031c Edition: Enterprise
Admin [admin1] Status: RUNNING,MASTER
Rep Node [rg1-rn1] Status: RUNNING,MASTER sequenceNumber:633 haPort:13233
available storage size:109 GB
Storage Node [sn2] on localhost:13240
Zone: [name=1 id=zn1 type=PRIMARY allowArbiters=false masterAffinity=false]
Status: RUNNING Ver: 19.1.0 2019-01-03 08:17:52 UTC Build id: 12641466031c Edition: Enterprise
Admin [admin2] Status: RUNNING,REPLICA
Rep Node [rg1-rn2] Status: RUNNING,REPLICA sequenceNumber:633 haPort:13243 available storage size:109 GB delayMillis:0 catchupTimeSecs:0
Storage Node [sn3] on localhost:13250 Zone: [name=1 id=zn1 type=PRIMARY allowArbiters=false masterAffinity=false] Status: RUNNING Ver: 19.1.0 2019-01-03 08:17:52 UTC Build id: 12641466031c Edition: Enterprise
Admin [admin3] Status: RUNNING,REPLICA
Rep Node [rg1-rn3] Status: RUNNING,REPLICA sequenceNumber:633 haPort:13253 available storage size:109 GB delayMillis:0 catchupTimeSecs:0
ping
コマンドを実行した後、システム・ヘルスについて最も有益なもの(または問題となるもの)を理解する必要があります。最も重要な内容はShard Statusエントリです。次のping
出力の詳細は、正常な(healthy:1
) 1つのシャード(total:1
)を示しています。好ましくないステータス・タイプ(writable-degraded
、read-only
およびoffline
)はすべてゼロ(0
)であり、これらのいずれかの状態であるものがないことを示しています。すべて問題ありません。
Shard Status: healthy:1
writable-degraded:0
read-only:0
offline:0
total:1
正常なシャードとは、正確にはどのようなものを示すのでしょうか。正常なシャードとは、そのRNのすべてが実行中であるものです。したがって、トポロジ内のすべてのシャードが正常である場合、すべてのRNが実行中であり、障害は存在しません。RNがそれほど重要なのはなぜでしょうか。それらは、データの読取りおよび書込み操作を実行するコンポーネントであるためです。
管理ノードのステータスをチェックすることも有益です。この単純な例では、1つの管理シャードのみが存在するため、Admin Status: healthy
という1つの結果があります。設定される可能性がある他の状態は、writable-degraded
、read-only
またはoffline
です。
結果 | 意味 |
---|---|
healthy |
すべてのノードが実行中であり、システムは完全に動作可能です。 |
writable-degraded |
多数のノードが実行中です。すべての操作がサポートされていますが、少数のノードがオフラインであるか、書込みをサポートしていません。RF=3を使用している場合、この状態は、すべての操作をサポートできなくなる状況に一歩近づいています。たとえば、1つのノードがオフラインのときに、別のノードを失うと、定数が失われ、シャードは読取り専用になります。ほとんどのユーザーはRF=3を使用するため、writable-degradedは通常、このような状況を意味します。 |
read-only |
少数のノードのみが実行中です。読取り操作はサポートされていますが、書込み操作はサポートされていません。 |
offline |
実行中のノードがないため、いずれの操作もサポートされていません。 |
ゾーン・ステータスについて
pingからの次の情報は、ゾーンに関するものです。
Zone [name=1 id=zn1
type=PRIMARY
allowArbiters=false
masterAffinity=false]
RN Status: online:3 read-only:0 offline:0
maxDelayMillis:0
maxCatchupTimeSecs:0
複数のゾーンがあるストアについては、この情報によって、異なる場所にあるノードのステータスが提供されます。たとえば、3つのゾーンを使用してストアがデプロイされ、各ゾーンのマシンが別個の建物にある場合、この情報によって、それぞれの建物にあるマシンに関する簡単なサマリー・ステータスが提供されます。この単純な例では、ゾーンは1つのみであるため、そのステータス情報はストア全体のものと同じです。maxDelayMillis
エントリとmaxCatchupTimeSecs
エントリでは、ゾーンにあるレプリカへのデータ・レプリケーションに関する情報が提供されます。この例では、どちらの値もゼロ(0)です。ただし、これらのエントリの数値が大きい場合は、ゾーン内のマシンにハードウェアの問題があるか、そのゾーンを他のゾーンに接続するネットワークに問題があることを示している可能性があります。このような情報は、より詳細なデバッグにのみ使用されます。
ストレージ・ノードについて
Storage Node [sn1] on localhost:13230 Zone:
[name=1 id=zn1 type=PRIMARY allowArbiters=false masterAffinity=false]
Status: RUNNING Ver: 19.1.0 2019-01-03 08:17:52 UTC Build id: 12641466031c
Edition: Enterprise
Admin [admin1] Status: RUNNING,MASTER
Rep Node [rg1-rn1] Status: RUNNING,MASTER
sequenceNumber:633 haPort:13233 available storage size:109 GB
Status:
エントリは、次のような様々な値を示す可能性があります。
ステータス | 説明 |
---|---|
STARTING |
ストレージ・ノードは起動中です。 |
WAITING_FOR_DEPLOY |
ストレージ・ノードは実行中ですが、新しいストアへのデプロイを待機しています。 |
RUNNING |
ストレージ・ノードは実行中です。これが通常の状態です。 |
STOPPING |
ストレージ・ノードは停止の処理中ですが、まだSTOPPED ステータスではありません。
|
STOPPED |
ストレージ・ノードは停止しています。 |
UNREACHABLE |
SNサービスが停止しているか、ホスト・マシンがオフラインであるか、またはネットワーク経由でマシンにアクセスできないため、ストレージ・ノードにアクセスできません。 |
ストレージ・ノードのRNおよび管理について
Admin [admin1] Status: RUNNING,MASTER Rep Node [rg1-rn1]
Status: RUNNING,MASTER sequenceNumber:633 haPort:13233 available storage size:109 GB
管理ノードとRNのどちらのStatus:
エントリも、次のような値を示す可能性があります。
ステータス | 説明 |
---|---|
STARTING |
ノードは起動中です。 |
RUNNING,MASTER |
ノードは稼働しており、マスターです。マスターはシャード内の多数のノードと通信しており、受信確認を必要とする書込みを実行できます。これは、2つの通常の状態のうちの最初のものです。 |
RUNNING,REPLICA
|
ノードは稼働しており、レプリカです。これは、2つの通常の状態のうちの2つ目のものです。 |
RUNNING,MASTER (non-authoritative) |
ノードは稼働しており、マスターですが、シャード内の多数のノードと通信していません。non-authoritativeマスターは、受信確認を必要としない書込みのみを実行できます。 |
STOPPING |
ノードは停止中です。 |
UNREACHABLE |
ネットワーク経由でノードに接続できませんでした。ノードは停止しているか、障害が発生しているか、またはマシンへのネットワーク接続に問題があります。 |
より詳細な情報を提供するためにステータス行に追加される可能性があるその他のステータス値: | |
readonly requests enabled
|
ノードを読取り専用ユーザー操作モードに設定するためにplan enable-requests コマンドが実行されたため、ノードは読取り専用モードで実行されています。
|
requests disabled |
ノード上のすべてのリクエストを無効にするためにplan enable-requests コマンドが実行されたため、ノードは、すべてのユーザー操作リクエストが無効になった状態で実行されています。plan enable-requests コマンドはシャード・ベースでリクエストを無効にするため、シャード内のすべてのデータに対して書込みまたはすべての操作を行うことができなくなります。
|
ping
コマンドとverify
コマンドでは、RNおよびシャードについて次のいずれかの状態が表示されることがあります。次の表では、その影響と結果について説明します。
表示される状態 | 影響 | 結果 |
---|---|---|
Unknown |
マスターが停止します。 | 読取り専用状態のRNおよびシャードがまだ実行中であることを表します。現在、RNについては読取り専用ステータスはサポートされていません。 |
Non-Authoritative Master |
レプリカ・ノードが停止します。 | レプリカ・ノードが停止すると、残りのRNおよびシャードは読取り専用モードになります。現在、RNについては読取り専用ステータスはサポートされていません。 |
Out of disk space |
マスターとレプリカ・ノードが停止します。レプリカはRUNNING, UNKNOWN 状態のままで、マスターはNon-Authoritative 状態になります。
|
マスターとレプリカ・ノードが停止すると、残りのRNおよびシャードは読取り専用モードになります。現在、RNについては読取り専用ステータスはサポートされていません。 |
Write requests disabled |
RNおよびシャードのヘルスは、読取り専用が有効になったリクエスト状態になります。 | RNおよびシャードはユーザー・リクエストを受け入れることができず、オフラインとマークされます。 |
ping
コマンドとverify
コマンドの両方で、これらの状態が検出されます。通常の状態にあるシャード(rg2
)上でのpingコマンドの出力で結果がどのように返されるかを次に示します。
kv-> ping -shard rg2
Pinging components of store mystore based upon topology sequence #2376
shard rg2 500 partitions and 3 storage nodes Time: 2018-09-28 07:06:46 UTC Version: 18.3.2
Shard Status: healthy: Admin Status: healthy Zone [name=shardzone 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=shardzone 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:8 GB Storage Node [sn11] on nodeB:5000
Zone: [name=shardzone 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:4 GB delayMillis:0 catchupTimeSecs:0
Storage Node [sn12] on nodeC:5000 Zone: [name=shardzone 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:6 GB delayMillis:0 catchupTimeSecs:0
- シャード・ステータスはwritable-degradedになり、読取り専用です。
kv-> ping
Pinging components of store concurrent plan store based upon topology sequence #1082
1000 partitions and 9 storage nodes
Time: 2018-11-06 05:12:36 UTC Version: 18.3.8
Shard Status: healthy:2 writable-degraded:12 read-only:4 offline:0 total:18
Admin Status: healthy
Zone [name=dc1 id=zn1 type=PRIMARY allowArbiters=false masterAffinity=false]
RN Status: online:30 read-only:24 offline:0 maxDelayMillis:0 maxCatchupTimeSecs:0
Storage Node [sn1] on slcao397:5000
Zone: [name=dc1 id=zn1 type=PRIMARY allowArbiters=false masterAffinity=false] Status: RUNNING
Ver: 18.3.8 2018-10-26 11:36:43 UTC Build id: 6259xxxxxxxx Edition: Enterprise
- RNは、ディスク制限に達したり、RNが停止しているなど、複数の理由で
RUNNING,UNKNOWN
状態になることがあります。
Storage Node [sn4] on slcao400:5000 Zone: [name=dc1 id=zn1 type=PRIMARY
allowArbiters=false masterAffinity=false] Status: RUNNING Ver: 18.3.8 2018-10-26 11:36:43 UTC
Build id: 6259xxxxxxxx Edition: Enterprise
Rep Node [rg7-rn1] Status: RUNNING,UNKNOWN sequenceNumber:173,717,825 haPort:5020
available storage size:-3 GB delayMillis:? catchupTimeSecs:?
Rep Node [rg8-rn1] Status: RUNNING,UNKNOWN sequenceNumber:173,555,937 haPort:5021
available storage size:-3 GB delayMillis:? catchupTimeSecs:?
Rep Node [rg9-rn1] Status: RUNNING,MASTER sequenceNumber:173,697,007 haPort:5022 available storage size:-3 GB
Rep Node [rg10-rn1] Status: RUNNING,UNKNOWN sequenceNumber:173,293,747 haPort:5023
available storage size:-3 GB delayMillis:? catchupTimeSecs:?
Rep Node [rg11-rn1] Status: RUNNING,UNKNOWN sequenceNumber:170,561,758 haPort:5024 available storage size:-3 GB
delayMillis:? catchupTimeSecs:?
Rep Node [rg12-rn1] Status: RUNNING,MASTER sequenceNumber:170,410,483 haPort:5025 available storage size:-3 GB
- ディスク領域不足のエラーが発生すると、マスターは
non-authoritative
になります。
Storage Node [sn6] on slcao402:5000 Zone: [name=dc1 id=zn1 type=PRIMARY allowArbiters=false
masterAffinity=false] Status: RUNNING Ver: 18.3.8 2018-10-26 11:36:43 UTC Build id: 6259xxxxxxxx
Edition: Enterprise
Rep Node [rg7-rn3] Status: RUNNING,MASTER (non-authoritative)
sequenceNumber:173,754,579 haPort:5020 available storage size:45 GB
Rep Node [rg8-rn3] Status: RUNNING,REPLICA sequenceNumber:173,555,937
haPort:5021 available storage size:46 GB
delayMillis:0 catchupTimeSecs:0
Rep Node [rg9-rn3] Status: RUNNING,REPLICA
sequenceNumber:173,697,007 haPort:5022 available storage size:45 GB
delayMillis:0 catchupTimeSecs:0
Rep Node [rg10-rn3] Status: RUNNING,MASTER (non-authoritative)
sequenceNumber:173,293,747 haPort:5023 available storage size:45 GB
Rep Node [rg11-rn3] Status: RUNNING,REPLICA sequenceNumber:170,561,758
haPort:5024 available storage size:45 GB delayMillis:0 catchupTimeSecs:0
Rep Node [rg12-rn3] Status: RUNNING,REPLICA sequenceNumber:170,410,483 haPort:5025
available storage size:46 GB delayMillis:0 catchupTimeSecs:0
ping -json
をコールする基本的な例を示します。 kv-> ping -json
{
"operation" : "ping",
"returnCode" : 5000,
"description" : "No errors found",
"returnValue" : {
"topology" : {
"storeName" : "OurStore",
"sequenceNumber" : 104,
"numPartitions" : 100,
"numStorageNodes" : 1,
"time" : 1546801860520,
"version" : "18.3.4"
},
"adminStatus" : "healthy",
"shardStatus" : {
"healthy" : 1,
"writable-degraded" : 0,
"read-only" : 0,
"offline" : 0,
"total" : 1
},
"zoneStatus" : [ {
"resourceId" : "zn1",
"name" : "OurZone",
"type" : "PRIMARY",
"allowArbiters" : false,
"masterAffinity" : false,
"rnSummaryStatus" : {
"online" : 1,
"offline" : 0,
"read-only" : 0,
"hasReplicas" : false
}
} ],
"snStatus" : [ {
"resourceId" : "sn1",
"hostname" : "OurHost",
"registryPort" : 5000,
"zone" : {
"resourceId" : "zn1",
"name" : "OurZone",
"type" : "PRIMARY",
"allowArbiters" : false,
"masterAffinity" : false
},
"serviceStatus" : "RUNNING",
"version" : "18.4.0 2018-12-06 09:21:03 UTC Build id: fbfbd1541004 Edition: Enterprise",
"adminStatus" : {
"resourceId" : "admin1",
"status" : "RUNNING",
"state" : "MASTER",
"authoritativeMaster" : true
},
"rnStatus" : [ {
"resourceId" : "rg1-rn1",
"status" : "RUNNING",
"requestsEnabled" : "ALL",
"state" : "MASTER",
"authoritativeMaster" : true,
"sequenceNumber" : 381,
"haPort" : 5013,
"availableStorageSize" : "97 GB"
} ],
"anStatus" : [ ]
} ],
"exitCode" : 0
}
}