メタデータアクセラレーターはTencent Cloud COS(Cloud Object Storage)サービス向けにハイパフォーマンスなファイルシステム機能をご提供します。メタデータアクセラレーターの基盤にはCloud HDFSの優れたメタデータ管理機能を採用し、ユーザーがファイルシステムのセマンティクスによってCOSサービスにアクセスできるようサポートします。システム設計指標は100GBの帯域幅、10万レベルのQPSおよびミリ秒レベルの遅延を実現可能です。バケットでメタデータアクセラレーターを有効にすることで、ビッグデータ、ハイパフォーマンスコンピューティング、機械学習、AIなどのシーンに幅広く応用できます。メタデータアクセラレーターの詳細な説明に関しては、メタデータアクセラレーターをご参照ください。
これまでのCOSをベースにしたビッグデータアクセスには主にHadoop-COSツールが使用されてきました。Hadoop-COSツールの内部ではHCFSインターフェースをCOSのRestfulインターフェースに適用することで、COS上のデータへのアクセスを可能にしています。COSとファイルシステムではメタデータの構成方法に違いがあるため、メタデータの操作性能にも差異があり、ビッグデータの分析性能に影響しています。メタデータアクセラレーターを有効にしたBucketは、HCFSプロトコルとの間に完全な互換性を有し、ネイティブのHDFSインターフェースを使用して直接アクセスできます。HDFSプロトコルをオブジェクトのプロトコルに変換するコストが不要なだけでなく、高効率なディレクトリのアトミックRename、ファイルのAtime、Mtime更新、高効率なディレクトリのDU統計、Posix ACL権限サポートなどの、ネイティブHDFSのいくつかの機能もご提供可能です。
メタデータアクセラレーションを有効にしたいバケットを初めて作成した場合は、表示に従って対応する権限承認操作を行う必要があります。クリックして権限承認を完了すると、HDFSプロトコルが自動的に有効化され、デフォルトのバケットマウントポイント情報を見ることができるようになります。
説明:対応するHDFSファイルシステムが見つからないと表示される場合は、チケットを提出をクリックしてお問い合わせいただければ、サポートを受けることができます。
説明:HDFSの権限設定とネイティブのCOS権限システムとの間には違いがあります。HDFSプロトコルを使用してアクセスする際は、ネイティブHDFSと同じ権限を取得するのに便利なため、HDFS権限設定によってVPC内のマシンを指定してCOSバケットにアクセスすることをお勧めします。
依存項目 | chdfs-hadoop-plugin | COSN(hadoop-cos) | cos_api-bundle |
---|---|---|---|
必要なバージョン | ≥ バージョン2.7 | ≥ バージョン8.1.5 | COSNのバージョンに対応します。COSN github releasesをご確認ください |
オープンソースダウンロードアドレス | Githubアドレス | Githubアドレス | Githubアドレス |
Tencent Cloud EMR環境 COSがすでにシームレスに統合されているため、次の手順を行うだけで完了します。
find / -name "chdfs*"
find / -name "temrfs_hadoop*"
検索結果の2つのjarパッケージのバージョンが上記の環境依存の要件に適合していることを確認します。
chdfs-hadoop-pluginバージョンのパッケージを更新する必要がある場合は、次の手順を実行し、更新します。
jarパッケージのスクリプトファイルをダウンロードして更新します。ダウンロードアドレスは次のとおりです。
2つのスクリプトをサーバーの/rootディレクトリ下に置き、update_cos_jar.shに実行権限を追加し、次のコマンドを実行します。
sh update_cos_jar.sh https://hadoop-jar-beijing-1259378398.cos.ap-beijing.myqcloud.com/hadoop_plugin_network/2.7
パラメータを対応するリージョンのバケットのものに置き換えます。例えば広州リージョンの場合は、https://hadoop-jar-guangzhou-1259378398.cos.ap-guangzhou.myqcloud.com/hadoop_plugin_network/2.7
に置き換えます。
各EMRノード上で上記の手順を実行します。これを、マシン上のjarパッケージの置き換えがすべて完了するまで行います。
fs.cosn.bucket.region
、fs.cosn.trsf.fs.ofs.bucket.region
を追加します。このパラメータは、ap-shanghai
のようなバケットの所在COSリージョンを指定するために用いられます。
注意:
fs.cosn.bucket.region
とfs.cosn.trsf.fs.ofs.bucket.region
は必ず設定する必要があります。このパラメータは、ap-shanghai
のようなバケットの所在COSリージョンを指定するために用いられます。
自作環境では、環境依存の中の、バージョン要件に適合する3つのjarパッケージをダウンロードする必要があります。
ダウンロード後、上記の3つのインストールパッケージをHadoopクラスターの各サーバーのclasspath
パスに正しく配置します。例えば、 /usr/local/service/hadoop/share/hadoop/common/lib/
となります(実際の状況に応じて配置してください。コンポーネントによって配置位置が異なる可能性があります)。
hadoop-env.shファイルを変更します。$HADOOP_HOME/etc/hadoop
ディレクトリに移動し、hadoop-env.shファイルを編集して、以下の内容を追加し、cosn関連のjarパッケージをHadoop環境変数に追加します。
for f in $HADOOP_HOME/share/hadoop/tools/lib/*.jar; do
if [ "$HADOOP_CLASSPATH" ]; then
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$f
else
export HADOOP_CLASSPATH=$f
fi
done
コンピューティングクラスターにcore-site.xml
を設定し、次の設定を追加します。
<!--cosnの実装クラス-->
<property>
<name>fs.cosn.impl</name>
<value>org.apache.hadoop.fs.CosFileSystem</value>
</property>
<!--ユーザーバケットのリージョン情報です。形式はap-guangzhou-->のようになります
<property>
<name>fs.cosn.bucket.region</name>
<value>ap-guangzhou</value>
</property>
<!--ユーザーバケットのリージョン情報です。形式はap-guangzhou-->のようになります
<property>
<name>fs.cosn.trsf.fs.ofs.bucket.region</name>
<value>ap-guangzhou</value>
</property>
<!--SecretIdおよびSecretKeyの取得方法の設定-->
<property>
<name>fs.cosn.credentials.provider</name>
<value>org.apache.hadoop.fs.auth.SimpleCredentialProvider</value>
</property>
<!--アカウントのAPIキー情報です。[CAMコンソール](https://console.tencentcloud.com/capi)にログインすると、Tencent Cloud APIキーを確認することができます。-->
<property>
<name>fs.cosn.userinfo.secretId</name>
<value>XXXXXXXXXXXXXXXXXXXXXXXX</value>
</property>
<!--アカウントのAPIキー情報です。[CAMコンソール](https://console.tencentcloud.com/capi)にログインすると、Tencent Cloud APIキーを確認することができます。-->
<property>
<name>fs.cosn.userinfo.secretKey</name>
<value>XXXXXXXXXXXXXXXXXXXXXXXX</value>
</property>
<!--アカウントのappidの設定-->
<property>
<name>fs.cosn.trsf.fs.ofs.user.appid</name>
<value>125XXXXXX</value>
</property>
<!--プロセス実行中に生成される一時ファイル保存用のローカル一時ディレクトリ-->
<property>
<name>fs.cosn.trsf.fs.ofs.tmp.cache.dir</name>
<value>/tmp</value>
</property>
環境設定がすべて完了した後、次の操作によって検証を行うことができます。
HDFSプロトコルは、デフォルトではネイティブPOSIX ACL方式を採用して認証を行います。Ranger認証を使用したい場合は、次のフローを参照して設定を行うことができます。
ビッグデータのシーンでは、次の手順を参照して、メタデータアクセラレーション機能を有効にしたバケットにHDFSプロトコルを使用してアクセスすることができます。
core-stie.xml
でHDFSプロトコルに関連するマウントポイントの情報を設定します。POSIX ACL
方式を採用して認証を行います。Ranger認証
を使用したい場合は、 COS Ranger権限システムソリューションをご参照ください。
この記事はお役に立ちましたか?