tencent cloud

Cloud Object Storage

最新情報とお知らせ
製品アップデート情報
製品のお知らせ
製品概要
製品概要
機能概要
応用シナリオ
製品の優位性
基本概念
リージョンとアクセスドメイン名
仕様と制限
製品の課金
課金概要
課金方式
課金項目
無料利用枠
記帳例
請求書の確認とダウンロード
お支払い遅れについて
よくある質問
クイックスタート
コンソールクイックスタート
COSBrowserクイックスタート
ユーザーガイド
リクエストの作成
バケット
オブジェクト
データ管理
バッチ処理
グローバルアクセラレーション
監視とアラーム
運用管理センター
データ処理
インテリジェントツールボックス使用ガイド
データワークフロー
アプリ統合
ツールガイド
ツール概要
環境のインストールと設定
COSBrowserツール
COSCLIツール
COSCMDツール
COS Migrationツール
FTP Serverツール
Hadoopツール
COSDistCpツール
HDFS TO COSツール
オンラインツール (Onrain Tsūru)
セルフ診断ツール
実践チュートリアル
概要
アクセス制御と権限管理
パフォーマンスの最適化
AWS S3 SDKを使用したCOSアクセス
データディザスタリカバリバックアップ
ドメイン名管理の実践
画像処理の実践
COSオーディオビデオプレーヤーの実践
データセキュリティ
データ検証
COSコスト最適化ソリューション
サードパーティアプリケーションでのCOSの使用
移行ガイド
サードパーティクラウドストレージのデータをCOSへ移行
データレークストレージ
クラウドネイティブデータレイク
メタデータアクセラレーション
データアクセラレーター GooseFS
データ処理
データ処理概要
画像処理
メディア処理
コンテンツ審査
ファイル処理
ドキュメントプレビュー
トラブルシューティング
RequestId取得の操作ガイド
パブリックネットワーク経由でのCOSへのファイルアップロード速度の遅さ
COSへのアクセス時に403エラーコードが返される
リソースアクセス異常
POST Objectの一般的な異常
セキュリティとコンプライアンス
データ災害復帰
データセキュリティ
クラウドアクセスマネジメント
よくある質問
よくあるご質問
一般的な問題
従量課金に関するご質問
ドメインコンプライアンスに関するご質問
バケット設定に関する質問
ドメイン名とCDNに関するご質問
ファイル操作に関するご質問
権限管理に関するご質問
データ処理に関するご質問
データセキュリティに関するご質問
署名付きURLに関するご質問
SDKクラスに関するご質問
ツール類に関するご質問
APIクラスに関するご質問
Agreements
Service Level Agreement
プライバシーポリシー
データ処理とセキュリティ契約
連絡先
用語集

クイックスタート

PDF
フォーカスモード
フォントサイズ
最終更新日: 2024-06-30 12:13:52
ここでは主に、GooseFSのスピーディーなデプロイ、デバッグに関するガイドをご提供します。ローカルマシン上にGooseFSをデプロイし、Cloud Object Storage(COS)をリモートストレージとして使用する手順のガイドをご提供します。具体的な手順は次のとおりです。

前提条件

GooseFSを使用する前には、次の準備作業が必要です。
1. COSサービスでバケットを1つ作成してリモートストレージとします。操作ガイドについては、コンソールクイックスタートをご参照ください。
2. Java 8またはそれより上のバージョンをインストールします。
3. SSHをインストールします。SSHによってLocalHostに接続し、リモートログインを行えることを確認します。
4. CVMサービスでインスタンスを1台購入します。操作ガイドについては、CVMの購入をご参照ください。ディスクがすでにインスタンスにマウントされていることを確認します。

GooseFSのダウンロードと設定

1. ローカルディレクトリを新規作成し、そのディレクトリ下に進み(必要に応じて他のディレクトリも選択できます)、公式リポジトリからGooseFSインストールパッケージをローカルにダウンロードします。インストールパッケージのGithubアドレスはgoosefs-1.4.1-bin.tar.gzです。
$ cd /usr/local
$ mkdir /service
$ cd /service
$ wget https://downloads.tencentgoosefs.cn/goosefs/1.4.1/release/goosefs-1.4.1-bin.tar.gz
2. 次のコマンドを実行して、インストールパッケージを解凍し、解凍後にインストールパッケージディレクトリに入ります。
$ tar -zxvf goosefs-1.4.1-bin.tar.gz
$ cd goosefs-1.4.1

