Big Data Appliance (BDA)またはBig Data Cloud Service (BDCS)からの移行
Oracle Big Data ApplianceまたはBig Data Cloud Serviceからビッグ・データ・サービスへの移行方法の確認
OCIへの移行後も、Big Data ApplianceまたはBig Data Cloud Serviceクラスタを(停止状態で)少なくとも3か月間バックアップとして保持することをお薦めします。
WANdisco LiveData Migratorを使用したリソースの移行
宛先でポート8020が開いていることを確認します。
WANdisco LiveData Migratorの詳細は、ここをクリックしてください。
WANdisco LiveData Migratorを使用してリソースを移行するには、次のステップに従います。
BDRを使用したリソースの移行
Oracle Big Data Applianceクラスタをバックアップする前に、次のことを確認してください。
-
ビッグ・データ・アプライアンス・クラスタへの管理者アクセス権があります。
-
Cloudera Managerの管理者資格証明が必要です。
-
Oracle Object StorageにバックアップされるHDFSデータおよびHiveメタデータへのフル・アクセス権を持つHadoop管理者ユーザーが必要です。
-
-
HDFSデータがコピーされるOracle Cloud Infrastructureオブジェクト・ストアを設定します。詳細は、オブジェクト・ストレージの概要を参照してください。
-
次の詳細を使用してOracle Cloud Infrastructureテナンシを設定します
-
管理者はOracle Cloud Infrastructureでユーザーを作成し、そのユーザーを必要なグループに追加しました。
-
ユーザーには権限があり、Oracle Cloud Infrastructureコンソールにアクセスできます。
-
ユーザーには権限があり、バケットを作成できます。詳細は、共通ポリシーのオブジェクト・ストレージ管理者によるバケットおよびオブジェクトの管理を参照してください。
-
ユーザーは、Oracle Cloud Infrastructureオブジェクト・ストアの構成を検査できます。
-
BDAクラスタをバックアップするには、次のステップを実行します。
詳細は、クラスタの作成を参照してください。
Oracle Big Data ApplianceクラスタをOracle Big Data Serviceにリストアする前に、次のものが必要です。
-
Big Data Applianceクラスタのバックアップ。Oracle Object StorageへのBDAデータのバックアップを参照してください。
-
デプロイされたビッグ・データ・サービス・クラスタ。Oracle Cloud Infrastructureでのビッグ・データ・サービス・クラスタの作成を参照してください。
-
ビッグ・データ・アプライアンス・クラスタ・バックアップを含むOracle Object Storageバケットの読取り権限を持つ秘密キーへのアクセス。
-
ビッグ・データ・サービス・クラスタ上のCloudera Managerの管理者資格証明。
- データおよびメタデータをクラスタにリストアする権限を持つHDFSスーパーユーザーおよびHive管理者。
BDAバックアップのリストア
- ビッグ・データ・サービス・クラスタでCloudera Managerにログオンします。
https://your-utility-node-1:7183
にログオンします。your-utility-node
は、ユーティリティ・ノードのパブリックIPアドレスまたはプライベートIPアドレスです。高可用性が使用されている場合、これはクラスタの最初のユーティリティ・ノードです。高可用性を使用しない場合、これが唯一のユーティリティ・ノードです。- ユーザー名
admin
と、クラスタの作成時に指定したパスワードを入力します。
- Cloudera Managerにリストア用の外部アカウントを作成します。
アクセス・キーと秘密キーを使用して、Cloudera Managerに外部アカウントを作成します。クラスタがOracle Object Storageのデータにアクセスできるように外部アカウントを設定します。
外部アカウントを作成するには、次のステップを実行します。- Oracle Big Data ServiceクラスタでCloudera Managerにログオンします。
- 「管理」に移動し、「外部アカウント」をクリックします。
- 「AWS資格証明」タブで、「アクセス・キー資格証明の追加」をクリックし、次を指定します:
-
名前: 資格証明の名前を指定します。たとえば、
oracle-credential
です。 -
AWSアクセス・キーID: アクセス・キーの名前を指定します。たとえば、
myaccesskey
です。 -
AWS秘密キー: 顧客秘密キーの作成時に以前に生成された秘密キーの値を入力します。
-
- 「追加」をクリックします。S3Guardの編集ページが表示されます。「S3Guardの有効化」は選択しないでください。
- 「保存」をクリックします。
- 表示されるページで、S3へのクラスタ・アクセスを有効にします。
- クラスタ名に「Enable」を選択します。
- 「よりセキュアな資格証明ポリシー」を選択し、「続行」をクリックします。
- 「依存サービスの再起動」ページで、「今すぐ再起動」を選択し、「続行」をクリックします。再起動の詳細が表示されます。クラスタの再起動には数分かかる場合があります。
- 再起動後、「続行」をクリックし、「終了」をクリックします。
- s3aエンドポイントを更新します。ノート
core-site.xmlファイルをすでに更新している場合は、このステップをスキップします。エンドポイントURIを使用すると、Hadoopクラスタはソース・データを含むオブジェクト・ストアに接続できます。Cloudera ManagerでこのURIを指定します。
エンドポイントを更新するには、次のステップを実行します。
- Oracle Big Data ServiceクラスタでCloudera Managerにログオンします。
- 左側のサービスのリストから、S3「コネクタ」をクリックします。
- 「構成」タブをクリックします。
- デフォルトのS3エンドポイント・プロパティを次のように更新します。
https://your-tenancy.compat.objectstorage.your-region.oraclecloud.com
例、 https://oraclebigdatadb.compat.objectstorage.us-phoenix-1.oraclecloud.com
- 変更を保存します。
- クラスタを更新します。
- クラスタに移動し、「アクション」をクリックして、「クライアント構成のデプロイ」を選択し、アクションを確認します。
- 完了後、「Close」をクリックします。
- クラスタを再起動します(「アクション」をクリックし、「再起動」をクリックします)。
- リストアのHDFSレプリケーション・スケジュールを作成します。
Oracle Object StorageにバックアップされたHDFSデータをリストアします。HDFSデータをHDFSファイル・システムのルート・ディレクトリにリストアして、ソースをミラー化します。
HiveにHDFSで取得され、Hiveで管理されない外部データがある場合は、Hiveレプリケーション・スケジュールを作成する前に、HDFSレプリケーション・スケジュールを作成します。
HDFSレプリケーション・スケジュールを作成するには:
- Oracle Big Data ServiceクラスタでCloudera Managerにログインします。
- HDFSレプリケーション・スケジュールを作成します。
- 「バックアップ」に移動し、「レプリケーションスケジュール」をクリックします。
- 「スケジュールの作成」をクリックし、「HDFSレプリケーション」を選択します。
- レプリケーション・スケジュールの詳細を指定します:
-
名前: 名前を入力します。たとえば、
hdfs-rep1
です。 -
ソース: 前に定義した資格証明を選択します。たとえば、
oracle-credential
です。 -
ソース・パス: データをバックアップしたルートの場所を指定します。たとえば、
s3a://BDA-BACKUP/
です。 -
宛先: HDFS (クラスタ名)を選択します。
-
宛先パス:
/
と入力します -
スケジュール: 「Immediate(即時)」を選択します。
-
ユーザー名として実行: リストアされるデータおよびメタデータへのアクセス権を持つユーザーを指定します。これは通常、HadoopスーパーユーザーおよびSentry管理者です。ノート
必要なデータおよびメタデータへのアクセス権を持つユーザーがない場合は、作成する必要があります。このステップでは、hdfs
スーパーユーザーを使用しないでください。ノート
: Hadoop暗号化を使用する場合は、適切なキーを使用して宛先ディレクトリが作成されていることを確認し、コマンドが暗号化アクセス権を持つユーザーとして実行されます。
-
- 「スケジュールの保存」をクリックします。レプリケーションのスケジュール・ページでレプリケーションを監視できます。
- リストアのHiveレプリケーション・スケジュールを作成します。
HiveデータおよびメタデータをOracle Object StorageからHadoopクラスタにリストアするには、Cloudera ManagerでHiveレプリケーション・スケジュールを作成します。
Hiveレプリケーション・スケジュールを作成するには、次のステップに従います。
- Oracle Big Data ServiceクラスタでCloudera Managerにログオンします。
- レプリケーション・スケジュールを作成します。
- 「バックアップ」に移動し、「レプリケーションスケジュール」をクリックします。
- 「スケジュールの作成」をクリックし、「Hiveレプリケーション」を選択します。
- Hiveレプリケーション・スケジュールの詳細を指定します:
-
名前: 名前を入力します。たとえば、
hive-rep1
です。 -
ソース: 前に定義した資格証明を指定します。たとえば、
oracle-credential
です。 -
宛先: Hive (クラスタ名)を選択します。
-
クラウド・ルート・パス: データをバックアップしたルートの場所を選択します。たとえば、
s3a://BDA-BACKUP/
です。 -
HDFS宛先パス:
/
と入力します -
データベース: 「すべてレプリケート」を選択します。
-
レプリケーション・オプション: 「メタデータとデータ」を選択します。
-
スケジュール: 「Immediate(即時)」を選択します。
-
ユーザー名として実行: リストアされるデータおよびメタデータへのアクセス権を持つユーザーを指定します。これは通常、HadoopおよびHiveのスーパーユーザーおよびSentry管理者です。ノート
必要なデータおよびメタデータへのアクセス権を持つユーザーがない場合は、作成する必要があります。このステップでは、hdfs
スーパーユーザーを使用しないでください。
-
- 「スケジュールの保存」をクリックします。レプリケーションのスケジュール・ページでレプリケーションを監視できます。
Spark
スパーク・ジョブを確認し、新しいクラスタの詳細に基づいて更新します。
Yarn
- ソース・クラスタから、Cloudera Managerをコピーします。(YARNに移動し、「構成」をクリックして、ターゲット・クラスタの同じ位置への「Fair Scheduler Allocations (Deployed)」コンテンツをクリックします。)
- コピーできない場合は、キューを手動で作成します。(Cloudera Managerで、「Clusters」に移動し、「Dynamic Resource Pool Configuration」を選択します。)
Sentry
- BDR、WandiscoまたはHadoop Distcpを使用して、HDFSデータおよびHiveメタデータを移行します。
- ソースのSentryデータベースから送信データをエクスポートし、宛先のsentryデータベースで復元するには、Sentryメタ移行ツールが必要です。Sentryメタ移行ツールについては、Oracle Support for MOSノートのドキュメントID 2879665.1を参照してください。
Rcloneツールを使用したデータの移行
ファイルをコピーしてOCI Object StorageおよびHadoop分散ファイル・システムに同期するようにRcloneを設定および構成するには、Rcloneを使用したOracle CloudへのデータのコピーによるOracle Analytics Cloudでのインサイトの構築を参照してください
Distcpツールを使用したリソースの移行
データおよびメタデータをBDAから移行し、Distcpツールを使用してビッグ・データ・サービスにインポートすることもできます。Distcpは、クラスタ内およびクラスタ間の分散ファイル・システム間で大規模なデータ・セットをコピーするために使用できるオープン・ソース・ツールです。
エクスポート用にBDAまたはBDCSクラスタを準備するには、次のステップに従います。
HDFSからデータをエクスポートするには、次のステップを実行します。
distcpを使用してHDFSデータを増分的に移行し、一定期間後にソースからターゲットにデータを送信し、ソース・データに追加、更新または削除します。
- ソース・クラスタとターゲット・クラスタのスナップショット名が同じであることを確認してください。
- ターゲット・クラスタ内のHDFSデータを削除または変更しないでください。これによって、次の項で説明するエラーが発生する可能性があります。
Hiveメタデータをエクスポートするには、次のステップを実行します。
次に、エクスポートされたデータとメタデータをビッグ・データ・サービスにインポートします。
- ソース・クラスタと同じBDAまたはBDCS Hadoopバージョン(Hadoop 2.7.x)のビッグ・データ・サービスで新しいターゲット環境を設定します。ノート
:-
- ソースBDAまたはBDCSクラスタと同じサイズのOCIでビッグ・データ・サービス・クラスタを定義します。ただし、ターゲット・クラスタのサイズを決定する前に、コンピューティングおよびストレージのニーズを確認する必要があります。
- Oracle Cloud Infrastructure VMシェイプについては、コンピュート・シェイプを参照してください。BDAまたはBDCSでは、すべてのシェイプがサポートされていません。
- BDAまたはBDCSスタック以外のソフトウェアがブートストラップ・スクリプトまたはその他の方法を使用してソース・システムにインストールされている場合は、そのソフトウェアもターゲット・システムにインストールおよび保守する必要があります。
-
- PEM秘密キー(
oci_api_key.pem
)ファイルをビッグ・データ・サービス・クラスタのすべてのノードにコピーし、適切な権限を設定します。 - ソースBDAまたはBDCSクラスタからアーティファクトをエクスポートします。
HDFSにデータをインポートするには、これらのステップに従います:
メタデータ・ファイルをインポートし、権限を実行します。
- メタデータ・ファイルをオブジェクト・ストアからHDFSの
/metadata
にインポートします。hadoop distcp -libjars ${LIBJARS} \ -Dfs.client.socket-timeout=3000000 -Dfs.oci.client.auth.fingerprint=<fingerprint> \ -Dfs.oci.client.auth.pemfilepath=<oci_pem_key> \ -Dfs.oci.client.auth.passphrase=<passphrase> \ -Dfs.oci.client.auth.tenantId=<OCID for Tenancy> \ -Dfs.oci.client.auth.userId=<OCID for User> \ -Dfs.oci.client.hostname=<HostName. Example: https://objectstorage.us-phoenix-1.oraclecloud.com/> \ -Dfs.oci.client.multipart.allowed=true \ -Dfs.oci.client.proxy.uri=<http://proxy-host>:port \ -Dmapreduce.map.java.opts="$DISTCP_PROXY_OPTS" \ -Dmapreduce.reduce.java.opts="$DISTCP_PROXY_OPTS" \ -Dmapreduce.task.timeout=6000000 \ -skipcrccheck -m 40 -bandwidth 500 \ -update -strategy dynamic -i oci://<bucket>@<tenancy>/metadata/ /metadata
- ファイルをローカル・ディレクトリに移動します。
hdfs dfs -get /metadata/Metadata*
- バックグラウンドまたは複数の端末でファイルをパラレルに実行します。
bash Metadataaa & bash Metadataab & bash Metadataac &...
メタデータをインポートするには、次のステップを実行します。
次を実行します:
移行の検証
- ターゲット・クラスタに、ソース・クラスタと同じハイブ表のセットが表示されることを確認します。
- hiveシェルに接続します。
hive
- 次のコマンドを実行して、表をリストします:
show tables;
- hiveシェルに接続します。