72
Table of Contents 実習ラボの概要HOL-HBD-1686 - VMware vCloud® Air™ Data Services with Continuent 2 実習ラボのガイダンス ................................................................................................ 3 モジュール 1Continuent の概要 30 ....................................................................... 5 実習ラボの概要.......................................................................................................... 6 Continuent の概要 .................................................................................................... 8 モジュール 2Continuent - 主な機能 30 ................................................................ 10 モジュール 2 に必要な環境の準備.............................................................................. 11 モジュールの概要..................................................................................................... 14 MySQL クラスタのトポロジー .................................................................................. 16 正常なフェイルオーバー処理のテスト ........................................................................ 22 自動フェイルオーバーのテスト.................................................................................. 29 次のステップ ........................................................................................................... 35 モジュール 3Continuent - マルチサイトのアクティブ / アクティブ MySQL クラスタ 15 ................................................................................................................................. 36 モジュール 3 に必要な環境の準備.............................................................................. 37 モジュールの概要..................................................................................................... 39 MySQL クラスタのトポロジー .................................................................................. 40 クラスタ間のデータ レプリケーションを確認.............................................................. 45 トポロジー変更後のデータ レプリケーションを確認 .................................................... 53 モジュール 4Continuent - ビッグデータ Hadoopとの統合 15 ......................... 60 モジュール 4 に必要な環境の準備.............................................................................. 61 モジュールの概要..................................................................................................... 63 Hadoop へのデータ レプリケーションを確認 ............................................................. 64 Hive による Hadoop でのデータ アクセスを確認 ....................................................... 69 まとめと詳細情報..................................................................................................... 71 HOL-HBD-1686_JA Page 1 HOL-HBD-1686_JA

Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

Table of Contents実習ラボの概要: HOL-HBD-1686 - VMware vCloud® Air™ Data Services with Continuent 2

実習ラボのガイダンス ................................................................................................ 3モジュール 1: Continuent の概要 (30 分) ....................................................................... 5

実習ラボの概要.......................................................................................................... 6Continuent の概要 .................................................................................................... 8

モジュール 2: Continuent - 主な機能 (30 分) ................................................................ 10モジュール 2 に必要な環境の準備.............................................................................. 11モジュールの概要..................................................................................................... 14MySQL クラスタのトポロジー .................................................................................. 16正常なフェイルオーバー処理のテスト ........................................................................ 22自動フェイルオーバーのテスト.................................................................................. 29次のステップ........................................................................................................... 35

モジュール 3: Continuent - マルチサイトのアクティブ / アクティブ MySQL クラスタ (15分) ................................................................................................................................. 36

モジュール 3 に必要な環境の準備.............................................................................. 37モジュールの概要..................................................................................................... 39MySQL クラスタのトポロジー .................................................................................. 40クラスタ間のデータ レプリケーションを確認.............................................................. 45トポロジー変更後のデータ レプリケーションを確認 .................................................... 53

モジュール 4: Continuent - ビッグデータ (Hadoop) との統合 (15 分) .........................60モジュール 4 に必要な環境の準備.............................................................................. 61モジュールの概要..................................................................................................... 63Hadoop へのデータ レプリケーションを確認 ............................................................. 64Hive による Hadoop でのデータ アクセスを確認 ....................................................... 69まとめと詳細情報..................................................................................................... 71

HOL-HBD-1686_JA

Page 1HOL-HBD-1686_JA

Page 2: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

実習ラボの概要実習ラボの概要: HOL-HBD-1686 - VMwarevCloud® Air™ Data

Services with Continuent

HOL-HBD-1686_JA

Page 2HOL-HBD-1686_JA

Page 3: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

実習ラボのガイダンス実習ラボのガイダンス

HOL2015-1686: 「vCloud Air Data Services - Continuent」

説明:

ここでは、MySQL のクラスタリングと高可用性に関連する VMware Continuent の主な機能について説明します。具体的な内容は、同一サイト内でのクラスタリング、別のサイト上のバックアップ クラスタへほぼリアルタイムでレプリケーションやフェイルオーバーを実行する機能、マルチサイトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。

モジュール:

モジュール 1: 「概要」 [初心者レベル、30 分]

Continuent と DBaaS (サービスとしてのデータベース)、およびそれぞれの機能について概説します。

モジュール 2: 「主な機能」 [初心者レベル、30 分]

1 つのサイト内に MySQL クラスタリングを導入し、クライアント アプリケーションに影響を与えることなく、計画的ダウンタイムと計画外のダウンタイムを処理します。さらに、別のサイトのバックアップ MySQL クラスタにも同じ機能を拡張します。

モジュール 3: 「マルチサイトのアクティブ / アクティブ MySQL クラスタ」 [上級レベル、15 分]

複数のサイトにまたがるアクティブ / アクティブ MySQL クラスタを使用して、クライアント アプリケーションが複数のサイトで並行してデータベースを読み書きできるようにします。

モジュール 4: 「ビッグデータ (Hadoop) の統合」 [上級レベル、15 分]

MySQL から Hadoop へほぼリアルタイムでデータをレプリケートし、リアルタイム データを使用して Hadoop 分析を実行できるようにします。

アクティベーションアクティベーション プロンプトまたはウォーターマークプロンプトまたはウォーターマーク

実習ラボを初めて開始すると、Windows がアクティベートされていないことを示すウォーターマークがデスクトップに表示される場合があります。

仮想化の大きなメリットの 1 つが、仮想マシンを移動して任意のプラットフォームで実行できる点です。 ハンズオン ラボも、このメリットにより複数のデータセンターから実行できます。 ただし、こうしたデータセンターは必ずしも同じタイプのプロセッサを使用しているとは限りません。そのため、インターネットを介して Microsoft のアクティベーション チェックが行われます。

HOL-HBD-1686_JA

Page 3HOL-HBD-1686_JA

Page 4: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

ご安心ください。VMware とハンズオン ラボは、Microsoft のライセンス要件に完全に準拠しています。 ご利用の実習ラボは自己完結型ポッドであるため、Windows アクティベーションに必要なインターネットへのフル アクセス権限がありません。 インターネットへのフル アクセス権限がないと、この自動プロセスは失敗し、このウォーターマークが表示されます。

実習ラボには影響しません。 ご不明な点やご心配な点がありましたら、お気軽にサポートまでお問い合わせください。サポートは、VMworld のハンズオン ラボ コーナー、エキスパート主導のワークショップ、またはオンラインで受け付けています。ハンズオン ラボをより良くするために、ご意見をお聞かせください。

HOL-HBD-1686_JA

Page 4HOL-HBD-1686_JA

Page 5: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

モジュールモジュール 1: Continuentの概要の概要 (30 分分)

HOL-HBD-1686_JA

Page 5HOL-HBD-1686_JA

Page 6: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

実習ラボの概要実習ラボの概要

優れた俊敏性とカスタマー エクスペリエンスがビジネスに求められる現在、次世代 「SMAC(Social Mobile Analytics Cloud)」 アプリケーションの需要が高まっています。多くの IT アーキテクトは、クラウド ネイティブ アプリケーション、サービスとしてのデータベース(DBaaS)、サービスとしてのプラットフォーム (PaaS) といった新しい IT ソリューションを利用して、こうしたアプリケーションを実現しようとしています。

VMware では、次世代 SMAC アプリケーションの構築を支援するため、弊社のパブリック クラウド サービス 「vCloud Air」 にさまざまな 「アプリケーション サービス」 を導入しています。これらのアプリケーション サービスには、アプリケーションのデータ層の構築に役立つ一連の 「データ サービス」 も含まれています。

お客様がパブリック クラウドを基盤とする次世代の 「クラウド ネイティブ」 アプリケーションを構築するにあたり、データ層に重要な設計パターンがあることがわかりました。

• 独自のデータベース インスタンスをインストールして管理するのではなく、マネージド サービスとしてのリレーショナル データベース (DBaaS) を利用する

• これらの DBaaS インスタンスをゼロから作成するのではなく、自社運用のデータベース インスタンスから構築する

• クラスタリング、高可用性、ディザスタ リカバリの機能がデータベース自体に備わっていない場合や十分でない場合は、パブリック クラウドを利用して、これらの機能をデータ層に提供する