解凍すると、goosefs-1.4.1、すなわちGooseFSのホームディレクトリが得られます。以下では${GOOSEFS_HOME}がこのディレクトリの絶対パスを表します。 3. ${GOOSEFS_HOME}/confのディレクトリ下にconf/goosefs-site.propertiesの設定ファイルを作成します。GooseFSはAIとビッグデータという2つのシナリオ向けの設定テンプレートを提供しており、上記のうち任意の内蔵テンプレートを使用できます。その後編集モードに進み、設定を変更します。 (1)AIシナリオテンプレートの使用に関するその他の情報については、GooseFS AIシナリオ本番環境設定の実践をご参照ください。
$ cp conf/goosefs-site.properties.ai_template conf/goosefs-site.properties
$ vim conf/goosefs-site.properties
(2)ビッグデータシナリオテンプレートの使用に関するその他の情報については、GooseFSビッグデータシナリオ本番環境設定の実践をご参照ください。
$ cp conf/goosefs-site.properties.bigdata_template conf/goosefs-site.properties
$ vim conf/goosefs-site.properties
3. 設定ファイルgoosefs-site.properties内で次の設定項目を調整します。
# Common properties
# Masterノードhost情報の調整
goosefs.master.hostname=localhost
goosefs.master.mount.table.root.ufs=${goosefs.work.dir}/underFSStorage

# Security properties
# 権限設定の調整
goosefs.security.authorization.permission.enabled=true
goosefs.security.authentication.type=SIMPLE

# Worker properties
# workerノード設定の調整、ローカルキャッシュメディア、キャッシュパスおよびキャッシュ容量サイズの指定
goosefs.worker.ramdisk.size=1GB
goosefs.worker.tieredstore.levels=1
goosefs.worker.tieredstore.level0.alias=SSD
goosefs.worker.tieredstore.level0.dirs.path=/data
goosefs.worker.tieredstore.level0.dirs.quota=80G


# User properties
# ファイル読み取り書き込みキャッシュポリシーの指定
goosefs.user.file.readtype.default=CACHE
goosefs.user.file.writetype.default=MUST_CACHE
注意:
パスgoosefs.worker.tieredstore.level0.dirs.pathのパラメータを設定する前に、このパスを新規作成する必要があります。

GooseFSの有効化

1. GooseFSを有効化する前に、GooseFSディレクトリ下で次の起動コマンドを実行する必要があります。
$ cd /usr/local/service/goosefs-1.4.1
$ ./bin/goosefs-start.sh all
これらのコマンドを実行すると、次のようなページが表示されます。
image

このコマンドの実行が完了すると、http://localhost:9201およびhttp://localhost:9204にアクセスして、MasterとWorkerの実行状態をそれぞれ確認できるようになります。

GooseFSを使用してCOS(COSN)またはTencent Cloud HDFS(CHDFS)をマウント

GooseFSでCOS(COSN)またはTencent Cloud HDFS(CHDFS)をGooseFSのルートパス上にマウントしたい場合は、先にconf/core-site.xml設定の中でCOSNまたはCHDFSの必須設定項目を指定する必要があります。これには次に示すように、fs.cosn.implfs.AbstractFileSystem.cosn.impl、およびfs.cosn.userinfo.secretIdfs.cosn.userinfo.secretKeyなどが含まれますが、これらに限定されません。

<!-- COSN related configurations -->
<property>
<name>fs.cosn.impl</name>
<value>org.apache.hadoop.fs.CosFileSystem</value>
</property>


<property>
<name>fs.AbstractFileSystem.cosn.impl</name>
<value>com.qcloud.cos.goosefs.CosN</value>
</property>


<property>
<name>fs.cosn.userinfo.secretId</name>
<value></value>
</property>


<property>
<name>fs.cosn.userinfo.secretKey</name>
<value></value>
</property>


<property>
<name>fs.cosn.bucket.region</name>
<value></value>
</property>


<!-- CHDFS related configurations -->
<property>
<name>fs.AbstractFileSystem.ofs.impl</name>
<value>com.qcloud.chdfs.fs.CHDFSDelegateFSAdapter</value>
</property>


<property>
<name>fs.ofs.impl</name>
<value>com.qcloud.chdfs.fs.CHDFSHadoopFileSystemAdapter</value>
</property>


<property>
<name>fs.ofs.tmp.cache.dir</name>
<value>/data/chdfs_tmp_cache</value>
</property>


<!--appId-->
<property>
<name>fs.ofs.user.appid</name>
<value>1250000000</value>
</property>

