계획

빅데이터 서비스를 사용하여 OCI에서 데이터 레이크를 구현하는 다단계 워크플로우가 있습니다.

  1. 요구 사항: OCI의 새 환경에 대한 요구 사항 나열

  2. 평가: 필요한 OCI 서비스 및 툴 평가

  3. 설계: OCI에 대한 솔루션 아키텍처 및 크기 조정 설계

  4. 계획: 시간과 자원을 매핑하는 상세한 계획 생성

  5. 프로비저닝: OCI에서 필요한 리소스를 프로비전하고 구성합니다.

  6. 구현: 데이터 및 애플리케이션 작업 로드 구현

  7. 파이프라인 자동화: 자동화를 위한 워크플로우 파이프라인을 통합관리 및 스케줄링합니다.

  8. 테스트 및 검증: 솔루션에 대한 종합적인 검증, 기능 및 성능 테스트를 수행합니다.

요구사항 결정

먼저 시스템 및 응용 프로그램 요구 사항의 카탈로그가 됩니다.

다음 표에서는 예제 템플리트를 제공하며 사용 사례에 맞게 시작할 수 있습니다.

검색 항목 현재 설정 OCI 요구사항 노트 및 의견
데이터 크기 - - -
증가율 - - -
파일 형식 - - -
데이터 압축 형식 - - -
데이터 센터 세부정보(하이브리드 아키텍처용) - - -
VPN/FastConnect 설정에 대한 네트워크 연결 세부정보 - - -
DR(RTO, RPO) - - -
HA SLA - - -
백업 전략 - - -
인프라 관리 및 모니터링 - - -
알림 및 경고 - - -
유지 관리 및 업그레이드 프로세스 - - -
서비스 데스크/통신 관리 - - -
인증 방식 - - -
권한 부여 방식 - - -
암호화 정보(사용 중 및 미사용) - - -
키 및 인증서 프로세스 - - -
Kerberos 세부정보 - - -
규정 준수 요구사항 - - -
각 소스에 대한 데이터 소스 및 수집 기술 - - -
ETL 요구사항 - - -
분석 요구사항 - - -
데이터 쿼리 요구사항 - - -
BI/시각화, 보고 요구 사항 - - -
다른 솔루션과의 통합 - - -
노트북 및 데이터 과학 워크로드 세부정보 - - -
워크플로우, 통합관리 및 스케줄링 요구사항 - - -
일괄 처리 작업 로드 - 각 작업 및 애플리케이션에 대한 세부 사항 - - -
대화식 작업 로드 - 사용자 수, 각 작업 및 애플리케이션에 대한 세부 사항 - - -
작업 로드 스트리밍 - 각 작업 및 애플리케이션에 대한 세부정보 - - -
데이터 레이크와 통합된 각 애플리케이션의 세부정보 - - -
팀 세부 정보(sys admin, developers, 응용 프로그램 소유자, 최종 사용자) - - -

평가

이 단계에서는 요구 사항 단계에서 수집한 모든 데이터와 정보를 분석합니다.

그런 다음 이 정보를 사용하여 OCI에서 필요한 서비스와 툴을 결정합니다. 평가를 마치면 사용할 각 OCI 데이터 서비스와 해당 서비스에 구현될 기능을 보여주는 상위 레벨 구조가 있어야 합니다.

다음 다이어그램은 이 단계에서 생성한 구조 유형의 예입니다.

다음은 architecture-hadoop-datalake.png에 대한 설명입니다.
architecture-hadoop-datalake.png에 대한 설명

설계

이 단계에서는 OCI(Oracle Cloud Infrastructure)에 대한 솔루션 아키텍처와 초기 크기 조정을 확인합니다.

평가 단계에서 생성한 참조 아키텍처를 시작점으로 사용합니다.

OCI 플랫폼 및 OCI에서 애플리케이션을 구축하는 방법에 대한 충분한 이해가 필요합니다. 또한 OCI에서 네트워킹 및 IAM 정책을 설정해야 합니다.

계획

이 단계에서는 시간 및 리소스 매핑을 사용하여 자세한 프로젝트 계획을 생성합니다.

각 활동에 대한 세부정보, 이해 관계자 RACI 및 타임라인을 확인해야 합니다.

프로젝트 계획

모든 활동, 해당 시간 라인 및 종속성이 있는 프로젝트 계획을 생성합니다.

다음 그림은 상위 레벨 프로젝트 계획의 예를 보여줍니다.

다음은 project-plan.png에 대한 설명입니다.
그림 project-plan.png에 대한 설명

자재 명세서

평가 및 설계를 기반으로 OCI의 대상 환경에 대한 BOM 생성

사용할 각 서비스와 해당 크기 조정 및 구성 정보를 나열합니다. 다음 표는 자재 명세서에 포함할 수 있는 항목의 예입니다.