このハンズオン ラボでは、これらの設計パターンに関連する主要な VMware ソリューションの 1つ、VMware Continuent について説明します。VMware Continuent は、vCloud Air 環境とオンプレミス環境を対象とするデータベース クラスタリング / レプリケーション テクノロジーです。エンタープライズ クラスの高可用性、グローバルな冗長性を備えたディザスタ リカバリ、パフォーマンスの拡張、および異種データのリアルタイム統合を実現します。

主なメリットは次のとおりです。

• 高可用性高可用性:障害が発生したマスター DBMS サーバを数秒で交換できます。可用性は維持され、トランザクションが失われることもありません。

• ダウンタイムなしのメンテナンスダウンタイムなしのメンテナンス:アプリケーションやサービスを中断させることなく、データベースのメンテナンス作業 (スキーマの変更、MySQL のアップグレード、新しいハードウェアの追加など) を行えます。

• 優れたパフォーマンス優れたパフォーマンス:レプリケーションのパフォーマンスが MySQL ネイティブ レプリケーションの 5 倍に向上。インテリジェントな並列処理によってトランザクション ボリュームも増加します (130 GB / 30 データベースの SysBench を使用した VMware 社内のテスト)。

• 柔軟な導入柔軟な導入:ベアメタル環境、プライベート クラウド環境 (VMware、OpenStack)、パブリック クラウド環境 (vCloud Air、Amazon AWS、Red Hat OpenShift) を柔軟に組み合わせてデータベース クラスタを構築できます。

詳しくは http://www.vmware.com/products/continuent/をご覧ください。

HOL-HBD-1686_JA

Page 6HOL-HBD-1686_JA

Page 7: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

HOL-HBD-1686_JA

Page 7HOL-HBD-1686_JA

Page 8: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

Continuent の概要の概要

VMware Continuent を使用すると、ビジネス クリティカルなデータベース アプリケーションを実行している企業で、商用レベルの高可用性 (HA)、グローバルな冗長性を備えたディザスタ リカバリ (DR)、およびパフォーマンスの拡張を低コストで実現できます。クラウドまたはプライベート データセンターにデータベース クラスタを容易に作成できるので、システム障害が発生してもデータの可用性が損なわれません。

さらに、リレーショナル データベースのデータが高性能な NoSQL エンジンやデータ分析エンジンへ複製されるので、ビッグデータの分析結果に基づいて、より的確に経営判断を下すことができます。

主なユースケースとメリット主なユースケースとメリット

Continuent の主なメリットとユースケースは次のとおりです。企業が直面しているビジネス課題や技術的な課題の解決に役立ちます。

• 柔軟な展開: ベアメタル環境、プライベート クラウド環境 (VMware、OpenStack)、パブリック クラウド環境 (vCloud Air、Amazon AWS、Red Hat OpenShift) を柔軟に組み合わせてデータベース クラスタを構築できます。

• ダウンタイムなしのメンテナンス: アプリケーションやサービスを中断させることなく、データベースのメンテナンス作業 (スキーマの変更、MySQL のアップグレード、新しいハードウェアの追加など) を行えます。

• 高可用性: 障害が発生したマスター DBMS サーバを数秒で交換できます。可用性は維持され、トランザクションが失われることもありません。

• 優れたパフォーマンス: レプリケーションのパフォーマンスが MySQL ネイティブ レプリケーションの 5 倍に向上。インテリジェントな並列処理によってトランザクション ボリュームも増加します。

• ジオクラスタリング: 複数のサイトにまたがり、即座にフェイルオーバーできる、マルチマスターのサイト間データベース クラスタを実装できます。

• ディザスタ リカバリ: VMware Continuent クラスタで構成されたホット スタンバイ状態のディザスタ リカバリ サイトを構築。災害発生時には、アプリケーションに接続したまま、コマンド 1 つで切り替えることができます。

• 低コストの Oracle レプリケーション: Oracle から MySQL、MySQL から Oracle、Oracle から Oracle へのデータ レプリケーションが可能。

• RDBMS と分析エンジンのリアルタイム統合: 高性能な NoSQL エンジンやデータ分析エンジンへデータが迅速かつ効率的に複製されるので、ビッグデータの分析結果に基づいて、より的確に経営判断を下すことができます。

• MySQL、MariaDB、Percona Server の容易な導入: ソフトウェアのアップグレード、データの移行、アプリケーションや DDL の変更は必要ありません。

HOL-HBD-1686_JA

Page 8HOL-HBD-1686_JA

Page 9: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

Continuent の概要ビデオの概要ビデオ (2 分分 7 秒秒)

Continuent ソリューションの概要を紹介する短いビデオです。このビデオには音声が含まれています。ヘッドフォンをお使いの場合は、プラグをヘッドフォン ジャックにしっかりと差し込んでください。音声が小さい場合や聞こえない場合は、プラグが正しく差し込まれていない可能性があります。

<div class="player-unavailable"><h1 class="message">An error occurred.</h1><div class="submessage"><ahref="http://www.youtube.com/watch?v=xUNCK8j3syo" target="_blank">Try watching this video on www.youtube.com</a>, or enableJavaScript if it is disabled in your browser.</div></div>

HOL-HBD-1686_JA

Page 9HOL-HBD-1686_JA

Page 10: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

モジュールモジュール 2: Continuent -主な機能主な機能 (30 分分)

HOL-HBD-1686_JA

Page 10HOL-HBD-1686_JA

Page 11: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

モジュールモジュール 2 に必要な環境の準備に必要な環境の準備

必要に応じて、実習ラボのどのモジュールからでも実行できるようにするため、一連のスクリプトが用意されています。各モジュールのはじめにスクリプトを実行して、実習ラボのトポロジーを準備してください。いつでも次のモジュールに進み、該当するモジュールのセットアップ スクリプトを実行できます。

このモジュールでは、「module2」 という名前のスクリプトを実行します。次ページの手順に従ってください。

PuTTY の起動の起動

1. デスクトップにある PuTTY アイコンをダブルクリックして開きます。PuTTY は SSH クライアントです。

2. 「db1.vsphere.corp.local」 というサーバ名をダブルクリックして、このサーバへの ssh セッションを開きます。

注: この実習ラボ環境のすべてのサーバと ControlCenter については、証明書認証が構成済みです。そのためそのため、SSH セッションを開始する際セッションを開始する際、認証情報を入力しなくてもシステムにログインでき認証情報を入力しなくてもシステムにログインできますます。

HOL-HBD-1686_JA

Page 11HOL-HBD-1686_JA

Page 12: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

モジュールモジュール 2 のセットアップのセットアップ スクリプトの実行スクリプトの実行

1. コマンド プロンプトに 「module2」 と入力して、<Enter> キーを押します。2. スクリプトが完了するまでに 1 ~ 2 分かかります。スクリプトが完了してコマンド プロンプトに戻ったら、「source ~/.bash_profile」 と入力して <Enter> キーを押します。

最初の手順ではスクリプトの出力が表示されますが (Cleanup と Install)、2 つ目のコマンドでは出力は表示されません。

HOL-HBD-1686_JA

Page 12HOL-HBD-1686_JA

Page 13: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

PuTTY の終了の終了

これで、モジュール 2 の準備が完了しました。次のセクションに進んでモジュール 2 を開始する前に、PuTTY を閉じてください。

1. PuTTY ウィンドウの右上にある赤い X をクリックします。2. [OK] をクリックします。

HOL-HBD-1686_JA

Page 13HOL-HBD-1686_JA

Page 14: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

モジュールの概要モジュールの概要

このモジュールでは、1 つのサイト内および地理的に離れた 2 つのサイトに MySQL のクラスタリングとフェイルオーバーを構築し、この環境で役立つ Continuent の機能について説明します。

1. ここでは、Continuent の以下の機能を使用します。1. アプリケーションの稼動を妨げたり、クラスタに接続しているクライアント アプリケーションに影響を与えたりすることなく、MySQL クラスタのトポロジーを再構成する。

