기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon RDS에서 원격 데이터베이스와 함께 Oozie 사용
기본적으로 Oozie 사용자 정보 및 쿼리 기록은 마스터 노드의 로컬 MySQL 데이터베이스에 저장됩니다. 또는 Amazon S3에 저장된 구성과 Amazon Relational Database Service(RDS)의 MySQL 데이터베이스를 사용하여 하나 이상의 Oozie 지원 클러스터를 생성할 수 있습니다. 이렇게 하면 Amazon EMR 클러스터의 실행 상태를 유지하지 않고도 Oozie에서 생성된 사용자 정보 및 쿼리 기록을 유지할 수 있습니다. Amazon S3 서버 측 암호화를 사용하여 구성 파일을 저장하는 것이 좋습니다.
먼저 Oozie용 원격 데이터베이스를 생성합니다.
외부 MySQL 데이터베이스를 생성하려면
-
https://console.aws.amazon.com/rds/
에서 Amazon RDS 콘솔을 엽니다. -
DB 인스턴스 시작을 선택합니다.
-
MySQL을 선택한 후 [Select]를 선택합니다.
-
기본으로 선택된 Multi-AZ Deployment and Provisioned IOPS Storage(다중 AZ 배포 및 프로비저닝된 IOPS 스토리지)를 그대로 두고 다음을 선택합니다.
-
인스턴스 사양에서 기본값을 그대로 사용하고, 설정을 지정하고, [Next]를 선택합니다.
-
[Configure Advanced Settings] 페이지에서 올바른 보안 그룹과 데이터베이스 이름을 선택합니다. 사용하는 보안 그룹은 클러스터의 마스터 노드에서 적어도 포트 3306에 대한 인바운드 TCP 액세스를 허용해야 합니다. 이때 클러스터를 생성하지 않은 경우 모든 호스트를 포트 3306에 연결하도록 허용하고 클러스터를 시작한 후 보안 그룹을 조정할 수 있습니다. [Launch DB Instance]를 선택합니다.
-
RDS 대시보드에서 인스턴스를 선택하고 방금 생성한 인스턴스를 선택합니다. 데이터베이스를 사용할 수 있는 경우 dbname, username, password 및 RDS instance hostname을 기록해 둡니다. 클러스터를 생성하고 구성할 때 이 정보를 사용합니다.
를 사용하여 클러스터를 시작할 때 Oozie용 외부 MySQL 데이터베이스를 지정하려면 AWS CLI
AWS CLI를 사용하여 클러스터 시작 시 Oozie용 외부 MYSQL 데이터베이스를 지정하려는 경우 구성 객체로 oozie-site
를 구성하기 위해 RDS 인스턴스를 생성할 때 적어둔 정보를 사용합니다.
참고
동일한 외부 데이터베이스를 사용하는 여러 클러스터를 생성할 수 있지만, 각 클러스터는 쿼리 기록 및 사용자 정보를 공유합니다.
-
를 사용하여 Oozie가 설치된 클러스터를 AWS CLI생성하고, 생성한 외부 데이터베이스를 사용하고, 데이터베이스 속성을 지정하는 Oozie에 대한 구성 분류가 있는 구성 파일을 참조합니다. 다음은 Oozie가 설치된 클러스터를 생성하고 데이터베이스 구성을 지정하는 Amazon S3의 구성 파일(
myConfig.json
)을 참조하는 예제입니다.참고
가독성을 위해 Linux 줄 연속 문자(\)가 포함됩니다. Linux 명령에 사용하거나 제외할 수 있습니다. Windows에서는 제외시키거나 캐럿(^)으로 바꿉니다.
aws emr create-cluster --release-label
emr-7.7.0
--applications Name=Oozie Name=Spark Name=Hive \ --instance-typem5.xlarge
--instance-count3
\ --configurationshttps://s3.amazonaws.com/amzn-s3-demo-bucket/myfolder/myConfig.json
--use-default-roles다음은
myConfig.json
파일 콘텐츠 예제입니다.JDBC URL
,사용자 이름
및암호
를 RDS 인스턴스의 JDBC URL, 사용자 이름 및 암호로 바꿉니다.중요
JDBC URL에는 접미사로 데이터베이스 이름이 포함되어야 합니다. 예: jdbc:mysql://oozie-external-db.xxxxxxxxxx.us-east-1.rds.amazonaws.com:3306/dbname.
[{ "Classification": "oozie-site", "Properties": { "oozie.service.JPAService.jdbc.driver": "org.mariadb.jdbc.Driver", "oozie.service.JPAService.jdbc.url": "
JDBC URL
", "oozie.service.JPAService.jdbc.username": "username
", "oozie.service.JPAService.jdbc.password": "password
" }, "Configurations": [] }]