새소식

Data Engineering/Hadoop

Amazon EMR Hadoop 구축해보기 | MYSQL RDS, EMR 클러스터 생성

  • -

MYSQL RDS

여러 Name node(Multi primary)들이 공통으로 저장할 메타데이터를 저장할 곳이 필요하기에 MySQL RDS를 생성한다.

서버 안에서 mysql을 설치하고 사용해도 가능하지만, 서버가 고장나면 접근이 안된다는 문제가 있다.
amazon RDS로 서버와 데이터베이스 서버를 분리하여 안정적이면서 확장성, 보안이 좋고 편리하다는 장점을 가질 수 있다.

데이터베이스 생성한다.

많은 데이터가 들어가지 않기때문에 프리티어로 선택했으며(t3.micro)

연결 > 퍼블릭 엑세스를 허용해준다.

mysql -u 마스터사용자이름 -h endpoint주소 -P 3306 -p 패스워드

위의 커맨드로 mysql에 접근하고 hive용 데이터베이스를 생성한다.

create database hive;
show databases;
create user 'hive' identified by 'hive';
grant all privileges on hive.* to 'hive'@'%';

 

EMR 클러스터 생성

이제 Amazon EMR에 들어가서 클러스터를 생성한다.

클러스터 생성을 누른다.

필요한 기능들을 선택하고 만들어준다.

주로 디폴트값을 사용하였으며 use high availability를 선택해 multi node를 사용한다. task node는 살제하였다.

클러스터 로그는 amazon S3에 쌓이도록 했으며,

[
  {
    "Classification": "hive-site",
    "Properties": {
      "javax.jdo.option.ConnectionDriverName": "org.mariadb.jdbc.Driver",
      "javax.jdo.option.ConnectionPassword": "hive",
      "javax.jdo.option.ConnectionURL": "jdbc:mysql://$your_rds_hostname:3306/hive?createDatabaseIfNotExist=true",
      "javax.jdo.option.ConnectionUserName": "hive"
    }
  }
]

이렇게 소프트웨어 설정을 넣는다. (이 내용은 hive 공식 document에 있다.)

한 10~20분 정도 있으면 생성된다.

status에 Waiting이 뜨면 준비된 것이다.

하나의 primary node에 접근해서

hdfs version

을 확인해보면

Hadoop x.x.x-amzn-x 이렇게 뜬다.

이 하둡의 x.x.x 버전을 아마존이 패키징한 것을 사용한다는 의미이며

Amazon EMR을 사용하면 이러한 패키징과 같은 것들을 아마존이 쉽게 관리해주기에 사용하기 편리하다.

'Data Engineering > Hadoop' 카테고리의 다른 글

HDFS 명령어 모음  (0) 2024.01.09
Hadoop의 Fair Call Queue  (0) 2024.01.09
Hadoop RAID, Eraser Coding  (1) 2024.01.08
Observer Name Node(ONN)로 부하 분산  (0) 2024.01.08
Hadoop의 High Availability (고가용성) 아키텍처  (1) 2024.01.08
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.