2. MySQL インスタンスの障害を自動的に検出。さらに、クラスタに接続しているクライアント アプリケーションに影響を与えることなく、(必要に応じて) 新しいMySQL インスタンスをマスター ロールに昇格する。

3. 以前に障害が発生した MySQL インスタンスをリカバリしてクラスタに戻す。4. クライアント アプリケーションに影響を与えることなく、地理的に別のサイトへマスターを移行する。

2. ここでは、地理的に離れた 2 つのサイトに、MySQL インスタンスのクラスタを 2 つ構成します。Continuent の構成方法は 「マルチサイト シングルマスター」 トポロジーです。このトポロジーでは、1 つの 「マスター」 MySQL インスタンスが 2 つのサイトのすべての書き込み操作を処理します。このことは、クライアント アプリケーションからはわかりません。読み取り操作は、2 つのサイトのどの MySQL インスタンスからでも実行できます。

次のページの図は、このトポロジーを示しています。

Continuent でサポートされているさまざまな MySQL クラスタリング トポロジーについて詳しくは、https://www.vmware.com/files/pdf/products/continuent/VMware-Continuent-Benefits-And-Configurations-Whitepaper.pdfをご覧ください。

このモジュールの予定所要時間は 30 分です。

HOL-HBD-1686_JA

Page 14HOL-HBD-1686_JA

Page 15: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

マルチサイトマルチサイト シングルマスターシングルマスター トポロジートポロジー

HOL-HBD-1686_JA

Page 15HOL-HBD-1686_JA

Page 16: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

MySQL クラスタのトポロジークラスタのトポロジー

まず、MySQL 環境に接続してトポロジーを確認してみましょう。

PuTTY の起動の起動

db1.vsphere.corp.local への PuTTY セッションを開きます。

1. デスクトップにある PuTTY アイコンをダブルクリックして開きます。PuTTY は SSH クライアントです。

2. 「db1.vsphere.corp.local」 というサーバ名をダブルクリックして、このサーバへの ssh セッションを開きます。

注: この実習ラボ環境のすべてのサーバと ControlCenter については、証明書認証が構成済みです。そのため、SSH セッションを開始する際、認証情報を入力しなくてもシステムにログインできます。

MySQL クラスタのトポロジーを確認クラスタのトポロジーを確認

1. PuTTY のコマンド プロンプトに 「cctrl -multi」 と入力して、<Enter> キーを押します。

HOL-HBD-1686_JA

Page 16HOL-HBD-1686_JA

Page 17: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

2. 「[LOGICAL] / >」 というプロンプトが表示されたら、「ls」 (小文字の L) と入力して<Enter> キーを押します。

この環境の全体的なトポロジーに関する情報が表示されます。 「vsphere」 と 「vca」 という 2 つの地理的サイトが、「global」 という Continuent クラスタの一部になっています。

「cctrl」 は、インストールされているクラスタを管理するための Continuent のコマンドです。クラスタや構成に関する情報を取得したり、管理したりするときに役立ちます。「ls」 は、現在のスコープに関する情報を表示するコマンドです。

HOL-HBD-1686_JA

Page 17HOL-HBD-1686_JA

Page 18: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

MySQL クラスタのトポロジーを確認クラスタのトポロジーを確認: マスターとスレーブマスターとスレーブ

ここでは、「global」 という名前の全体的なトポロジーを確認します。global は、vsphere と vcaという 2 つのサイトで構成されています。

1. 「use global」 と入力して <Enter> キーを押します。2. 「ls」 と入力して <Enter> キーを押します。3. 「composite」 トポロジーが構成されており、vsphere というサイトでマスターが実行されていることがわかります。

4. スレーブは vca というサイトで実行されています。

MySQL クラスタのトポロジーを確認クラスタのトポロジーを確認: vsphere

ここでは、vsphere というサイトに接続して、このサイトのトポロジーに関する情報を確認します。長くなるためスクリーンショットには途中までしか表示されていませんが、vsphere サイトのその他のノード (db2.vsphere.corp.local と db3.vsphere.corp.local) に関する情報も表示されます。

1. PuTTY のコマンド プロンプトに 「use vsphere」 と入力して、<Enter> キーを押します。2. 「ls」 と入力して <Enter> キーを押します。

vsphere というサイトのトポロジーが表示されます (スクリーンショットを参照)。次の情報に注目してください。

• 「COORDINATOR」: クラスタの状態を判断する役割を担うクラスタ メンバー。マスターであるとは限りません。

• 「CONNECTOR」: クライアント アプリケーションと MySQL クラスタの間で実行されるContinuent サービス。この例では、2 つのサイトで 6 つの Connector を実行。6 つのMySQL インスタンスにそれぞれ割り当てられています。 Continuent はトポロジー全体を把握しており、トポロジーが変更されたときは、その情報をすべてのノードに配布します。

HOL-HBD-1686_JA

Page 18HOL-HBD-1686_JA

Page 19: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

• 「MASTER」: すべての書き込みトランザクションを処理するクラスタ メンバー (この例では 「db1.vsphere.corp.local」)。

• 「DATASOURCES」: クラスタのメンバー。この例では、SITE_A クラスタに 3 つのメンバーがあり、そのうちの 「db-01a.corp.local」 がマスターになっています。「progress」 フィールドは、この MySQL インスタンスにレプリケーションされた最後のレコードの連番です(マスターと同じ値か近い値である必要があります)。「latency」 フィールドは、トランザクションに適用された遅延です。マスターの場合は、コミット時間と抽出時間の差になります。スレーブの場合は、マスターのコミット時間とスレーブのコミット時間の差になります。

HOL-HBD-1686_JA

Page 19HOL-HBD-1686_JA

Page 20: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

MySQL クラスタのトポロジーを確認クラスタのトポロジーを確認: vca

1. PuTTY のコマンド プロンプトに 「use vca」 と入力して、<Enter> キーを押します。2. 「ls」 と入力して <Enter> キーを押します。

このサイトには、「db1.vca.corp.local」 という独自のコーディネータがあります。この MySQL インスタンスのロールが 「relay」 になっていることに注目してください。

HOL-HBD-1686_JA

Page 20HOL-HBD-1686_JA

Page 21: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

PuTTY の終了の終了

1. 次の手順に進む前に PuTTY を閉じましょう。PuTTY ウィンドウの右上にある X をクリックします。

2. [OK] ボタンをクリックします。

HOL-HBD-1686_JA

Page 21HOL-HBD-1686_JA

Page 22: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

正常なフェイルオーバー処理のテスト正常なフェイルオーバー処理のテスト

ここでは、管理フェイルオーバー (正常) と自動フェイルオーバー (異常) の両方のフェイルオーバー処理について確認します。管理フェイルオーバーが発生するのは、マスター ノードで計画的なメンテナンスが行われる場合です。したがって、vsphere サイトを正常にシャットダウンして、vca サイトにインスタンスを移動します。自動フェイルオーバーが発生するのは、現在のマスターノード (この例では vsphere) でなんらかの障害 (サーバのクラッシュなど) が発生した場合です。インスタンスは自動的に vca に移動されます。これは異常なシャットダウンと見なされるため、一貫性のある安全な方法でインスタンスが自動的に移動されます。

計画的な移行計画的な移行

ここでは、管理者としてマスターを別の MySQL インスタンスに移行して、クライアント アプリケーションが新しいマスターにシームレスに再接続することを確認します。

先に説明したとおり、これは、メンテナンス (パッチの適用、アップグレードなど) の実行時にマスターをシャットダウンする通常のプロセスです。

HOL-HBD-1686_JA

Page 22HOL-HBD-1686_JA

Page 23: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

PuTTY の起動の起動

ここで実行するのは計画的なメンテナンスであるため、どのノードがマスターかはわかっているはずです (db1.vsphere.corp.local です)。このノードをオフラインにするため、いずれかのスレーブ ノードから MySQL インスタンスに接続します。

1. デスクトップにある PuTTY アイコンをダブルクリックして開きます。PuTTY は SSH クライアントです。

2. 「db2.vsphere.corp.local」 というサーバ名をダブルクリックして、このサーバへの ssh セッションを開きます。

マスターマスター ノードの選択ノードの選択

ローカル Continuent Connector サービスへの MySQL 接続を開きます。

