tencent cloud

Cloud Object Storage

동향 및 공지
릴리스 노트
제품 공지
제품 소개
제품 개요
기능 개요
적용 시나리오
제품 장점
기본 개념
리전 및 액세스 도메인
규격 및 제한
제품 요금
과금 개요
과금 방식
과금 항목
프리 티어
과금 예시
청구서 보기 및 다운로드
연체 안내
FAQ
빠른 시작
콘솔 시작하기
COSBrowser 시작하기
사용자 가이드
요청 생성
버킷
객체
데이터 관리
일괄 프로세스
글로벌 가속
모니터링 및 알람
운영 센터
데이터 처리
스마트 툴 박스 사용 가이드
데이터 워크플로
애플리케이션 통합
툴 가이드
툴 개요
환경 설치 및 설정
COSBrowser 툴
COSCLI 툴
COSCMD 툴
COS Migration 툴
FTP Server 툴
Hadoop 툴
COSDistCp 툴
HDFS TO COS 툴
온라인 도구 (Onrain Dogu)
자가 진단 도구
실습 튜토리얼
개요
액세스 제어 및 권한 관리
성능 최적화
AWS S3 SDK를 사용하여 COS에 액세스하기
데이터 재해 복구 백업
도메인 관리 사례
이미지 처리 사례
COS 오디오/비디오 플레이어 사례
데이터 다이렉트 업로드
데이터 보안
데이터 검증
빅 데이터 사례
COS 비용 최적화 솔루션
3rd party 애플리케이션에서 COS 사용
마이그레이션 가이드
로컬 데이터 COS로 마이그레이션
타사 클라우드 스토리지 데이터를 COS로 마이그레이션
URL이 소스 주소인 데이터를 COS로 마이그레이션
COS 간 데이터 마이그레이션
Hadoop 파일 시스템과 COS 간 데이터 마이그레이션
데이터 레이크 스토리지
클라우드 네이티브 데이터 레이크
메타데이터 가속
데이터 레이크 가속기 GooseFS
데이터 처리
데이터 처리 개요
이미지 처리
미디어 처리
콘텐츠 조정
파일 처리
문서 미리보기
장애 처리
RequestId 가져오기
공용 네트워크로 COS에 파일 업로드 시 속도가 느린 문제
COS 액세스 시 403 에러 코드 반환
리소스 액세스 오류
POST Object 자주 발생하는 오류
보안 및 컴플라이언스
데이터 재해 복구
데이터 보안
액세스 관리
자주 묻는 질문
인기 질문
일반 문제
과금
도메인 규정 준수 문제
버킷 설정 문제
도메인 및 CDN 문제
파일 작업 문제
로그 모니터링 문제
권한 관리
데이터 처리 문제
데이터 보안 문제
사전 서명 URL 관련 문제
SDK FAQ
툴 관련 문제
API 관련 문제
Agreements
Service Level Agreement
개인 정보 보호 정책
데이터 처리 및 보안 계약
연락처
용어집

투명 가속 기능

PDF
포커스 모드
폰트 크기
마지막 업데이트 시간: 2024-12-26 20:54:31

개요