説明:
COSNの完全な設定については、Hadoopツールをご参照ください。
CHDFSの完全な設定については、CHDFSのマウントをご参照ください。
次に、Namespaceを作成してCOSまたはCHDFSをマウントする方法および手順についてご説明します。
1. ネームスペース(namespace)を作成してCOSをマウントします。
$ goosefs ns create myNamespace cosn://bucketName-1250000000/ \\
--secret fs.cosn.userinfo.secretId=AKXXXXXXXXXXX \\
--secret fs.cosn.userinfo.secretKey=XXXXXXXXXXXX \\
--attribute fs.cosn.bucket.region=ap-xxx \\
注意:
COSNをマウントするnamespaceを作成する際は、必ず–-secretパラメータを使用してアクセスキーを指定し、なおかつ--attributeを使用してHadoop-COS(COSN)のすべての入力必須パラメータを指定しなければなりません。具体的な入力必須パラメータについては、Hadoopツールをご参照ください。
Namespaceを作成する際、読み取り書き込みポリシー(rPolicy/wPolicy)を指定しない場合は、デフォルトで設定ファイル内の指定のread/write typeを使用するか、またはデフォルト値(CACHE/CACHE_THROUGH)を使用します。
Tencent Cloud HDFSのマウントに用いるnamespaceも同様に作成できます。
goosefs ns create MyNamespaceCHDFS ofs://xxxxx-xxxx.chdfs.ap-guangzhou.myqcloud.com/ \\
--attribute fs.ofs.user.appid=1250000000
--attribute fs.ofs.tmp.cache.dir=/tmp/chdfs
2. 作成に成功すると、クラスター内に作成したすべてのnamespaceをlsコマンドによってリストアップすることができます。
$ goosefs ns ls
namespace mountPoint ufsPath creationTime wPolicy rPolicy TTL ttlAction
myNamespace /myNamespace cosn://bucketName-125xxxxxx/3TB 03-11-2021 11:43:06:239 CACHE_THROUGH CACHE -1 DELETE
myNamespaceCHDFS /myNamespaceCHDFS ofs://xxxxx-xxxx.chdfs.ap-guangzhou.myqcloud.com/3TB 03-11-2021 11:45:12:336 CACHE_THROUGH CACHE -1 DELETE
3. 次のコマンドを実行し、namespaceの詳細情報を指定します。
$ goosefs ns stat myNamespace