1. PuTTY のコマンド プロンプトに 「tpm connector」 と入力して、<Enter> キーを押します。

2. コマンド プロンプトに 「select @@hostname;」 と入力して <Enter> キーを押します。

注: 「select @@hostname;」 コマンドを入力する際、末尾のセミコロン (;) を忘れないでください。

HOL-HBD-1686_JA

Page 23HOL-HBD-1686_JA

Page 24: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

db1.vsphere.corp.local に接続していることがわかります (黄色のハイライト)。ローカルConnector サービスでは自動的にマスター インスタンスにルーティングされます。

HOL-HBD-1686_JA

Page 24HOL-HBD-1686_JA

Page 25: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

マスターマスター ノードの移行ノードの移行

マスターを db1.vsphere.corp.local から db3.vsphere.corp.local に移行します。そのためには次のコマンドを実行します。

1. コマンド プロンプトに 「exit」 と入力し、<Enter> キーを押して、MySQL の CLI を終了します。

2. コマンド プロンプトに 「cctrl -multi」 と入力して <Enter> キーを押します。3. コマンド プロンプトに 「use vsphere」 と入力して <Enter> キーを押します。4. コマンド プロンプトに 「switch to db3.vsphere.corp.local」 と入力して <Enter> キーを押します。

5. 移行が成功したことを確認します。

これで、MySQL インスタンスが db3.vsphere.corp.local で実行されるようになりました。前に説明したとおり、これは正常な計画的移行です。次に、同じ方法で、インスタンスをリモート サイトに移行してみましょう。

マスターマスター ノードをリモートノードをリモート サイトへ移行サイトへ移行

ここでは、MySQL インスタンスをローカル サイト (vsphere) からリモート サイト (vca) へ移行します。

HOL-HBD-1686_JA

Page 25HOL-HBD-1686_JA

Page 26: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

vca への移行への移行

1. PuTTY のコマンド プロンプトに 「use global」 と入力して、<Enter> キーを押します。2. コマンド プロンプトに 「switch to vca」 と入力して <Enter> キーを押します。3. 移行が成功したことを確認します。

HOL-HBD-1686_JA

Page 26HOL-HBD-1686_JA

Page 27: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

vca 上でマスターを確認上でマスターを確認

1. コマンド プロンプトに 「exit」 と入力して <Enter> キーを押します。2. コマンド プロンプトに 「tpm connector」 と入力して <Enter> キーを押します。3. コマンド プロンプトに 「select @@hostname;」 と入力して <Enter> キーを押します(末尾のセミコロン (;) を忘れないでください)。

4. マスター ノードに再接続されます。マスター ノードは、現在は vca というリモート サイトの db1.vca.corp.local で実行されています。

HOL-HBD-1686_JA

Page 27HOL-HBD-1686_JA

Page 28: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

PuTTY の終了の終了

これでこのセクションは終了です。PuTTY セッションを閉じて、次のレッスンへ進みましょう。

1. PuTTY ウィンドウの右上にある赤い X をクリックします。2. [OK] をクリックします。

HOL-HBD-1686_JA

Page 28HOL-HBD-1686_JA

Page 29: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

自動フェイルオーバーのテスト自動フェイルオーバーのテスト

ここでは、マスターが突然クラッシュした場合のシナリオについて説明します。この場合、Continuent が自動的に障害を検出して、マスターを Continuent クラスタ内の別のノードに移行します。

障害のシミュレーション障害のシミュレーション

ノード障害のシナリオをテストするため、現在のマスター ノードで mysql サービスを停止します。サービスが停止すると、Continuent が新しいマスター ノードを選出して、そのノードにMySQL インスタンスを移行します。

ここまで手順どおりに操作している場合、現在のマスター ノードは db1.vca.corp.local のはずです。以降の手順をスムーズに実行できるように、最初にマスター ノードを確認します。

では、始めましょう。

HOL-HBD-1686_JA

Page 29HOL-HBD-1686_JA

Page 30: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

PuTTY の起動の起動

1. デスクトップにある PuTTY アイコンをダブルクリックして開きます。PuTTY は SSH クライアントです。

2. 「db1.vca.corp.local」 というサーバ名をダブルクリックして、このサーバへの ssh セッションを開きます。

HOL-HBD-1686_JA

Page 30HOL-HBD-1686_JA

Page 31: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

マスターマスター ノードの確認ノードの確認

2 つのコマンドを実行するだけで、マスター ノードの現在の場所を確認できます。

1. コマンド プロンプトに 「tpm connector」 と入力して <Enter> キーを押します。2. コマンド プロンプトに 「select @@hostname;」 と入力して <Enter> キーを押します(末尾のセミコロン (;) を忘れないでください)。

3. マスター ノードが db1.vca.corp.local で実行されていることがわかります。

別のノードがマスターになっていても問題はありません。そのノードへの PuTTY セッションを開いて、そのまま先に進むことができます (以降の手順では、該当するノードの名前を使用してください)。また、前の手順に戻り、マスターを db1.vca.corp.local に移動することもできます。

HOL-HBD-1686_JA

Page 31HOL-HBD-1686_JA

Page 32: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

障害のシミュレーション障害のシミュレーション

マスター ノードが db1.vca.corp.local にあることを確認できたので、mysql サービスを停止して障害をシミュレートします。

1. コマンド プロンプトに 「exit」 と入力して <Enter> キーを押します。2. コマンド プロンプトに 「sudo /etc/init.d/mysql stop」 と入力して <Enter> キーを押します。

MySQL サービスをシャットダウンするというメッセージが表示され、2 ~ 3 分後に 「SUCCESS」と表示されます。

HOL-HBD-1686_JA

Page 32HOL-HBD-1686_JA

Page 33: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

新しいマスター新しいマスター ノードの確認ノードの確認

db1.vca.corp.local 上の mysql サービスが停止すると、Continuent が新しいマスターを選出して、その新しいマスターに MySQL インスタンスを移行します。インスタンスが現在どこで実行されているか見てみましょう。

1. コマンド プロンプトに 「tpm connector」 と入力して <Enter> キーを押します。2. コマンド プロンプトに 「select @@hostname;」 と入力して <Enter> キーを押します(末尾のセミコロン (;) を忘れないでください)。

3. マスター ノードが db2.vca.corp.local または db3.vca.corp.local で実行されていることがわかります。

HOL-HBD-1686_JA

Page 33HOL-HBD-1686_JA

Page 34: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

PuTTY の終了の終了

これで、モジュール 2 は終了です。PuTTY セッションを閉じて、次のレッスンへ進みましょう。

1. PuTTY ウィンドウの右上にある赤い X をクリックします。2. [OK] をクリックします。

このレッスンにご参加いただき、ありがとうございました。他のモジュールにもぜひご参加ください。

HOL-HBD-1686_JA

Page 34HOL-HBD-1686_JA

Page 35: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

次のステップ次のステップ

Composite クラスタのトポロジーについて詳しくは、http://docs.continuent.com/continuent-tungsten-4.0/deployment-composite.htmlをご覧ください。

クラスタ メンバーのさまざまな役割と責任については、http://docs.continuent.com/continuent-tungsten-4.0/introduction.htmlをご覧ください。

HOL-HBD-1686_JA

Page 35HOL-HBD-1686_JA

Page 36: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

モジュールモジュール 3: Continuent -マルチサイトのアクティブマルチサイトのアクティブ / アアクティブクティブ MySQL クラスタクラスタ

(15 分分)

HOL-HBD-1686_JA

Page 36HOL-HBD-1686_JA

Page 37: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

モジュールモジュール 3 に必要な環境の準備に必要な環境の準備

必要に応じて、実習ラボのどのモジュールからでも実行できるようにするため、一連のスクリプトが用意されています。各モジュールのはじめにスクリプトを実行して、実習ラボのトポロジーを準備してください。いつでも次のモジュールに進み、該当するモジュールのセットアップ スクリプトを実行できます。

このモジュールでは、「module3」 という名前のスクリプトを実行します。次ページの手順に従ってください。

PuTTY の起動の起動

1. デスクトップにある PuTTY アイコンをダブルクリックして開きます。PuTTY は SSH クライアントです。