OCI 서비스 크기 조정 및 구성
Big Data Service -
데이터 과학 -
데이터 카탈로그 -
가상 시스템 -
블록 스토리지 -
객체 스토리지 -
Autonomous Data Warehouse -
가상 클라우드 네트워크 -
ID 및 접근 관리 -

빅데이터 서비스 계획

이 섹션에서는 Big Data Service(BDS)에서 클러스터를 실행하는 데 필요한 중요한 선택 사항에 대해 설명합니다.

BDS Hadoop 클러스터는 OCI 컴퓨팅 인스턴스에서 실행됩니다. 사용할 인스턴스 유형을 결정해야 합니다. 이러한 인스턴스는 VCN(가상 클라우드 네트워크) 서브넷에서 실행됩니다. 클러스터를 실행하기 전에 구성해야 합니다. 또한 클러스터 노드에 연결된 블록 볼륨에 대한 스토리지 요구 사항을 준수해야 합니다. 또한 IAM 정책을 구성해야 합니다.

노드 유형에는

  • 마스터 및 유틸리티 노드. 이러한 노드에는 클러스터의 작업 및 관리에 필요한 서비스가 포함됩니다. 데이터를 저장 또는 처리하지 않습니다.

  • 작업자 노드 해당 노드는 데이터를 저장하고 처리합니다. 작업자 노드가 손실되면 클러스터 작업에 영향을 주지 않지만 성능에 영향을 줄 수 있습니다.

클러스터는 보안 및 고가용성 또는 최소(비HA) 모드로 배치할 수 있습니다. 구성할 Hadoop 구성요소 및 크기 조정 계획을 생성해야 합니다. 자세히 살펴보기 섹션의 BDS 설명서 링크를 검토하여 클러스터 구성 및 크기 조정을 자세히 알아보십시오.

다음 표를 사용하여 BDS 클러스터에 대한 계획을 만들 수 있습니다.

주제 크기 조정 및 구성
안전하고 가용성이 높거나 최소(비HA) 구성 -
워커 노드 수 -
노드당 스토리지 -
마스터 노드 컴퓨팅 인스턴스 유형 및 구성 -
작업자 노드 컴퓨팅 인스턴스 유형 및 구성 -
마스터 노드 1 Hadoop 서비스 구성 -
마스터 노드 2 Hadoop 서비스 구성(해당하는 경우) -
유틸리티 노드 1 Hadoop 서비스 구성 -
유틸리티 노드 2 Hadoop 서비스 구성(해당하는 경우) -
유틸리티 노드 3 Hadoop 서비스 구성(해당하는 경우) -
작업자 노드 Hadoop 서비스 구성 -
가상 클라우드 네트워크 세부정보 -
ID 및 접근 관리 정책 적용 -
Ambari 구성 -
HDFS 구성 -
Hive 구성 -
HBase 구성 -
Spark 구성 -
Oozie configuration -
Sqoop 구성 -
Tez 구성 -
Zookeeper 구성 -

구조에 있는 다른 서비스의 작성 및 크기를 계획할 때 유사한 테이블을 사용할 수 있습니다.

프로비전

BOM에서 최종 상태 아키텍처 설계 및 크기 조정 정보를 기반으로 프로젝트 계획에 나열된 작업에 따라 OCI에서 필요한 리소스를 프로비저닝 및 구성합니다.

Big Data Service 배치 워크플로우

BDS 클러스터를 설정하려면 먼저 IAM에서 권한을 구성한 다음 클러스터에 대해 VCN을 구성해야 합니다.

IAM 구성

BDS 클러스터에 대한 액세스 권한으로 추가 IAM 그룹을 생성합니다.

BDS 클러스터 관리 작업을 하나 이상의 BDS 관리자에게 위임해야 합니다.

그룹 이름이 bds-admin-group이고 새 클러스터가 클러스터 구획에 있는 경우 다음 정책을 만듭니다.

allow group bds-admin-group to manage virtual-network-family in compartment Cluster
 allow group bds-admin-group to manage bds-instance in compartment Cluster

또한 다음 정책 문으로 정책을 생성합니다.

allow service bdsprod to 
{VNIC_READ, VNIC_ATTACH, VNIC_DETACH, VNIC_CREATE, VNIC_DELETE,VNIC_ATTACHMENT_READ,
 SUBNET_READ, VCN_READ, SUBNET_ATTACH, SUBNET_DETACH, INSTANCE_ATTACH_SECONDARY_VNIC,
 INSTANCE_DETACH_SECONDARY_VNIC} in compartment Cluster

VCN 구성

공용 인터넷에 액세스할 수 있는 단일 리전에 단일 서브넷이 있는 단일 VCN이 필요합니다.