투명한 가속화 기능은 CosN의 COS 액세스 기능을 가속화하는데 사용합니다. CosN 툴은 Tencent Cloud Cloud Object Storage(COS)이 제공하는 표준 Hadoop 파일 시스템을 기반으로 구현되었으며, Hadoop, Spark 및 Tez 등 빅 데이터 컴퓨팅 프레임워크와 COS를 통합하는 기능을 지원합니다. 사용자는 Hadoop 파일 시스템 인터페이스를 구현한 CosN 플러그인을 사용하여, COS에 저장된 데이터를 읽기/쓰기할 수 있습니다. CosN 툴을 사용하여 COS에 액세스하는 기존 사용자를 위해, GooseFS는 클라이언트 경로 매핑 방법을 제공하여 사용자가 현재 Hive table 정의를 수정하지 않고도 CosN scheme을 사용하여 GooseFS에 액세스할 수 있도록 합니다. 해당 특성은 사용자로 하여금 기존 테이블 정의를 수정하지 않는 전제 하에 편리하게 GooseFS의 기능과 성능을 비교 테스트 할 수 있도록 합니다. 클라우드 HDFS 사용자(CHDFS)는, 설정 변경을 통해 OFS Scheme를 사용하여 GooseFS에 액세스하는 목적을 달성할 수 있습니다.
CosN Schema와 GooseFS Schema의 매핑 설명은 아래와 같습니다.
Namespace warehouse 에 상응하는 UFS 경로가 ‘cosn://examplebucket-1250000000/data/warehouse/’인 경우, CosN에서 GooseFS의 경로 매핑 관계는 다음과 같습니다.
cosn://examplebucket-1250000000/data/warehouse -> /warehouse/
cosn://examplebucket-1250000000/data/warehouse/folder/test.txt ->/warehouse/folder/test.txt
GooseFS에서 CosN의 경로 매핑 관계는 다음과 같습니다.
/warehouse ->cosn://examplebucket-1250000000/data/warehouse/
/warehouse/ -> cosn://examplebucket-1250000000/data/warehouse/
/warehouse/folder/test.txt -> cosn://examplebucket-1250000000/data/warehouse/folder/test.txt
CosN Scheme은 GooseFS 기능에 액세스하여, 클라이언트 측에서 GooseFS 경로와 기본 파일 시스템의 CosN 경로 간의 매핑 관계를 유지하고, CosN 경로의 요청을 GooseFS의 요청으로 변환합니다. 매핑 관계는 주기적으로 갱신되며, GooseFS 설정 파일 goosefs-site.properties 중의 설정 항목 goosefs.user.client.namespace.refresh.interval을 수정하여 갱신 주기를 조정할 수 있으며, 기본값은 60초입니다.
주의:
액세스한 CosN 경로를 GooseFS 경로로 변환할 수 없는 경우, 해당 Hadoop API 호출에서 이상 경고가 발생합니다.

작업 예시

해당 예시에서는 Hadoop 명령 라인 및 Hive에서 gfs://, cosn://, ofs://의 3가지 Schema를 사용하여 GooseFS에 액세스하는 방법을 보여줍니다. 작업 과정은 다음과 같습니다.

1. 데이터 및 컴퓨팅 클러스터 준비

버킷 생성 문서를 참고하여 테스트용 버킷을 생성 합니다.
폴더 생성 문서를 참고하여 버킷의 루트 경로 아래에 ml-100k라는 폴더를 생성합니다.
Grouplens에서 ml-100k 데이터 세트를 다운로드하고 u.user 파일을 ‘<버킷 루트 경로>/ml-100k’에 업로드합니다.
EMR 가이드 문서를 참고하여 하나의 EMR 클러스터를 구매하고 HIVE 컴포넌트를 설정하십시오.

2. 환경 설정

i. GooseFS 클라이언트측 jar 패키지(goosefs-1.0.0-client.jar)를 share/hadoop/common/lib/ 디렉터리에 넣습니다.
cp goosefs-1.0.0-client.jar hadoop/share/hadoop/common/lib/
주의:
설정 변경 및 jar 패키지 추가는 클러스터의 모든 노드에 동기화되어야 합니다.
ii. Hadoop 구성 파일 etc/ hadoop/ core-site.xml을 수정합니다. GooseFS의 구현 클래스를 지정합니다.
<property>
<name>fs.AbstractFileSystem.gfs.impl</name>
<value>com.qcloud.cos.goosefs.hadoop.GooseFileSystem</value>
</property>
<property>
<name>fs.gfs.impl</name>
<value>com.qcloud.cos.goosefs.hadoop.FileSystem</value>
</property>
iii. 다음 Hadoop 명령어를 실행하여 gfs:// Scheme을 통해 GooseFS에 액세스할 수 있는지 확인합니다. <MASTER_IP>는 Master 노드의 IP입니다.
hadoop fs -ls gfs://<MASTER_IP>:9200/
iv. Hive가 GooseFS Client 패키지에 로딩될 수 있도록, GooseFS의 클라이언트측 jar 패키지를 Hive의 auxlib 디렉터리에 넣습니다.
cp goosefs-1.0.0-client.jar hive/auxlib/
v. 다음 명령을 실행하여 UFS Scheme이 CosN인 Namespace를 생성하고 Namespace를 나열합니다. 이 명령어의 examplebucket-1250000000을 사용자의 COS 버킷으로 바꾸고 SecretId와 SecretKey를 사용자의 키 정보로 바꿀 수 있습니다.
goosefs ns create ml-100k cosn://examplebucket-1250000000/ml-100k --secret fs.cosn.userinfo.secretId=SecretId --secret fs.cosn.userinfo.secretKey=SecretKey--attribute fs.cosn.bucket.region=ap-guangzhou --attribute fs.cosn.credentials.provider=org.apache.hadoop.fs.auth.SimpleCredentialProvider
goosefs ns ls
vi. 명령을 실행하여 UFS Scheme이 OFS인 Namespace를 생성하고 Namespace를 나열합니다. 이 명령의 instance-id를 사용자의 CHDFS 인스턴스로 바꾸고 1250000000을 사용자의 APPID로 바꿀 수 있습니다.
goosefs ns create ofs-test ofs://instance-id.chdfs.ap-guangzhou.myqcloud.com/ofs-test --attribute fs.ofs.userinfo.appid=1250000000
goosefs ns ls