2. 「db1.vsphere.corp.local」 というサーバ名をダブルクリックして、このサーバへの ssh セッションを開きます。

注: この実習ラボ環境のすべてのサーバと ControlCenter については、証明書認証が構成済みです。そのため、SSH セッションを開始する際、認証情報を入力しなくてもシステムにログインできます。

HOL-HBD-1686_JA

Page 37HOL-HBD-1686_JA

Page 38: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

モジュールモジュール 3 のセットアップのセットアップ スクリプトの実行スクリプトの実行

1. コマンド プロンプトに 「module3」 と入力して <Enter> キーを押します。2. スクリプトが完了するまでに 1 ~ 2 分かかります。スクリプトが完了してコマンド プロンプトに戻ったら、「source ~/.bash_profile」 と入力して <Enter> キーを押します。

最初の手順ではスクリプトの出力が表示されますが (Cleanup と Install)、2 つ目のコマンドでは出力は表示されません。エラーが発生することはまずありませんが、発生した場合はその旨を伝えてください。

これで、モジュール 3 の準備が完了しました。

HOL-HBD-1686_JA

Page 38HOL-HBD-1686_JA

Page 39: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

モジュールの概要モジュールの概要

Continuent ではマルチサイトの 「アクティブ / アクティブ」 MySQL クラスタを構成できます。クライアント アプリケーションは、別々の場所にある 2 つのサイトで同時に書き込み操作を実行できます。

2 つのデータセンターで同時に書き込みを実行するには、クライアント アプリケーションが適切に設計されている必要があります。Continuent で推奨されるベスト プラクティスについては、http://docs.continuent.com/continuent-tungsten-4.0/deployment-msmm.html#deployment-msmm-prepare をご覧ください。

このトポロジーを 「マルチサイト マルチマスター」 トポロジーと呼びます。次のページの図は、この実習ラボで構成するトポロジーを示しています。

Continuent でサポートされているさまざまな MySQL クラスタリング トポロジーについて詳しくは、https://www.vmware.com/files/pdf/products/continuent/VMware-Continuent-Benefits-And-Configurations-Whitepaper.pdfをご覧ください。

このモジュールでは、Continuent の以下の機能を使用します。

• 地理的に離れた 2 つのサイトで実行されている 2 つの MySQL クラスタの間で、双方向のデータ レプリケーションを構成する。

• クライアント アプリケーションがそれぞれの MySQL クラスタに対して同時に書き込み操作を行える。もう一方のクライアント アプリケーションがもう一方のサイトに書き込んだデータを読み取ることもできます。

• クラッシュしたマスターを検出してフェイルオーバーする機能。書き込み操作を実行しているクライアント アプリケーションや、もう一方のサイトとの実行中のレプリケーションへの影響はありません。

マルチサイトマルチサイト マルチマスターマルチマスター トポロジートポロジー

HOL-HBD-1686_JA

Page 39HOL-HBD-1686_JA

Page 40: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

MySQL クラスタのトポロジークラスタのトポロジー

まず、MySQL 環境に接続してトポロジーを確認してみましょう。

PuTTY の起動の起動

前の手順ですでに db1.vsphere.corp.local への PuTTY セッションを開いてあるため、この手順は省略してかまいません。db1.vsphere.corp.local への PuTTY セッションを開いていない場合はこの手順を実行してください。

1. デスクトップにある PuTTY アイコンをダブルクリックして開きます。PuTTY は SSH クライアントです。

2. 「db1.vsphere.corp.local」 というサーバ名をダブルクリックして、このサーバへの ssh セッションを開きます。

注: この実習ラボ環境のすべてのサーバと ControlCenter については、証明書認証が構成済みです。そのため、SSH セッションを開始する際、認証情報を入力しなくてもシステムにログインできます。

HOL-HBD-1686_JA

Page 40HOL-HBD-1686_JA

Page 41: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

ローカルローカル MySQL クラスタのトポロジーを確認クラスタのトポロジーを確認

1. PuTTY のコマンド プロンプトに 「cctrl -multi」 と入力して、<Enter> キーを押します。2. 「[LOGICAL] / >」 というプロンプトが表示されたら、「ls」 と入力して <Enter> キーを押します。

「cctrl」 は、インストールされているクラスタを管理するための Continuent のコマンドです。クラスタや構成に関する情報を取得したり、管理したりするときに役立ちます。「ls」 は、現在のスコープに関する情報を表示するコマンドです。

ローカル サイトのトポロジーに関する情報が表示されます。 PuTTY に表示される情報が前のモジュール (モジュール 2) とは異なることに注意してください。前の例で構成したのは 2 つのサイトにまたがる 「シングル マスター」 トポロジーでしたが、モジュール 3 で使用するのはマルチサイト マルチマスター トポロジーです。

現在の設定では、互いに独立した 2 つの MySQL クラスタが 2 つのサイトで構成されています。前の手順で ls コマンドを実行したときに両方のサイトは表示されず、1 つのサイト (vsphere)のみが表示されたのはそのためです。

HOL-HBD-1686_JA

Page 41HOL-HBD-1686_JA

Page 42: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

リモートリモート MySQL クラスタのトポロジーを確認クラスタのトポロジーを確認

次に、いずれかのリモート サーバへの新しい PuTTY セッションを開きます。PuTTY では複数のセッションを開くことができるため、前のセッションを閉じる必要はありません。 リモート サイトに接続するにはどの dbx.vca サーバを選択してもかまいませんが、ここでは db1.vca.corp.localに接続します。

1. デスクトップにある PuTTY アイコンをダブルクリックして開きます。PuTTY は SSH クライアントです。

2. 「db1.vca.corp.local」 というサーバ名をダブルクリックして、このサーバへの ssh セッションを開きます。

HOL-HBD-1686_JA

Page 42HOL-HBD-1686_JA

Page 43: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

リモートリモート MySQL クラスタのトポロジーを確認クラスタのトポロジーを確認

1. PuTTY のコマンド プロンプトに 「cctrl -multi」 と入力して、<Enter> キーを押します。2. 「[LOGICAL] / >」 というプロンプトが表示されたら、「ls」 と入力して <Enter> キーを押します。

リモート サイト (vca) のみが表示されます。これで、それぞれ固有のマスター ノードを持つ 2つの独立したクラスタがあることを確認できました。

今度はさらに一歩進んで、このマルチサイト マルチマスター トポロジーがどのように連携するのかを見てみましょう。

グローバルグローバル トポロジーの確認トポロジーの確認

db1.vca.corp.local の PuTTY セッションで作業を続けます。 次のコマンドを実行する前に、表示されるデータを見やすくするために PuTTY ウインドウを拡大しておきます。PuTTY ウィンドウの右上にある四角いアイコンをクリックして、ウィンドウを最大化することもできます。

1. PuTTY のコマンド プロンプトに 「exit」 と入力して、<Enter> キーを押します。2. PuTTY のコマンド プロンプトに 「multi_trepctl --by-service」 と入力して、<Enter> キーを押します。

先に進む前に、スクリーンショットでハイライトされているサーバを見てください。これらはこれらは、ここのトポロジーのマスターのトポロジーのマスター ノードですノードです。マスターマスター ノードはノードは、db1.vsphere.corp.local ととdb1.vca.corp.local になっているはずですになっているはずです。ハンズオンハンズオン ラボの性質上ラボの性質上、マスターマスター ノードがこれノードがこれとは異なる場合もありますがとは異なる場合もありますが、その場合も問題はありませんその場合も問題はありません。「master」 と表示されているノードをメモして、以降の手順でそれらのノードを使用してください。

生成される出力から、6 つのノードがそれぞれ各クラスタの一部になっていることがわかります。ローカル レベルでは各クラスタのローカル ノードしか表示されませんが、グローバル レベルでは、クラスタですべてのノードが使用されていることがわかります。そのため、データベースへの書き込み操作が複数のサイトで同時に実行されて、堅牢なアクティブ / アクティブ インフラストラクチャが実現されます。

HOL-HBD-1686_JA

Page 43HOL-HBD-1686_JA

Page 44: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

次の 2 つのセクションでは、この 2 つのサイトでデータがどのようにレプリケーションされ、障害が発生するとどうなるのかを確認します (ヒント: アプリケーションへの影響はありません)。

HOL-HBD-1686_JA

Page 44HOL-HBD-1686_JA

Page 45: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

クラスタ間のデータクラスタ間のデータ レプリケーションを確認レプリケーションを確認

では、Continuent がこの 2 つのクラスタの間でデータをどのようにレプリケーションするのか見てみましょう。現在、db1.vsphere.corp.local と db1.vca.corp.local への 2 つの PuTTY セッションが開いているはずです。開いていない場合は、この 2 つのサーバへの PuTTY セッションをもう一度開いてください。

両方のクラスタのクライアント両方のクラスタのクライアント アプリケーションの起動アプリケーションの起動

前の手順で、どのノードがマスターになっているのかを確認しました。これらのマスター ノードは、クライアント アプリケーションが MySQL データベースで書き込みや読み取りを行う際に接続するノードです。

HOL-HBD-1686_JA

Page 45HOL-HBD-1686_JA

Page 46: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

マスターマスター ノードの選択ノードの選択

db1.vsphere.corp.local に接続している PuTTY セッションで、ローカル ContinuentConnector サービスへの MySQL 接続を開きます。

1. PuTTY のコマンド プロンプトに 「tpm connector」 と入力して、<Enter> キーを押します。

2. コマンド プロンプトに 「select @@hostname;」 と入力して <Enter> キーを押します(末尾のセミコロン (;) を忘れないでください)。

注: 「select @@hostname;」 コマンドを入力する際、末尾のセミコロン (;) を忘れないでください。末尾のセミコロン (;) を入力し忘れてエラーから回復できなくなった場合は、<Ctrl> +<C> キーを押して、手順 1 からやり直してください。

まだ db1.vsphere.corp.local (黄色のハイライト) がマスターであることがわかります。

ローカルローカル クラスタにスキーマを挿入クラスタにスキーマを挿入

次に、データベースにデータを追加するアプリケーションをシミュレートします。「vsphere_foo」という名前の新しいスキーマをローカル vsphere クラスタに作成します。引き続き、db1.vsphere.corp.local に接続している PuTTY セッションを使用します。

HOL-HBD-1686_JA

Page 46HOL-HBD-1686_JA

Page 47: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

まだ mysql のコマンド ライン インターフェイス (CLI) にいることを確認してください。PuTTYセッションに 「mysql>」 と表示されているはずです (スクリーンショットを参照)。表示されていない場合は、「tpm connector」 と入力して <Enter> キーを押します。

1. PuTTY のコマンド プロンプトに 「create schema vsphere_foo;」 と入力して、<Enter>キーを押します (末尾のセミコロン (;) を忘れないでください)。

2. コマンド プロンプトに 「show schemas;」 と入力して <Enter> キーを押します (末尾のセミコロン (;) に注意)。

注: これらのコマンドを入力する際、末尾のセミコロン (;) を忘れないでください。末尾のセミコロン (;) を入力し忘れてエラーから回復できなくなった場合は、<Ctrl> + <C> キーを押して、手順 1 からやり直してください。

これで、データベースに vsphere_foo スキーマが追加されました (ハイライトされている部分)。次に、これがリモート サイトにレプリケーションされているかどうかを見てみましょう。

リモートリモート MySQL クラスタへのデータクラスタへのデータ レプリケーションレプリケーション

db1.vca.corp.local に接続している PuTTY セッションに切り替えて、ローカル ContinuentConnector サービスへの MySQL 接続を開きます。

1. PuTTY のコマンド プロンプトに 「tpm connector」 と入力して、<Enter> キーを押します。

2. コマンド プロンプトに 「select @@hostname;」 と入力して <Enter> キーを押します。

HOL-HBD-1686_JA

Page 47HOL-HBD-1686_JA

Page 48: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

注: 「select @@hostname;」 コマンドを入力する際、末尾のセミコロン (;) を忘れないでください。 末尾のセミコロン末尾のセミコロン (;) を入力し忘れてエラーから回復できなくなった場合はを入力し忘れてエラーから回復できなくなった場合は、<Ctrl> +<C> キーを押してキーを押して、手順手順 1 からやり直してくださいからやり直してください。

db1.vca.corp.local (黄色のハイライト) がマスターであることがわかります。

HOL-HBD-1686_JA

Page 48HOL-HBD-1686_JA

Page 49: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

リモートリモート MySQL クラスタへのデータクラスタへのデータ レプリケーションレプリケーション

リモート MySQL クラスタ (vca) を調べて、先ほど作成したスキーマが vsphere インスタンスからレプリケーションされていることを確認します。PuTTY ウィンドウを切り替えて、db1.vca.corp.local に接続しているセッションを使用します。

1. mysql> プロンプトに 「show schemas;」 と入力して <Enter> キーを押します (末尾のセミコロン (;) に注意)。

注: 末尾のセミコロン (;) を入力し忘れてエラーから回復できなくなった場合は、<Ctrl> +<C> キーを押して、手順 1 からやり直してください。

vsphere_foo スキーマ (黄色のハイライト) がリモート インスタンスにレプリケーションされていることがわかります。

ローカルローカル サイトへのデータサイトへのデータ レプリケーションレプリケーション

このレプリケーションは双方向であるため、今度はリモート クラスタ (vca) に新しいスキーマを作成してみましょう。新しいスキーマ (vca_foo) を作成したら、それが vca と vsphere の両方のクラスタのスキーマ リストに表示されることを確認します。

1. db1.vca.corp.local の PuTTY セッションで、mysql> プロンプトに 「create schemavca_foo;」 と入力して、<Enter> キーを押します (末尾のセミコロン (;) に注意)。

HOL-HBD-1686_JA

Page 49HOL-HBD-1686_JA

Page 50: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

2. mysql> プロンプトに 「show schemas;」 と入力して <Enter> キーを押します (末尾のセミコロン (;) に注意)。

3. db1.vsphere.corp.local に接続している PuTTY セッションに切り替えて、mysql> プロンプトに 「show schemas;」 と入力して <Enter> キーを押します (末尾のセミコロン(;) に注意)。

注: 末尾のセミコロン (;) を入力し忘れてエラーから回復できなくなった場合は、<Ctrl> +<C> キーを押して、手順をやり直してください。

スクリーンショットのように、vca_foo スキーマ (黄色のハイライト) が両方のリストに表示されます。

サイト間の行レベルのレプリケーションサイト間の行レベルのレプリケーション

次に、スキーマにデータを挿入して、それがもう一方のサイトにどのようにレプリケーションされるのかを見てみましょう。

ローカル サイト (vsphere) で、「names」 という名前の新しいテーブルを作成して 2 つの行を挿入します。間もなくこのデータがリモート サイト (vca) に表示されます。参考のために、ここで実行する MySQL コマンドを以下に示します。これらのコマンドは、デスクトップにあるREADME.txt ファイルからコピーして mysql> コマンド プロンプトに貼り付けることができます。Putty では、右クリックするだけでテキストを貼り付けることができます。

use vsphere_foo;

HOL-HBD-1686_JA

Page 50HOL-HBD-1686_JA

Page 51: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

create table names (id int primary key auto_increment, name varchar(32));

insert into names (name) values ('jon'), ('alan');

select * from vsphere_foo.names;

以下のコマンドは db1.vsphere.corp.local の PuTTY セッションで実行することに注意してください。

1. mysql> プロンプトに 「use vsphere_foo;」 と入力して <Enter> キーを押します。2. mysql> プロンプトに 「create table names (id int primary key auto_increment,

name varchar(32));」 と入力して <Enter> キーを押します。3. mysql> プロンプトに 「insert into names (name) values ('jon'), ('alan');」 と入力して

<Enter> キーを押します。4. mysql> プロンプトに 「select * from vsphere_foo.names;」 と入力して <Enter> キーを押します。

5. 「jon」 と 「alan」 という値を含む 2 つの行を持つテーブルが表示されます。

HOL-HBD-1686_JA

Page 51HOL-HBD-1686_JA

Page 52: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

サイト間の行レベルのレプリケーションサイト間の行レベルのレプリケーション

