최근에 빅데이터 관련 업무를 시작했는데 회사에서 CDN을 빅데이터 클러스터 툴로 사용하는 것을 보고 직접 설치를 해보았지만 최종 역할 분담에서 부족해서 막막했습니다. 구성 요소 및 서버의 일부 아키텍처 및 원리에 대한 지식. 우연히 이 글을 보게 되었는데, 꼭 읽어보시길 권합니다.
Cloudera 플랫폼 소프트웨어 아키텍처
Cloudera의 소프트웨어 아키텍처에는 시스템 배포 및 관리, 데이터 스토리지, 리소스 관리, 처리 엔진, 보안, 데이터 관리, 도구 라이브러리 및 액세스 인터페이스 모듈이 포함됩니다. 일부 주요 구성 요소에 대한 역할 정보:
하드웨어 구성
클러스터 서버는 노드가 수행하는 작업에 따라 관리 노드와 작업 노드로 구분됩니다. 각 구성 요소의 관리 역할은 일반적으로 관리 노드에 배포되고 각 역할의 스토리지, 컨테이너 또는 컴퓨팅 역할은 일반적으로 작업자 노드에 배포됩니다. 비즈니스 유형에 따라 클러스터의 특정 구성도 다릅니다.
1. 실시간 스트림 처리 서비스 클러스터: Hadoop의 실시간 스트림 처리 성능은 노드 메모리 및 CPU에 대한 요구 사항이 높으며 Spark Streaming 기반 스트림 처리의 메시지 처리량은 노드 수에 따라 선형적으로 증가할 수 있습니다.
2. 온라인 분석 서비스 클러스터: 온라인 분석 서비스는 일반적으로 Impala와 같은 MPP SQL 엔진을 기반으로 하며 복잡한 SQL 계산은 메모리 용량에 대한 요구 사항이 높기 때문에 128G 이상의 메모리 구성이 필요합니다.
3. 클라우드 스토리지 비즈니스 클러스터: 클라우드 스토리지 비즈니스는 주로 대용량 데이터 및 파일의 저장 및 계산을 위한 것이며 단일 노드의 스토리지 용량과 비용을 강조하므로 상대적으로 저렴한 SATA 하드 드라이브가 비용 및 용량 요구 사항을 충족하도록 구성됩니다.
역할 할당
작은 클러스터
소규모 클러스터는 일반적으로 클러스터의 스토리지 및 처리 기능에 의해 제한되고 다중 서비스 환경에 적합하지 않은 독점 서비스를 지원하도록 구축됩니다. 이는 HBase 클러스터로 배포할 수 있으며 YARN 및 Impala를 포함한 분석 클러스터일 수도 있습니다. 소규모 클러스터에서는 클러스터의 저장 및 처리 기능을 최대한 활용하기 위해 노드의 재사용 정도가 상대적으로 높은 경우가 많습니다. 다음 그림은 일반적인 소규모 클러스터 배포 방법입니다.
HA 기능을 지원하기 위해 2개 이상의 노드가 필요한 경우 이러한 역할을 수행하기 위해 클러스터에 도구 노드가 할당되고 일부 다른 도구 역할이 동시에 배포될 수 있으며 이러한 도구 역할 자체는 많은 리소스를 소비하지 않습니다. :
나머지 노드는 다음을 포함하여 순수한 작업 노드로 배포할 수 있습니다.
중간 규모 클러스터
중형 클러스터의 경우 클러스터의 노드 수는 일반적으로 20~200개 정도이며, 일반적인 데이터 저장 용량은 수백 테라바이트로 계획할 수 있어 중견기업의 데이터 플랫폼이나 데이터 저장 공간에 적합하다. 대기업 사업부의 플랫폼. 노드의 재사용 정도는 줄일 수 있으며 관리 노드, 마스터 노드, 도구 노드 및 작업 노드로 나눌 수 있습니다.
관리 노드에 Cloudera Manager 및 Cloudera Management Service를 설치합니다.
마스터 노드에는 CDH 서비스 관리 노드와 HA 구성 요소가 설치되어 있으며 다음과 같이 배포할 수 있습니다.
도구 노드는 다음 역할 중 일부를 배포할 수 있습니다.
작업자 노드의 배포는 소규모와 유사합니다.
대규모 클러스터
대규모 클러스터 수는 일반적으로 200개 이상이며 저장 용량은 수백 TB 또는 심지어 PB 수준이 될 수 있어 대기업이 전사적 데이터 플랫폼을 구축하는 데 적합합니다. 중간 규모 클러스터와 비교할 때 배포 체계는 주로 일부 마스터 노드의 가용성 향상으로 인해 크게 다르지 않습니다.
HDFS JournalNode의 수는 3개에서 5개로, Zookeeper Server 및 HBase Masters의 수는 3개에서 5개로, Hive Metastores의 수는 1개에서 3개로 증가했습니다.
네트워크 토폴로지
단일 랙 배치
소규모 클러스터 또는 단일 랙 클러스터의 경우 모든 노드가 동일한 액세스 레이어 스위치 에 연결됩니다 . 액세스 계층 스위치는 스택 방식으로 구성되어 상호 중복되고 스위치의 처리량을 증가시킵니다. 모든 노드의 두 네트워크 카드는 활성/대기 또는 부하 분산 모드로 구성되며 각각 두 개의 스위치에 연결됩니다. 이 배포 모델에서 액세스 레이어 스위치는 집계 레이어 역할도 합니다.
다중 랙 배치
다중 랙 배포 모드에서는 액세스 계층 스위치 외에도 각 액세스 계층 스위치를 연결하고 교차 랙 데이터 액세스를 담당하는 집계 계층 스위치도 필요합니다.
실제 배포 예시
랙에서 역할을 할당할 때 클러스터를 사용할 수 없게 만드는 액세스 레이어 스위치의 오류를 방지하려면 일부 고가용성 역할을 다른 액세스 레이어 스위치 아래에 배포해야 합니다(다른 액세스 레이어 아래에 여러 번, 고객은 서로 다른 물리적 랙 아래에 있는 시스템을 동일한 액세스 레이어 스위치에 연결할 것입니다.) 다음은 80개 노드의 물리적 배포 예입니다.