복잡한 운용 환경의 경우 여러 서브넷과 다양한 보안 규칙을 가질 수 있습니다. VCN을 온프레미스 네트워크 또는 다른 지역의 다른 VCN에 연결하려는 경우가 있습니다. OCI 네트워킹에 대한 자세한 내용은 OCI 설명서를 참조하십시오.

BDS 클러스터 만들기

클러스터 이름, 클러스터 관리자 암호 및 마스터, 유틸리티 및 작업자 노드의 크기를 선택합니다.

클러스터를 생성할 때 마스터, 유틸리티 및 작업자 노드의 이름, 클러스터 관리자 암호 및 크기를 선택합니다. 보안 및 HA(고가용성) 클러스터 구성을 선택하는 확인란도 있습니다. HA는 최소 비HA 구성에서 2개 대신 4개의 마스터 및 유틸리티 노드를 제공합니다.

원하는 구획과 클러스터를 포함할 VCN에 클러스터를 생성해야 합니다. 또한 클러스터 전용 네트워크의 CIDR 블록이 클러스터를 포함하는 서브넷의 CIDR 블록 범위와 겹치지 않아야 합니다.

BDS 클러스터에 액세스

빅데이터 서비스 노드는 기본적으로 공용 인터넷에서 액세스할 수 없는 할당된 전용 IP 주소입니다.

다음 방법 중 하나를 사용하여 클러스터의 노드를 사용 가능하게 만들 수 있습니다.

  • 클러스터에서 선택한 노드의 전용 IP 주소를 공용 IP 주소에 매핑하여 인터넷에서 공용으로 사용할 수 있도록 할 수 있습니다.
  • 배스천 호스트를 사용하여 SSH 터널을 설정할 수 있습니다. 배스천 호스트만 공용 인터넷에 노출됩니다. 배스천 호스트는 공용 인터넷에서 클러스터의 개인 네트워크에 액세스할 수 있습니다.
  • 온프레미스 네트워크와 VCN 간에 IPSec(사이트 간 인터넷 프로토콜 보안) VPN을 제공하는 VPN Connect를 사용할 수 있습니다. OCI FastConnect를 사용하면 공용 인터넷을 거치지 않고도 OCI의 서비스에 접근할 수 있습니다. FastConnect를 사용하면 트래픽이 전용 물리적 연결을 통해 전송됩니다.

BDS 클러스터 관리

ODH(Apache Hadoop)를 포함한 Oracle Distribution BDS의 경우 Apache Ambari를 사용하여 클러스터를 관리할 수 있습니다.

클러스터의 유틸리티 노드에서 실행됩니다. 네트워크 보안 목록에서 수신 규칙을 구성하여 노드에서 7183 포트를 열어야 합니다.

Ambari에 액세스하려면 브라우저 창을 열고 유틸리티 노드의 IP 주소로 URL을 입력합니다. 예: https://<ip_address_or_hostname>:7183

클러스터를 만들 때 입력한 클러스터 관리 사용자(기본 관리자)와 암호를 사용합니다.

다음은 Ambari-dashboard-metrics.png에 대한 설명입니다.
그림 Ambari-dashboard-metrics.png에 대한 설명

구현

각 단계에 대한 애플리케이션 및 서비스 구현을 시작하십시오. 특정 서비스를 선택하기 전에 고려할 기준이 여러 개 있습니다.

일부 서비스는 두 개 이상의 단계에서 사용할 수 있습니다. 예를 들어, 빅데이터 서비스에는 수집 단계, 저장 단계 및 변환 단계에서 사용할 수 있는 구성 요소가 있습니다.

입수

  • 데이터 전송 어플라이언스: OCI로 마이그레이션할 경우 데이터 전송 서비스를 사용하여 데이터를 오프라인 및 오브젝트 스토리지로 마이그레이션할 수 있습니다.

  • 빅데이터 서비스: 빅데이터 서비스는 Kafka, Flume 및 Sqoop를 비롯한 데이터 수집을 위한 널리 사용되는 Hadoop 구성요소를 제공합니다. 사용자는 요구사항에 따라 이러한 도구를 구성할 수 있습니다. Kafka는 이벤트 및 데이터를 실시간으로 입수하는 데 사용할 수 있습니다. 예를 들어, 사용자가 앱 또는 서버에서 가져온 이벤트를 실시간으로 수집하려는 경우 Kafka를 사용하여 HDFS 또는 Object Storage에 데이터를 쓸 수 있습니다. Flume을 사용하여 스트리밍 데이터를 HDFS 또는 Kafka 토픽으로 입수할 수 있습니다. Sqoop은 관계형 데이터베이스 및 데이터 웨어하우스와 같은 정형 데이터 저장소에서 데이터를 입수하는 데 사용되는 가장 일반적인 Hadoop 툴 중 하나입니다.