NamespaceStatus{name=myNamespace, path=/myNamespace, ttlTime=-1, ttlAction=DELETE, ufsPath=cosn://bucketName-125xxxxxx/3TB, creationTimeMs=1615434186076, lastModificationTimeMs=1615436308143, lastAccessTimeMs=1615436308143, persistenceState=PERSISTED, mountPoint=true, mountId=4948824396519771065, acl=user::rwx,group::rwx,other::rwx, defaultAcl=, owner=user1, group=user1, mode=511, writePolicy=CACHE_THROUGH, readPolicy=CACHE}
メタデータ内に記録する情報には次のものが含まれます。
番号
パラメータ
説明
1
name
namespaceの名前
2
path
namespaceのGooseFSにおけるパス
3
ttlTime
namespace下のディレクトリおよびファイルのttl期間
4
ttlAction
namespace下のディレクトリおよびファイルのttl処理動作。FREEとDELETEの2つの処理動作があり、デフォルトではFREE
5
ufsPath
namespaceのufs上でのマウントパス
6
creationTimeMs
namespaceの作成時間。単位はミリ秒
7
lastModificationTimeMs
namespace下のディレクトリおよびファイルの最終変更時刻。単位はミリ秒
8
persistenceState
namespaceの永続化の状態
9
mountPoint
namespaceがマウントポイントかどうか。常にtrue
10
mountId
namespaceのマウントポイントID
11
acl
namespaceのアクセス制御リスト
12
defaultAcl
namespaceのデフォルトのアクセス制御リスト
13
owner
namespaceのowner
14
group
namespaceのownerが所属するgroup
15
mode
namespaceのPOSIX権限
16
writePolicy
namespaceの書き込みポリシー
17
readPolicy
namespaceの読み取りポリシー

GooseFSを使用してTable内のデータをプリフェッチ

1. GooseFSはHive Table内のデータのGooseFSへのプリフェッチをサポートしています。プリフェッチの前に関連のDBをGooseFSにバインドしておく必要があります。関連のコマンドは次のとおりです。
$ goosefs table attachdb --db test_db hive thrift://
172.16.16.22:7004 test_for_demo
注意:
コマンド内のthriftには実際のHive Metastoreのアドレスを入力する必要があります。
2. DBの追加が完了すると、現在バインドしているDBとTableの情報をlsコマンドによって確認できるようになります。
$ goosefs table ls test_db web_page

OWNER: hadoop
DBNAME.TABLENAME: testdb.web_page (
wp_web_page_sk bigint,
wp_web_page_id string,
wp_rec_start_date string,
wp_rec_end_date string,
wp_creation_date_sk bigint,
wp_access_date_sk bigint,
wp_autogen_flag string,
wp_customer_sk bigint,
wp_url string,
wp_type string,
wp_char_count int,
wp_link_count int,
wp_image_count int,
wp_max_ad_count int,
)
PARTITIONED BY (
)
LOCATION (
gfs://172.16.16.22:9200/myNamespace/3000/web_page
)
PARTITION LIST (
{
partitionName: web_page
location: gfs://172.16.16.22:9200/myNamespace/3000/web_page
}
)
3. loadコマンドによってTable内のデータをプリフェッチします。
$ goosefs table load test_db web_page
Asynchronous job submitted successfully, jobId: 1615966078836
Table内のデータのプリフェッチは非同期タスクのため、タスクIDが返されます。goosefs job stat <Job Id>コマンドによってプリフェッチ作業の実行進捗状況を確認できます。ステータスが"COMPLETED"になると、プリフェッチのプロセス全体が完了しています。

GooseFSを使用したファイルのアップロードおよびダウンロード操作

1. GooseFSはほとんどのファイルシステムの操作コマンドをサポートしています。現在サポートしているコマンドのリストは次のコマンドによって照会できます。
$ goosefs fs
2. lsコマンドによってGooseFS内のファイルをリストアップすることができます。ルートディレクトリ下のすべてのファイルをリストアップする方法について、以下の例で示します。
$ goosefs fs ls /
3. copyFromLocalコマンドによって、データをローカルからGooseFSにコピーできます。
$ goosefs fs copyFromLocal LICENSE /LICENSE
Copied LICENSE to /LICENSE
$ goosefs fs ls /LICENSE
-rw-r--r-- hadoop supergroup 20798 NOT_PERSISTED 03-26-2021 16:49:37:215 0% /LICENSE
4. catコマンドによってファイルの内容を確認できます。
$ goosefs fs cat /LICENSE
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
...
5. GooseFSはデフォルトでローカルディスクを基盤ファイルシステムとして使用します。デフォルトのファイルシステムパスは./underFSStorageであり、persistコマンドによってファイルをローカルファイルシステムに永続的に保存することができます。
$ goosefs fs persist /LICENSE
persisted file /LICENSE with size 26847

GooseFSを使用したファイルのアップロードおよびダウンロード操作のアクセラレーション

1. ファイルの保存ステータスをチェックし、ファイルがキャッシュ済みかどうかを確認します。ファイルのステータスがPERSISTEDであれば、ファイルはすでにメモリ内にあることを表し、ファイルのステータスがNOT_PERSISTEDであれば、ファイルはメモリ内にないことを表します。
$ goosefs fs ls /data/cos/sample_tweets_150m.csv
-r-x------ staff staff 157046046 NOT_PERSISTED 01-09-2018 16:35:01:002 0% /data/cos/sample_tweets_150m.csv
2. ファイル内に単語「tencent」がいくつあるかを集計し、操作にかかった時間を計算します。
$ time goosefs fs cat /data/s3/sample_tweets_150m.csv | grep-c tencent
889
real 0m22.857s
user 0m7.557s
sys 0m1.181s
3. このデータをメモリ内にキャッシュすると、照会速度を効果的に向上させることができます。詳細な例は次のとおりです。
$ goosefs fs ls /data/cos/sample_tweets_150m.csv
-r-x------ staff staff 157046046
ED 01-09-2018 16:35:01:002 0% /data/cos/sample_tweets_150m.csv
$ time goosefs fs cat /data/s3/sample_tweets_150m.csv | grep-c tencent
889
real 0m1.917s
user 0m2.306s
sys 0m0.243s
このように、システム処理の遅延が1.181sから0.243sに減少し、スピードが10倍向上しました。

GooseFSの無効化

次のコマンドによってGooseFSを無効化できます。
$ ./bin/goosefs-stop.sh local

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック