既存のトポロジへのセカンダリ・ゾーンの追加
この項では、「複数のゾーンでの構成」で作成した既存のトポロジにセカンダリ・ゾーンを追加する方法を示します。次の例では、セカンダリ・ゾーンを別の地理的な場所(ヨーロッパ)に追加して、ユーザーがセカンダリ・ゾーンからデータを読み取れるようにします。これは、セカンダリ・ゾーンが物理的にクライアントに近いため、またはニューヨーク都市圏のプライマリ・ゾーンが障害のために使用できないためです。このステップでは、容量1の2つの新しいストレージ・ノードの作成と起動、セカンダリ・ゾーンの作成、セカンダリ・ゾーンへの新しいストレージ・ノードのデプロイ、各シャードのレプリカがセカンダリ・ゾーンに配置されるようにトポロジの再分散を実行します。
新しいストレージ・ノード(
node07
およびnode08
)の両方で、次のステップに従います。
- 最初のノードから圧縮されたセキュリティ・ファイルをコピーし、ファイルを解凍します。
unzip -o security.zip -d /;
- フランクフルト・ゾーンにデプロイされる最初の新しいストレージ・ノードに対して、
makebootconfig
ユーティリティを起動します。セキュリティ構成は、makebootconfig
ユーティリティの起動中に有効になります。java -jar $KVHOME/lib/kvstore.jar makebootconfig \ -root $KVROOT \ -port 5000 \ -host $KVHOST \ -harange 5010,5020 \ -store-security enable \ -capacity 1 \ -storagedir ${KVDATA}/disk1 \ -storagedirsize 5500-MB
- ストレージ・ノード・エージェントを起動します。
java -jar $KVHOME/lib/kvstore.jar start -root $KVROOT &
セカンダリ・ゾーンを作成し、新しいストレージ・ノードをデプロイするには、次のステップを実行します。
- 管理CLIを起動します。$KVHOSTは
node01
です。java -Xmx64m -Xms64m \ -jar $KVHOME/lib/kvstore.jar runadmin \ -port 5000 -host $KVHOST -security $KVROOT/security/client.security
- フランクフルトにセカンダリ・ゾーンを作成します。
出力:kv-> plan deploy-zone -name Frankfurt -rf 1 -type secondary -wait
Executed plan 14, waiting for completion... Plan 14 ended successfully
- フランクフルト・ゾーンにストレージ・ノードsn7をデプロイします。
出力:kv-> plan deploy-sn -znname Frankfurt -host node07 -port 5000 -wait
Executed plan 15, waiting for completion... Plan 15 ended successfully
- 管理プロセスを持つストレージ・ノードsn7をフランクフルト・ゾーンにデプロイします。
出力:kv-> plan deploy-admin -sn sn7 -wait
Executed plan 16, waiting for completion... Plan 16 ended successfully
- フランクフルト・ゾーンにストレージ・ノードsn8をデプロイします。
出力:kv-> plan deploy-sn -znname Frankfurt -host node08 -port 5000 -wait
Executed plan 17, waiting for completion... Plan 17 ended successfully
- 再分散してから新しいトポロジをデプロイして、セカンダリ・フランクフルト・ゾーンのシャードごとに1つのレプリカを作成します。
出力:kv-> topology clone -current -name topo_secondary
Created topo_secondary
出力:kv-> topology redistribute -name topo_secondary -pool AllStorageNodes
Redistributed: topo_secondary
出力:kv-> topology preview -name topo_secondary
Topology transformation from current deployed topology to topo_secondary: Create 2 RN shard rg1 1 new RN : rg1-rn4 shard rg2 1 new RN : rg2-rn4
出力:kv-> plan deploy-topology -name topo_secondary -wait
Executed plan 19, waiting for completion... Plan 19 ended successfully
- 「ユーザーの作成とリモート・アクセスによるセキュリティの構成」に記載されている手順に従って、作成された新しいストレージ・ノードにユーザー・セキュリティ・ファイルをコピーします。
- show topologyコマンドを使用してサービス・ステータスを確認します。
出力:kv-> show topology
store=MetroArea numPartitions=100 sequence=120 zn: id=zn1 name=Manhattan repFactor=1 type=PRIMARY allowArbiters=false masterAffinity=false zn: id=zn2 name=JerseyCity repFactor=1 type=PRIMARY allowArbiters=false masterAffinity=false zn: id=zn3 name=Queens repFactor=1 type=PRIMARY allowArbiters=false masterAffinity=false zn: id=zn4 name=Frankfurt repFactor=1 type=SECONDARY allowArbiters=false masterAffinity=false sn=[sn1] zn:[id=zn1 name=Manhattan] node01:5000 capacity=1 RUNNING [rg1-rn1] RUNNING single-op avg latency=0.21372496 ms multi-op avg latency=0.0 ms sn=[sn2] zn:[id=zn1 name=Manhattan] node02:5000 capacity=1 RUNNING [rg2-rn1] RUNNING single-op avg latency=0.30840763 ms multi-op avg latency=0.0 ms sn=[sn3] zn:[id=zn2 name=JerseyCity] node03:5000 capacity=1 RUNNING [rg1-rn2] RUNNING No performance info available sn=[sn4] zn:[id=zn2 name=JerseyCity] node04:5000 capacity=1 RUNNING [rg2-rn2] RUNNING No performance info available sn=[sn5] zn:[id=zn3 name=Queens] node05:5000 capacity=1 RUNNING [rg1-rn3] RUNNING No performance info available sn=[sn6] zn:[id=zn3 name=Queens] node06:5000 capacity=1 RUNNING [rg2-rn3] RUNNING No performance info available sn=[sn7] zn:[id=zn4 name=Frankfurt] node07:5000 capacity=1 RUNNING [rg1-rn4] RUNNING No performance info available sn=[sn8] zn:[id=zn4 name=Frankfurt] node07:5000 capacity=1 RUNNING [rg2-rn4] RUNNING No performance info available numShards=2 shard=[rg1] num partitions=50 [rg1-rn1] sn=sn1 [rg1-rn2] sn=sn3 [rg1-rn3] sn=sn5 [rg1-rn4] sn=sn7 shard=[rg2] num partitions=50 [rg2-rn1] sn=sn2 [rg2-rn2] sn=sn4 [rg2-rn3] sn=sn6 [rg2-rn4] sn=sn8
- セカンダリ・ゾーンにシャードごとのレプリカがあることを確認します。
出力:kv-> verify configuration
Verify: starting verification of store MetroArea based upon topology sequence #120 100 partitions and 7 storage nodes Time: 2024-04-05 10:52:15 UTC Version: 24.1.11 See node01: $KVROOT/Disk1/MetroArea/log/MetroArea_{0..N}.log for progress messages Verify: Shard Status: healthy:2 writable-degraded:0 read-only:0 offline:0 total:2 Verify: Admin Status: healthy Verify: Zone [name=Manhattan id=zn1 type=PRIMARY allowArbiters=false masterAffinity=false] RN Status: online:2 read-only:0 offline:0 Verify: Zone [name=JerseyCity id=zn2 type=PRIMARY allowArbiters=false masterAffinity=false] RN Status: online:2 read-only:0 offline:0 maxDelayMillis:1 maxCatchupTimeSecs:0 Verify: Zone [name=Queens id=zn3 type=PRIMARY allowArbiters=false masterAffinity=false] RN Status: online:2 read-only:0 offline:0 maxDelayMillis:1 maxCatchupTimeSecs:0 Verify: Zone [name=Frankfurt id=zn4 type=SECONDARY allowArbiters=false masterAffinity=false] RN Status: online:1 read-only:0 offline:0 maxDelayMillis:1 maxCatchupTimeSecs:0 Verify: == checking storage node sn1 == Verify: Storage Node [sn1] on node01:5000 Zone: [name=Manhattan id=zn1 type=PRIMARY allowArbiters=false masterAffinity=false] Status: RUNNING Ver: 24.1.11 2024-04-05 10:52:15 UTC Build id: c8998e4a8aa5 Edition: Enterprise Verify: Admin [admin1] Status: RUNNING,MASTER Verify: Rep Node [rg1-rn1] Status: RUNNING,MASTER sequenceNumber:1,261 haPort:5011 available storage size:31 GB Verify: == checking storage node sn2 == Verify: Storage Node [sn2] on node02:5000 Zone: [name=Manhattan id=zn1 type=PRIMARY allowArbiters=false masterAffinity=false] Status: RUNNING Ver: 24.1.11 2024-04-05 10:52:15 UTC Build id: c8998e4a8aa5 Edition: Enterprise Verify: Rep Node [rg2-rn1] Status: RUNNING,MASTER sequenceNumber:1,236 haPort:5012 available storage size:31 GB Verify: == checking storage node sn3 == Verify: Storage Node [sn3] on node03:5000 Zone: [name=JerseyCity id=zn2 type=PRIMARY allowArbiters=false masterAffinity=false] Status: RUNNING Ver: 24.1.11 2024-04-05 10:52:15 UTC Build id: c8998e4a8aa5 Edition: Enterprise Verify: Admin [admin2] Status: RUNNING,REPLICA Verify: Rep Node [rg1-rn2] Status: RUNNING,REPLICA sequenceNumber:1,261 haPort:5011 available storage size:31 GB delayMillis:0 catchupTimeSecs:0 Verify: == checking storage node sn4 == Verify: Storage Node [sn4] on node04:5000 Zone: [name=JerseyCity id=zn2 type=PRIMARY allowArbiters=false masterAffinity=false] Status: RUNNING Ver: 24.1.11 2024-04-05 10:52:15 UTC Build id: c8998e4a8aa5 Edition: Enterprise Verify: Rep Node [rg2-rn2] Status: RUNNING,REPLICA sequenceNumber:1,236 haPort:5012 available storage size:31 GB delayMillis:1 catchupTimeSecs:0 Verify: == checking storage node sn5 == Verify: Storage Node [sn5] on node05:5000 Zone: [name=Queens id=zn3 type=PRIMARY allowArbiters=false masterAffinity=false] Status: RUNNING Ver: 24.1.11 2024-04-05 10:52:15 UTC Build id: c8998e4a8aa5 Edition: Enterprise Verify: Admin [admin3] Status: RUNNING,REPLICA Verify: Rep Node [rg1-rn3] Status: RUNNING,REPLICA sequenceNumber:1,261 haPort:5011 available storage size:31 GB delayMillis:1 catchupTimeSecs:0 Verify: == checking storage node sn6 == Verify: Storage Node [sn6] on node06:5000 Zone: [name=Queens id=zn3 type=PRIMARY allowArbiters=false masterAffinity=false] Status: RUNNING Ver: 24.1.11 2024-04-05 10:52:15 UTC Build id: c8998e4a8aa5 Edition: Enterprise Verify: Rep Node [rg2-rn3] Status: RUNNING,REPLICA sequenceNumber:1,236 haPort:5012 available storage size:31 GB delayMillis:0 catchupTimeSecs:0 Verify: == checking storage node sn7 == Verify: Storage Node [sn7] on node07:5000 Zone: [name=Frankfurt id=zn4 type=SECONDARY allowArbiters=false masterAffinity=false] Status: RUNNING Ver: 24.1.11 2024-04-05 10:52:15 UTC Build id: c8998e4a8aa5 Edition: Enterprise Verify: Admin [admin4] Status: RUNNING,REPLICA Verify: Rep Node [rg1-rn4] Status: RUNNING,REPLICA sequenceNumber:1,261 haPort:5011 available storage size:31 GB delayMillis:1 catchupTimeSecs:0 Verify: == checking storage node sn8 == Verify: Storage Node [sn8] on node08:5000 Zone: [name=Frankfurt id=zn4 type=SECONDARY allowArbiters=false masterAffinity=false] Status: RUNNING Ver: 24.1.11 2024-04-05 10:52:15 UTC Build id: c8998e4a8aa5 Edition: Enterprise Verify: Rep Node [rg2-rn4] Status: RUNNING,REPLICA sequenceNumber:1,238 haPort:5012 available storage size:31 GB delayMillis:0 catchupTimeSecs:0 Verification complete, no violations.