28 Microsoft Azure Data Lakeへの接続
Microsoft Azure Data Lakeは、Hadoopクライアントを介したデータのストリーミングをサポートしています。このため、Oracle GoldenGate for Big DataのHadoop分散ファイル・システム(HDFS)ハンドラを使用するか、ファイル・ライター・ハンドラをHDFSイベント・ハンドラと組み合せて使用して、データ・ファイルをAzure Data Lakeに送信できます。
Microsoft Azure Data Lakeへの収集で推奨されるメカニズムは、HDFSイベント・ハンドラと組み合せたファイル・ライター・ハンドラです。
次のステップを使用して、Oracle GoldenGate for Big DataからMicrosoft Azure Data Lakeに接続します。
- http://hadoop.apache.org/releases.htmlからHadoop 2.9.1をダウンロードします。
- ファイルを一時ディレクトリで解凍します。たとえば、
/ggwork/hadoop/hadoop-2.9
です。 ディレクトリの
/ggwork/hadoop/hadoop-2.9/hadoop-env.sh
ファイルを編集します。- 環境変数
JAVA_HOME
およびHADOOP_CLASSPATH
のエントリを追加します。export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64 export HADOOP_CLASSPATH=/ggwork/hadoop/hadoop-2.9.1/share/hadoop/tools/lib/*:$HADOOP_CLASSPATH
これはJava 8を指し、
share/hadoop/tools/lib
がHadoopクラスパスに追加されます。デフォルトでは、ライブラリ・パスは変数にはなく、必要なAzureのライブラリはこのディレクトリにあります。 /ggwork/hadoop/hadoop-2.9.1/etc/hadoop/core-site.xml
ファイルを編集し、次を追加します。<configuration> <property> <name>fs.adl.oauth2.access.token.provider.type</name> <value>ClientCredential</value> </property> <property> <name>fs.adl.oauth2.refresh.url</name> <value>Insert the Azure https URL here to obtain the access token</value> </property> <property> <name>fs.adl.oauth2.client.id</name> <value>Insert the client id here</value> </property> <property> <name>fs.adl.oauth2.credential</name> <value>Insert the password here</value> </property> <property> <name>fs.defaultFS</name> <value>adl://Account Name.azuredatalakestore.net</value> </property> </configuration>
- ファイアウォールを開いて、トークンを取得するためのAzure URLとAzure Data Lake URLの両方に接続します。または、ネットワークまたはVPNから切断します。Azure Data Lakeへのアクセスでは、Apache Hadoopドキュメントごとのプロキシ・サーバーの使用は現在サポートされていません。
- Hadoopシェル・コマンドを使用して、Azure Data Lakeへの接続を証明します。たとえば、2.9.1 Hadoopインストール・ディレクトリで、次のコマンドを実行してルートHDFSディレクトリのリストを取得します。
./bin/hadoop fs -ls /
- Azure Data Lakeへの接続を確認します。
- HDFSイベント・ハンドラを使用してAzure Data Lakeにデータをプッシュするように、HDFSハンドラまたはファイル・ライター・ハンドラのいずれかを構成します。ファイル・ライター・ハンドラの使用を参照してください。ファイル・ライター・ハンドラをHDFSイベント・ハンドラとともに使用することをお薦めします。
gg.classpath
の設定の例を次に示します。gg.classpath=/ggwork/hadoop/hadoop-2.9.1/share/hadoop/common/:/ggwork/hadoop/hadoop- 2.9.1/share/hadoop/common/lib/:/ggwork/hadoop/hadoop- 2.9.1/share/hadoop/hdfs/:/ggwork/hadoop/hadoop-2.9.1/share/hadoop/hdfs/lib/:/ggwork/hadoop/hadoop- 2.9.1/etc/hadoop:/ggwork/hadoop/hadoop-2.9.1/share/hadoop/tools/lib/*
https://hadoop.apache.org/docs/current/hadoop-azure-datalake/index.htmlを参照してください。