次に、vca クラスタを調べて、テーブルとデータがレプリケーションされていることを確認します。以下のコマンドは db1.vca.corp.local の PuTTY セッションで実行することに注意してください。

1. mysql> プロンプトに 「select * from vsphere_foo.names;」 と入力して <Enter> キーを押します。

2. 「jon」 と 「alan」 という値を含む 2 つの行を持つテーブルが正常にレプリケーションされていることがわかります。

HOL-HBD-1686_JA

Page 52HOL-HBD-1686_JA

Page 53: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

トポロジー変更後のデータトポロジー変更後のデータ レプリケーションをレプリケーションを確認確認

これまでに、Continuent が 2 つのサイトの間でデータをレプリケーションできることを確認しました。今度は、クラスタのトポロジーに変更を加えてもレプリケーションがシームレスに続行されることを確認します。

HOL-HBD-1686_JA

Page 53HOL-HBD-1686_JA

Page 54: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

レプリケーション構成の確認レプリケーション構成の確認

まず、ローカル サイト (vsphere) を見てみましょう。すでに db1.vsphere.corp.local へのPuTTY 接続が開いているはずです。次の手順では大量のテキストが生成されるため、PuTTY ウィンドウの右上にある最大化ボタンをクリックしてウィンドウを拡大しておくことをお勧めします。

1. mysql> プロンプトに 「exit」 と入力して <Enter> キーを押します。2. コマンド プロンプトに 「mm_trepctl status」 と入力して <Enter> キーを押します。

「mm_trpctl status」 コマンドは、現在のホストのレプリケーション構成の詳細を取得する際に使用します。レプリケーションの組み合わせ候補、現在のレプリケーション元、およびレプリケーションのステータスが表示されます。

次の構成設定とメトリックを確認してください (スクリーンショットのハイライト部分)。

• appliedLastSeqno: 最後に受信したレプリケーション レコード• masterConnectUri: レプリケーション元として使用できるもう一方のサイトの MySQLインスタンスのリスト

• pipelineSource: 現在のレプリケーション元であるもう一方のサイトの MySQL インスタンス

HOL-HBD-1686_JA

Page 54HOL-HBD-1686_JA

Page 55: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

リモートリモート サイトのトポロジーの変更サイトのトポロジーの変更

では、リモート サイト (vca) に切り替えてトポロジーを変更してみましょう。マスター ロールをクラスタの別のノードに移動します。db1.vca.corp.local に接続している PuTTY セッションに切り替えることに注意してください。

1. mysql> プロンプトに 「exit」 と入力して <Enter> キーを押します。2. コマンド プロンプトに 「cctrl -multi」 と入力して <Enter> キーを押します。3. コマンド プロンプトに 「use vca」 と入力して <Enter> キーを押します (注: これにより、正しいサイトを使用していることを確認できます。エラーが表示される場合は、使用している PuTTY セッションが正しくない可能性があります)。

4. コマンド プロンプトに 「switch to db3.vca.corp.local」 と入力して <Enter> キーを押します。

表示される出力で、db3.vca.corp.local が新たにマスターになったこと、db1.vca.corp.local はクラスタのスレーブ ノードになったことを確認します。では、これがレプリケーションにどのように影響するのか見てみましょう。

リモートリモート サイトのレプリケーション構成を確認サイトのレプリケーション構成を確認

vca サイトのレプリケーション ステータスを調べて、前の手順でクラスタのトポロジーが変更されてもレプリケーションが引き続き正常に行われていることを確認します。次のコマンドでは大量の情報が表示されるため、前の手順と同様に PuTTY ウィンドウを最大化しておくことをお勧めします。

1. [LOGICAL] /vca > プロンプトに 「ls」 と入力して <Enter> キーを押します。2. 現在マスターになっているノード (db3.vca.corp.local) を見つけます。スクリーンショットのハイライト部分に注目してください。これらは重要なポイントです。まず、db3.vca.corp.local がマスター ノード (master) になっており、現在オンライン(ONLINE) であることがわかります。2 つ目のポイントは、progress=6 という項目です。これは、mm_trepctl status コマンドの appliedLastSeqno と相関関係にあります。

HOL-HBD-1686_JA

Page 55HOL-HBD-1686_JA

Page 56: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

この値が 2 つのサイトで一貫している必要があります。これについては次の手順で確認します。最後のポイントは、「Status [OK]」 というメッセージです。これは、クラスタとレプリケーションが正常に機能していることを示します。なお、この情報を確認するためには、必ずしもマスター ノードを調べる必要はありません。この情報はスレーブ ノードでも一貫しています。

HOL の性質上、progress と appliedLastSeqno の値が 6 にならない場合もあります。値は違っていてもかまいませんが、その値がクラスタ間で一貫している必要があります。たとえば、progress=8 と表示された場合は、次の手順で appliedLastSeqno も 8 になっている必要があります。

HOL-HBD-1686_JA

Page 56HOL-HBD-1686_JA

Page 57: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

更新されたレプリケーション更新されたレプリケーション トポロジーを確認トポロジーを確認

次に、ローカル サイト (vsphere) に戻って、リモート サイト (vca) でマスターが移行されてもレプリケーションが続行されていることを確認します。vsphere のレプリケーション トポロジーは、前の手順で行ったトポロジー変更に基づいて自動的に調整されています。

1. コマンド プロンプトに 「mm_trepctl status」 と入力して <Enter> キーを押します。

HOL-HBD-1686_JA

Page 57HOL-HBD-1686_JA

Page 58: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

2. appliedLastSeqno を調べて、前の手順の progress= の値と一致していることを確認します。

3. pipelineSource パラメータを確認します。

現在のレプリケーション元が db1.vca.corp.local であること、レプリケーションが最新の状態(最後にレプリケーションされたレコードの連番が 6) であることがわかります (先に説明したとおり、実際の値が違っている場合もありますが、その場合も、前の手順の progress= の値と同じになっている必要があります)。

HOL-HBD-1686_JA

Page 58HOL-HBD-1686_JA

Page 59: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

PuTTY の終了の終了

これで、モジュール 3 は終了です。PuTTY セッションを閉じて、次のレッスンへ進みましょう。

1. PuTTY ウィンドウの右上にある赤い X をクリックします。2. [OK] をクリックします。

このレッスンにご参加いただき、ありがとうございました。他のモジュールにもぜひご参加ください。

HOL-HBD-1686_JA

Page 59HOL-HBD-1686_JA

Page 60: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

モジュールモジュール 4: Continuent -ビッグデータビッグデータ (Hadoop) とと

の統合の統合 (15 分分)

HOL-HBD-1686_JA

Page 60HOL-HBD-1686_JA

Page 61: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

モジュールモジュール 4 に必要な環境の準備に必要な環境の準備

必要に応じて、実習ラボのどのモジュールからでも実行できるようにするため、一連のスクリプトが用意されています。各モジュールのはじめにスクリプトを実行して、実習ラボのトポロジーを準備してください。いつでも次のモジュールに進み、該当するモジュールのセットアップ スクリプトを実行できます。

このモジュールでは、「module4」 という名前のスクリプトを実行します。次ページの手順に従ってください。

PuTTY の起動の起動

1. デスクトップにある PuTTY アイコンをダブルクリックして開きます。PuTTY は SSH クライアントです。

2. 「db1.vsphere.corp.local」 というサーバ名をダブルクリックして、このサーバへの ssh セッションを開きます。

注: この実習ラボ環境のすべてのサーバと ControlCenter については、証明書認証が構成済みです。そのため、SSH セッションを開始する際、認証情報を入力しなくてもシステムにログインできます。

HOL-HBD-1686_JA

Page 61HOL-HBD-1686_JA

Page 62: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

モジュールモジュール 4 のセットアップのセットアップ スクリプトの実行スクリプトの実行

1. コマンド プロンプトに 「module4」 と入力して <Enter> キーを押します。2. スクリプトが完了するまでに 1 ~ 2 分かかります。スクリプトが完了してコマンド プロンプトに戻ったら、「source ~/.bash_profile」 と入力して <Enter> キーを押します。