3. GooseFS Schema 테이블 생성 및 데이터 조회

아래 명령을 통해 실행합니다.
create database goosefs_test;

use goosefs_test;
CREATE TABLE u_user_gfs (
userid INT,
age INT,
gender CHAR(1),
occupation STRING,
zipcode STRING)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '|'
STORED AS TEXTFILE
LOCATION 'gfs://<MASTER_IP>:<MASTER_PORT>/ml-100k';

select sum(age) from u_user_gfs;

4. CosN Schema 테이블 생성 및 데이터 조회

아래 명령을 통해 실행합니다.
CREATE TABLE u_user_cosn (
userid INT,
age INT,
gender CHAR(1),
occupation STRING,
zipcode STRING)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '|'
STORED AS TEXTFILE
LOCATION 'cosn://examplebucket-1250000000/ml-100k';

select sum(age) from u_user_cosn;

5. CosN을 수정하여 GooseFS 호환 구현

hadoop/etc/hadoop/core-site.xml 수정
<property>
<name>fs.AbstractFileSystem.cosn.impl</name>
<value>com.qcloud.cos.goosefs.hadoop.CosN</value>
</property>
<property>
<name>fs.cosn.impl</name>
<value>com.qcloud.cos.goosefs.hadoop.CosNFileSystem</value>
</property>
Hadoop 명령어를 실행합니다. 경로를 GooseFS의 경로로 변환할 수 없는 경우 명령 출력에 오류 메시지가 포함됩니다.
hadoop fs -ls cosn://examplebucket-1250000000/ml-100k/

Found 1 items
-rw-rw-rw- 0 hadoop hadoop 22628 2021-07-02 15:27 cosn://examplebucket-1250000000/ml-100k/u.user

hadoop fs -ls cosn://examplebucket-1250000000/unknow-path
ls: Failed to convert ufs path cosn://examplebucket-1250000000/unknow-path to GooseFs path, check if namespace mounted
Hive를 재실행하여 구문 조회.
select sum(age) from u_user_cosn;

6. OFS Schema 테이블 생성 및 데이터 조회

아래 명령을 통해 실행합니다.
CREATE TABLE u_user_ofs (
userid INT,
age INT,
gender CHAR(1),
occupation STRING,
zipcode STRING)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '|'
STORED AS TEXTFILE
LOCATION 'ofs://instance-id.chdfs.ap-guangzhou.myqcloud.com/ofs-test/';

select sum(age) from u_user_ofs;

7. OFS 구현을 GooseFS의 호환 구현으로 수정

hadoop/etc/hadoop/core-site.xml 수정
<property>
<name>fs.AbstractFileSystem.ofs.impl</name>
<value>com.qcloud.cos.goosefs.hadoop.CHDFSDelegateFS</value>
</property>
<property>
<name>fs.ofs.impl</name>
<value>com.qcloud.cos.goosefs.hadoop.CHDFSHadoopFileSystem</value>
</property>
Hadoop 명령어를 실행합니다. 경로를 GooseFS의 경로로 변환할 수 없는 경우 출력 결과에 오류 메시지가 포함됩니다.
hadoop fs -ls ofs://instance-id.chdfs.ap-guangzhou.myqcloud.com/ofs-test/

Found 1 items
-rw-r--r-- 0 hadoop hadoop 22628 2021-07-15 15:56 ofs://instance-id.chdfs.ap-guangzhou.myqcloud.com/ofs-test/u.user

hadoop fs -ls ofs://instance-id.chdfs.ap-guangzhou.myqcloud.com/unknown-path
ls: Failed to convert ufs path ofs://instance-id.chdfs.ap-guangzhou.myqcloud.com/unknown-path to GooseFs path, check if namespace mounted
Hive를 재실행하여 구문 조회.
select sum(age) from u_user_ofs;

도움말 및 지원

문제 해결에 도움이 되었나요?

피드백