저장

  • 빅데이터 서비스: BDS는 HDFS 및 HBase를 비롯한 표준 Hadoop 구성요소를 제공합니다. 데이터는 Spark 스트리밍, Spark 뱃치 또는 기타 작업에서 HDFS에 쓸 수 있습니다. HBase는 HDFS를 기반으로 실행되는 비관계형 분산 데이터베이스를 제공합니다. 키-값 쌍으로 저장되는 대용량 데이터 세트를 저장하는 데 사용할 수 있습니다. 데이터를 입수 또는 변환의 일환으로 Spark 작업에서 HBase에 읽고 쓸 수 있습니다.

  • 오브젝트 스토리지: OCI Object Storage 서비스는 안정적이고 비용 효율적인 데이터 내구성을 제공하는 인터넷 규모의 고성능 스토리지 플랫폼입니다. 분석 데이터, 이미지 및 비디오와 같은 풍부한 콘텐츠 등을 비롯해 모든 콘텐츠 유형의 데이터를 무제한으로 저장할 수 있습니다. 이 패턴에서는 오브젝트 스토리지를 범용 블럽 저장소로 사용할 수 있습니다. 빅데이터 서비스와 그 외 서비스는 오브젝트 스토리지에서 데이터를 읽고 쓸 수 있습니다.

혁신 및 서비스

  • BDS(Big Data Service): BDS는 데이터 처리에 사용할 수 있는 Spark 및 Hive와 같은 Hadoop 구성요소를 제공합니다. Hive 및 Spark SQL은 HDFS 및 Object Storage 데이터에서 SQL 쿼리를 실행하는 데 사용할 수 있습니다. 데이터가 HDFS 또는 Object Storage에 저장되면 데이터를 가리킨 다음 BI(Business Intelligence) 툴이나 커스텀 애플리케이션이 이러한 인터페이스에 연결하여 데이터에 대해 질의를 실행할 수 있습니다. 사용자는 큰 크기의 데이터를 처리하거나 여러 단계로 매우 복잡한 변환 작업을 수행할 수 있는 스파크에 복잡한 일괄 처리 작업을 작성할 수 있습니다. Spark는 HDFS, HBase, Object Storage를 비롯한 여러 소스에서 읽고 쓸 수 있는 작업을 구현하는 데 사용할 수 있습니다. Oracle Cloud SQL은 HDFS, Kafka 및 Oracle Object Storage의 데이터에 대해 Oracle SQL 쿼리를 시작할 수 있는 사용 가능한 추가 서비스입니다.

BI, ML, 시각화 및 거버넌스

  • 데이터 카탈로그: OCI 데이터 카탈로그 서비스를 사용하면 Oracle Cloud Infrastructure 에코시스템 및 온프레미스 전반에서 데이터 소스의 메타데이터를 수집하여 데이터 자산 인벤토리를 생성할 수 있습니다. 이 주제 영역을 사용하여 범주, 하위 범주 및 비즈니스 용어를 사용하여 엔터프라이즈 광택을 생성 및 관리하여 검색 생산성을 높이기 위해 사용자 지정 태그를 사용하여 비즈니스 개념 분류를 작성할 수 있습니다. 이를 통해 거버넌스가 지원되며 데이터 소비자가 분석에 필요한 데이터를 보다 쉽게 찾을 수 있습니다.

  • 데이터 과학: 데이터 과학은 데이터 과학 팀이 Oracle Could Infrastructure에서 머신 러닝 모델을 구축, 교육, 배포 및 관리할 수 있는 전담 관리 플랫폼입니다. Oracle Accelerated Data Science Library와 함께 오픈 소스 커뮤니티에서 개발한 Jupyter 노트북 및 파이썬 중심 도구, 라이브러리 및 패키지를 사용하여 프로젝트 기반의 협업 작업 공간을 데이터 과학자에게 제공합니다. 이 솔루션은 데이터 플로우, Autonomous Data Warehouse, 오브젝트 스토리지를 포함한 나머지 스택과 통합됩니다.

  • Oracle Analytics Cloud(OAC): OAC는 데이터 준비, 검색 및 시각화를 위한 AI 기반 셀프서비스 분석 기능, 증강 분석, 자연어 처리/생성을 지원하는 지능형 엔터프라이즈 및 임시 보고 기능을 제공합니다.

자동화

시스템이 구현된 후에는 개별 작업을 예약하거나 하나 이상의 파이프라인을 설정하여 자동화를 추가합니다.

공기 흐름 또는 Oozie와 같은 워크플로우 관리 도구를 설정할 수 있습니다. Big Data 서비스 클러스터를 설정할 때 Oozie가 포함되어 미리 구성됩니다.