Amazon EMR 클러스터에 있는 내 Hive 메타스토어를 Amazon RDS(Amazon Relational Database Service) MySQL DB 인스턴스로 내보낸 다음 해당 메타스토어를 사용하여 새 클러스터를 시작하려고 합니다. 어떻게 하면 됩니까?

1.    Amazon EMR 클러스터의 마스터 노드에 연결합니다.

2.    mysqldump 명령을 실행하여 메타스토어를 Amazon RDS로 내보냅니다.

3.    Amazon RDS 인스턴스에 연결하고 다음과 유사한 MySQL 명령을 실행합니다. 이러한 명령을 실행하면 Hive가 Amazon RDS의 메타스토어에 액세스할 수 있습니다.

mysql -h your-rds-hostname.region.rds.amazonaws.com -P 3306 -u usernameForRDS -p
grant all privileges on hive.* to 'myUsername'@'%' identified by 'myPassword'; flush privileges;

4.    다음 MySQL 명령을 실행하여 Amazon RDS DB 인스턴스의 Hive 테이블에 액세스할 수 있는지 확인합니다.

use hive;
show tables;
select * from TBLS;

5.    Amazon RDS DB 인스턴스의 이름, 사용자 이름 및 암호를 사용하여 다음과 유사한 JSON 파일을 생성합니다.

[
   {
     "Classification": "hive-site",
     "Properties": {
       "javax.jdo.option.ConnectionURL":"jdbc:mysql:\\/\\/your-rds-instancename.region.rds.amazonaws.com:3306\\/hive?createDatabaseIfNotExist=true",
          "javax.jdo.option.ConnectionDriverName":"org.mariadb.jdbc.Driver",
       "javax.jdo.option.ConnectionUserName":"username",
       "javax.jdo.option.ConnectionPassword":"password"
        }
   }
 ]

6.    JSON 파일을 Amazon Simple Storage Service(Amazon S3) 버킷에 업로드합니다.

7.    Amazon EMR 콘솔의 탐색 창에서 클러스터를 선택한 다음 클러스터 생성을 선택합니다.

8.    고급 옵션으로 이동을 선택합니다.

9.    소프트웨어 설정 편집 아래에서 S3에서 JSON 로드를 선택한 다음 6단계에서 업로드한 파일로 이동합니다.

10.   클러스터 생성을 완료합니다.

11.   다음과 유사한 Hive 명령을 실행하여 새 클러스터에서 메타스토어에 액세스할 수 있는지 확인합니다.

show databases;
use default;
show tables;
describe my_hive_table;

Hive 메타스토어가 이제 Amazon EMR 클러스터의 외부에 저장되어 있으므로 다른 Amazon EMR 클러스터에서도 해당 메타스토어에 액세스할 수 있습니다. 각 클러스터에서 CREATE EXTERNAL TABLE을 실행할 필요가 없습니다.


페이지 내용이 도움이 되었습니까? | 아니요

AWS 지원 지식 센터로 돌아가기

도움이 필요하십니까? AWS 지원 센터를 방문하십시오.

게시된 날짜: 2018년 7월 27일