Vertica高可用性テスト
1802 ワード
1.基本概念の紹介
VerticaもMPPアーキテクチャのデータベースであり、Greenplumやhadoopなどの製品よりも、Verticaの最大の違いはプライマリノードという概念がないことです.すなわち、Verticaクラスタ(K-safe=1の場合)では、どのノードがダウンタイムしても、他のノードが外部にサービスを提供することには影響しません.他のプライマリノードを持つアーキテクチャでは、プライマリノードが一時停止するとクラスタ全体が停止するため、プライマリノードをさらに冗長化することも考慮する必要があります.
アーキテクチャをよく知っている人は、プライマリノードがない場合、Verticaのメタデータはどこに保存されていますか?答えは、メタデータが大きくないため、各ノードの冗長メタデータが実行可能であるため、各ノードに格納されます.
以上の理解に基づいて,我々は3ノードのVerticaクラスタテスト環境において,任意に1つのノードを停止し,他のノードは対外的にサービスを提供することができる.
2.ノードサービスの停止
admintoolsツール「7 Advanced Menu」を選択し、「2 Stop Vertica on Host」または「3 Kill Vertica Process on Host」を選択し、最後にサービスを停止するノードを選択します.admintools -> 7 Advanced Menu -> 2 Stop Vertica on Host / 3 Kill Vertica Process on Host -> Select host(s)
注:「2 Stop Vertica on Host」または「3 Kill Vertica Processon Host」を選択し、前者を優先し、前者は止まらず後者を殺すことを考えます.ここでは2番目のノードのverticaプロセスを殺します.
dbadmin=> select node_name, node_state from nodes;
node_name | node_state
-------------------+------------
v_testdb_node0001 | UP
v_testdb_node0002 | DOWN
v_testdb_node0003 | UP
(3 rows)
3.他のノードアクセスのテスト
2番目のノードはダウンタイムですが、予想通り、1番目のノードと3番目のノードからのアクセスデータは正常にアクセスできます.
-- 1 :
[dbadmin@vertica1 ~]$ vsql
Password:
-- 3 :
[dbadmin@vertica3 ~]$ vsql
Password:
ノード2からアクセスすると、エラーが表示されます.
[dbadmin@vertica2 ~]$ vsql
vsql: could not connect to server:
Is the server running on host "???" and accepting
TCP/IP connections on port 5433?
そのため、アプリケーション側は接続を配置して、簡単にクラスタのあるノードのIPアドレスを固定しないことを提案して、方法を考えて1組のIPを配置して、IPアドレスがあってアクセスできないことを発見して、他のノードのIPアドレスに接続して正常にデータベースにアクセスする論理を実現するべきです.