最初の手順ではスクリプトの出力が表示されますが (Cleanup と Install)、2 つ目のコマンドでは出力は表示されません。エラーが発生することはまずありませんが、発生した場合はその旨を伝えてください。

HOL-HBD-1686_JA

Page 62HOL-HBD-1686_JA

Page 63: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

モジュールの概要モジュールの概要

Continuent では、RDBMS と分析エンジンをリアルタイムで統合できます。高性能な NoSQL エンジンやデータ分析エンジンへデータが迅速かつ効率的に複製されるので、ビッグデータの分析結果に基づいて、より的確に経営判断を下すことができます。

なお、Continuent でこの機能がサポートされているデータベースは MySQL と Oracle です。

このモジュールでは、Continuent で MySQL から Hadoop へのレプリケーションを行えることを確認します。

• サイト A で MySQL クラスタを、サイト B で Hadoop クラスタを、それぞれ 1 つ構成します。

• クライアントから MySQL クラスタへの書き込み操作を実行します。• クライアントから書き込んだデータが Hadoop の HDFS ファイル システムに表示されることを確認します。

次のページの図は、MySQL データベースから Hadoop へのデータの流れを示しています。

リレーショナルリレーショナル データベースからデータベースから Hadoop へのデータの流れへのデータの流れ

HOL-HBD-1686_JA

Page 63HOL-HBD-1686_JA

Page 64: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

Hadoop へのデータへのデータ レプリケーションを確認レプリケーションを確認

ここでは、MySQL データベースにいくつかのレコードを挿入して、それらが Hadoop にレプリケーションされることを確認します。

MySQL クラスタのトポロジーを確認クラスタのトポロジーを確認

1. MySQL への接続とクラスタのトポロジーを確認します。コマンド プロンプトに 「cctrl」 と入力して <Enter> キーを押します。

2. 「[LOGICAL] / >」 というプロンプトが表示されたら、「ls」 (小文字の L) と入力して<Enter> キーを押します。

HOL-HBD-1686_JA

Page 64HOL-HBD-1686_JA

Page 65: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

クラスタクラスタ ハートビートの生成ハートビートの生成

次に、クラスタ ハートビート イベントを生成します。cluster heartbeat コマンドを実行すると、ローカル クラスタからハートビート イベントが送信されて、すべてのレプリケータが動作していることが確認されます。連番の数字の増加によってクラスタが正常に動作していることがわかります。

1. クラスタ ハートビートを生成します。「[LOGICAL] /vsphere >」 というプロンプトに「cluster heartbeat」 と入力して、<Enter> キーを押します。

2. cluster heartbeat コマンドを繰り返し実行します。3. 「cctrl」 コマンドを終了します。「exit」 と入力して <Enter> キーを押します。

HOL-HBD-1686_JA

Page 65HOL-HBD-1686_JA

Page 66: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

MySQL データベースにデータを挿入データベースにデータを挿入

1. データベースにデータを挿入します。コマンド プロンプトに 「tungsten_create_load --threads=10」 と入力して <Enter> キーを押します。

10 秒ほど経ったら <Ctrl> + <C> キーを押します。ここで挿入するデータはこの程度で十分です。

2. データが挿入されたことを確認します。コマンド プロンプトに 「trepctl status」 と入力して<Enter> キーを押します。

3. appliedLastSeqno フィールドの値を確認します。この値は、データベースに挿入されたレコードの数を示します。実際の値はスクリーンショットとは異なります。手順 1 でスクリプトを実行した時間によって値が変わるためです。

HOL-HBD-1686_JA

Page 66HOL-HBD-1686_JA

Page 67: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

MySQL データベースのデータデータベースのデータ レコードを確認レコードを確認

次のコマンドを実行して、データベースのデータ レコードを確認します。

1. tpm db2. show schemas;3. use tungsten_create_load;4. show tables;5. select * from tungsten_create_load.values;

Hadoop サーバのデータサーバのデータ レコードを確認レコードを確認

次に、Hadoop を実行しているサーバにレコードがレプリケーションされたことを確認します。「hdfs」 というサーバにログインして、レプリケーションのステータスと HDFS を確認します。そのためには次のコマンドを実行します。

HOL-HBD-1686_JA

Page 67HOL-HBD-1686_JA

Page 68: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

1. ssh hdfs2. trepctl status

Hadoop ファイルファイル システムシステム (HDFS) のデータのデータ レコードを確認レコードを確認

最後に、Hadoop ファイル システム (HDFS) にレコードが挿入されて、分析操作を実行できるようになっていることを確認します。そのためには、「hadoop fs -ls /user/tungsten/staging/vsphere/tungsten_create_load/values」 というコマンドを実行します (スクリーンショットを参照)。

HOL-HBD-1686_JA

Page 68HOL-HBD-1686_JA

Page 69: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

Hive によるによる Hadoop でのデータでのデータ アクセスを確アクセスを確認認

Apache Hive は、分散ストレージに格納されている大規模なデータセットの照会および管理のためのデータ ウェアハウス ソフトウェア ツールです。そのデータを構造化して、HiveQL という SQLに似た言語で照会するためのメカニズムを提供します。この言語では、従来の map や reduce のプログラマが独自の mapper や reducer をプラグインとして使用することもできます。そのロジックを HiveQL で表現するのが難しい場合や効率的でない場合に便利です。

Continuent によってレプリケーションされたデータも、Hadoop の他のデータセットと同様にHive でアクセスできます。そのためには、以降のハイライトされているコマンドを実行します。

これらのコマンドは非常に長いため、ブラウザ ウィンドウの左上にある [SEND TEXT] ボタンを使用してこのマニュアルからコピーして貼り付けてください。README.txt ファイルからコピーして貼り付けることもできます。

Hive でデータベースでデータベース ビューを作成ビューを作成

スクリーンショットのように、「sudo hive -e "CREATE DATABASEvsphere_tungsten_create_load;」 というコマンドを入力します。

Hive でマテリアライズドでマテリアライズド ビューを作成ビューを作成

スクリーンショットのように、次のコマンドを入力します。

sudo /opt/continuent/software/continuent-tools-hadoop/bin/load-reduce-check --no-compare -m /opt/continuent/share/materialize.json -s tungsten_create_load -Ujdbc:mysql:thin://db1.vsphere.corp.local:13306/tungsten_create_load -utungsten -psecret -S vsphere

HOL-HBD-1686_JA

Page 69HOL-HBD-1686_JA

Page 70: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

Hive クエリによるデータの確認クエリによるデータの確認

スクリーンショットのように、次のコマンドを入力します。

1. sudo hive2. select * from vsphere_tungsten_create_load.stage_xxx_values;

これで、モジュール 4 とこのハンズオン ラボは終了です。ありがとうございました。

HOL-HBD-1686_JA

Page 70HOL-HBD-1686_JA

Page 71: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

まとめと詳細情報まとめと詳細情報

VMware Continuentを使用すると、リレーショナル データベースのデータが高性能な NoSQL エンジンやデータ分析エンジンへ複製されるので、ビッグデータの分析結果に基づいて、より的確に経営判断を下すことができます。また、ビジネス クリティカルなデータベース アプリケーションを実行している企業で、商用レベルの高可用性 (HA)、グローバルな冗長性を備えたディザスタリカバリ (DR)、およびパフォーマンスの拡張を低コストで実現できます。クラウドまたはプライベート データセンターにデータベース クラスタを容易に作成できるので、システム障害が発生してもデータの可用性が損なわれません。

詳しくは、http://www.vmware.com/products/continuent/をご覧ください。60 日間の無償評価版もご利用いただけます。 特定のニーズや環境についてのご相談は、[email protected]から専任の担当者にお問い合わせください。

HOL-HBD-1686_JA

Page 71HOL-HBD-1686_JA

Page 72: Table of Contents · イトのアクティブ / アクティブ クラスタ、およびビッグデータ (Hadoop) の統合です。 モジュール: モジュール 1:

ConclusionThank you for participating in the VMware Hands-on Labs. Be sure to visithttp://hol.vmware.com/ to continue your lab experience online.

Lab SKU: HOL-HBD-1686_JA

Version: 20151214-044435

HOL-HBD-1686_JA

Page 72HOL-HBD-1686_JA