Skip to main content
NetApp artificial intelligence solutions
본 한국어 번역은 사용자 편의를 위해 제공되는 기계 번역입니다. 영어 버전과 한국어 버전이 서로 어긋나는 경우에는 언제나 영어 버전이 우선합니다.

TR-4570: Apache Spark용 NetApp 스토리지 솔루션: 아키텍처, 사용 사례 및 성능 결과

Rick Huang, Karthikeyan Nagalingam, NetApp

이 문서는 Apache Spark 아키텍처, 고객 사용 사례, 빅데이터 분석 및 인공 지능(AI)과 관련된 NetApp 스토리지 포트폴리오에 중점을 둡니다. 또한 일반적인 Hadoop 시스템에 대해 업계 표준 AI, 머신 러닝(ML), 딥 러닝(DL) 도구를 사용하여 다양한 테스트 결과를 제시하여 적절한 Spark 솔루션을 선택할 수 있도록 도와줍니다. 시작하려면 Spark 아키텍처, 적절한 구성 요소, 두 가지 배포 모드(클러스터 및 클라이언트)가 필요합니다.

이 문서에서는 구성 문제를 해결하기 위한 고객 사용 사례를 제공하고 Spark를 활용한 빅데이터 분석 및 AI, ML, DL과 관련된 NetApp 스토리지 포트폴리오에 대한 개요를 설명합니다. 그런 다음 Spark 관련 사용 사례와 NetApp Spark 솔루션 포트폴리오에서 파생된 테스트 결과로 마무리합니다.

고객의 과제

이 섹션에서는 소매, 디지털 마케팅, 뱅킹, 개별 제조, 공정 제조, 정부 및 전문 서비스와 같은 데이터 증가 산업에서 빅데이터 분석 및 AI/ML/DL과 관련된 고객 과제에 중점을 둡니다.

예측할 수 없는 성능

기존 Hadoop 배포에서는 일반적으로 상용 하드웨어를 사용합니다. 성능을 향상시키려면 네트워크, 운영 체제, Hadoop 클러스터, Spark와 같은 생태계 구성 요소, 하드웨어를 조정해야 합니다. 각 계층을 조정하더라도 Hadoop은 사용자 환경에서 고성능을 위해 설계되지 않은 상용 하드웨어에서 실행되기 때문에 원하는 성능 수준을 달성하는 것이 어려울 수 있습니다.

미디어 및 노드 오류

일반적인 조건에서도 상용 하드웨어는 고장이 나기 쉽습니다. 데이터 노드의 디스크 하나에 장애가 발생하면 Hadoop 마스터는 기본적으로 해당 노드가 비정상적이라고 간주합니다. 그런 다음 네트워크를 통해 해당 노드의 특정 데이터를 복제본에서 정상 노드로 복사합니다. 이 프로세스는 Hadoop 작업에 대한 네트워크 패킷 속도를 늦춥니다. 그런 다음 클러스터는 데이터를 다시 복사하고, 건강에 해로운 노드가 건강한 상태로 돌아오면 과도하게 복제된 데이터를 제거해야 합니다.

Hadoop 공급업체 종속

Hadoop 배포업체는 자체 버전을 갖춘 자체 Hadoop 배포판을 보유하고 있어 고객이 해당 배포판에 종속됩니다. 그러나 많은 고객은 특정 Hadoop 배포판에 구애받지 않는 메모리 내 분석에 대한 지원을 요구합니다. 그들은 배포 방식을 변경하면서도 분석 결과를 그대로 적용할 수 있는 자유가 필요합니다.

두 개 이상의 언어에 대한 지원 부족

고객은 종종 작업을 실행하기 위해 MapReduce Java 프로그램 외에도 여러 언어에 대한 지원을 요구합니다. SQL 및 스크립트와 같은 옵션은 답변을 얻는 데 더 많은 유연성을 제공하고, 데이터를 구성하고 검색하는 데 더 많은 옵션을 제공하며, 분석 프레임워크로 데이터를 이동하는 더 빠른 방법을 제공합니다.

사용의 어려움

얼마 전부터 사람들은 Hadoop을 사용하기 어렵다고 불평해 왔습니다. Hadoop은 새로운 버전이 나올 때마다 더 간단해지고 강력해졌지만, 이러한 비판은 여전히 존재합니다. Hadoop을 사용하려면 Java와 MapReduce 프로그래밍 패턴을 이해해야 하는데, 이는 데이터베이스 관리자와 기존 스크립팅 기술을 보유한 사람들에게는 어려운 일입니다.

복잡한 프레임워크와 도구

기업의 AI 팀은 여러 가지 과제에 직면합니다. 전문적인 데이터 과학 지식이 있더라도, 다양한 배포 생태계와 애플리케이션에 맞는 도구와 프레임워크를 하나에서 다른 하나로 간단히 변환할 수는 없습니다. 데이터 과학 플랫폼은 Spark 기반으로 구축된 해당 빅데이터 플랫폼과 원활하게 통합되어야 하며, 데이터 이동이 쉽고, 재사용 가능한 모델, 즉시 사용 가능한 코드, 프로토타입 제작, 검증, 버전 관리, 공유, 재사용 및 모델의 신속한 프로덕션 배포를 위한 모범 사례를 지원하는 도구가 있어야 합니다.

왜 NetApp 선택해야 하나요?

NetApp 다음과 같은 방법으로 Spark 경험을 개선할 수 있습니다.

  • NetApp NFS 직접 액세스(아래 그림 참조)를 통해 고객은 데이터를 이동하거나 복사하지 않고도 기존 또는 새로운 NFSv3 또는 NFSv4 데이터에 대한 빅데이터 분석 작업을 실행할 수 있습니다. 이를 통해 여러 개의 데이터 사본이 생성되는 것을 방지하고 소스와 데이터를 동기화할 필요성이 없어집니다.

  • 더 효율적인 저장과 더 적은 서버 복제. 예를 들어, NetApp E-Series Hadoop 솔루션은 3개가 아닌 2개의 데이터 복제본이 필요하고, FAS Hadoop 솔루션은 데이터 소스는 필요하지만 데이터 복제나 사본은 필요하지 않습니다. NetApp 스토리지 솔루션은 서버 간 트래픽도 줄어듭니다.

  • 드라이브 및 노드 장애 발생 시 Hadoop 작업 및 클러스터 동작이 개선되었습니다.

  • 더 나은 데이터 수집 성능.

대체 Apache Spark 구성.

예를 들어, 금융 및 의료 분야에서는 데이터를 한 장소에서 다른 장소로 이동하려면 법적 의무를 충족해야 하는데, 이는 쉬운 일이 아닙니다. 이 시나리오에서 NetApp NFS 직접 액세스는 원래 위치에서 재무 및 의료 데이터를 분석합니다. 또 다른 주요 이점은 NetApp NFS 직접 액세스를 사용하면 기본 Hadoop 명령을 사용하고 NetApp 의 풍부한 데이터 관리 포트폴리오를 통해 데이터 보호 워크플로를 활성화하여 Hadoop 데이터를 보호하는 것이 간소화된다는 것입니다.

NetApp NFS 직접 액세스는 Hadoop/Spark 클러스터에 대해 두 가지 종류의 배포 옵션을 제공합니다.

  • 기본적으로 Hadoop 또는 Spark 클러스터는 데이터 저장을 위해 Hadoop 분산 파일 시스템(HDFS)과 기본 파일 시스템을 사용합니다. NetApp NFS 직접 액세스를 통해 기본 HDFS를 NFS 스토리지로 대체하여 기본 파일 시스템으로 사용할 수 있으므로 NFS 데이터에 대한 직접 분석이 가능합니다.

  • 또 다른 배포 옵션으로, NetApp NFS 직접 액세스는 단일 Hadoop 또는 Spark 클러스터에서 HDFS와 함께 추가 스토리지로 NFS를 구성하는 것을 지원합니다. 이 경우, 고객은 NFS 내보내기를 통해 데이터를 공유하고 HDFS 데이터와 함께 동일한 클러스터에서 해당 데이터에 액세스할 수 있습니다.

NetApp NFS 직접 액세스를 사용하면 다음과 같은 주요 이점이 있습니다.

  • 현재 위치에서 데이터를 분석하면 HDFS와 같은 Hadoop 인프라로 분석 데이터를 이동하는 데 드는 시간과 성능이 많이 소요되는 작업을 방지할 수 있습니다.

  • 복제본 수를 3개에서 1개로 줄입니다.

  • 사용자가 컴퓨팅과 스토리지를 분리하여 독립적으로 확장할 수 있도록 지원합니다.

  • ONTAP 의 풍부한 데이터 관리 기능을 활용하여 기업 데이터 보호를 제공합니다.

  • Hortonworks 데이터 플랫폼 인증.

  • 하이브리드 데이터 분석 배포를 활성화합니다.

  • 동적 멀티스레드 기능을 활용하여 백업 시간을 줄입니다.

보다"TR-4657: NetApp 하이브리드 클라우드 데이터 솔루션 - 고객 사용 사례 기반 Spark 및 Hadoop" Hadoop 데이터 백업, 클라우드에서 온프레미스로의 백업 및 재해 복구, 기존 Hadoop 데이터에 대한 DevTest 지원, 데이터 보호 및 멀티클라우드 연결, 분석 워크로드 가속화를 지원합니다.

다음 섹션에서는 Spark 고객에게 중요한 저장 기능에 대해 설명합니다.

스토리지 계층화

Hadoop 스토리지 계층화를 사용하면 스토리지 정책에 따라 다양한 스토리지 유형에 파일을 저장할 수 있습니다. 저장 유형에는 다음이 포함됩니다. hot , cold , warm , all_ssd , one_ssd , 그리고 lazy_persist .

우리는 SSD와 SAS 드라이브가 서로 다른 스토리지 정책을 사용하는 NetApp AFF 스토리지 컨트롤러와 E-Series 스토리지 컨트롤러에서 Hadoop 스토리지 계층화의 검증을 수행했습니다. AFF-A800이 있는 Spark 클러스터에는 4개의 컴퓨팅 워커 노드가 있는 반면, E-Series가 있는 클러스터에는 8개가 있습니다. 이는 주로 솔리드 스테이트 드라이브(SSD)와 하드 드라이브 디스크(HDD)의 성능을 비교하기 위한 것입니다.

다음 그림은 Hadoop SSD에 대한 NetApp 솔루션의 성능을 보여줍니다.

1TB의 데이터를 정리할 시간입니다.

  • 기본 NL-SAS 구성에서는 8개의 컴퓨팅 노드와 96개의 NL-SAS 드라이브를 사용했습니다. 이 구성에서는 4분 38초 만에 1TB의 데이터가 생성되었습니다. 보다 "Hadoop을 위한 TR-3969 NetApp E-Series 솔루션" 클러스터 및 스토리지 구성에 대한 자세한 내용은 다음을 참조하세요.

  • TeraGen을 사용하면 SSD 구성이 NL-SAS 구성보다 15.66배 빠르게 1TB의 데이터를 생성할 수 있습니다. 게다가 SSD 구성은 컴퓨팅 노드 수와 디스크 드라이브 수를 절반으로 줄였습니다(총 24개의 SSD 드라이브). 작업 완료 시간을 기준으로 볼 때 NL-SAS 구성보다 거의 두 배나 빨랐습니다.

  • TeraSort를 사용하면 SSD 구성이 NL-SAS 구성보다 1TB의 데이터를 1138.36배 더 빠르게 정렬할 수 있습니다. 게다가 SSD 구성은 컴퓨팅 노드 수와 디스크 드라이브 수를 절반으로 줄였습니다(총 24개의 SSD 드라이브). 따라서 드라이브당으로 따지면 NL-SAS 구성보다 약 3배 더 빠릅니다.

  • 결론은 회전 디스크에서 올플래시로 전환하면 성능이 향상된다는 것입니다. 병목 현상은 컴퓨팅 노드의 수가 아니었습니다. NetApp의 올플래시 스토리지를 사용하면 런타임 성능이 원활하게 확장됩니다.

  • NFS를 사용하면 데이터가 모두 풀링된 것과 기능적으로 동일하므로 작업 부하에 따라 컴퓨팅 노드 수를 줄일 수 있습니다. Apache Spark 클러스터 사용자는 컴퓨팅 노드 수를 변경할 때 수동으로 데이터를 재조정할 필요가 없습니다.

성능 확장 - 확장

AFF 솔루션에서 Hadoop 클러스터로부터 더 많은 컴퓨팅 성능이 필요한 경우 적절한 수의 스토리지 컨트롤러가 있는 데이터 노드를 추가할 수 있습니다. NetApp 워크로드 특성에 따라 스토리지 컨트롤러 어레이당 4개의 데이터 노드로 시작하여 스토리지 컨트롤러당 8개의 데이터 노드로 늘릴 것을 권장합니다.

AFF 와 FAS 현장 분석에 적합합니다. 컴퓨팅 요구 사항에 따라 노드 관리자를 추가할 수 있으며, 중단 없는 운영을 통해 가동 중지 없이 필요에 따라 스토리지 컨트롤러를 추가할 수 있습니다. AFF 및 FAS 에는 NVME 미디어 지원, 효율성 보장, 데이터 감소, QoS, 예측 분석, 클라우드 계층화, 복제, 클라우드 배포 및 보안과 같은 풍부한 기능이 제공됩니다. 고객의 요구 사항을 충족할 수 있도록 NetApp 추가 라이선스 비용 없이 파일 시스템 분석, 할당량, 온박스 로드 밸런싱과 같은 기능을 제공합니다. NetApp 경쟁사보다 동시 작업 수, 대기 시간, 작업이 더 간단하고 초당 기가바이트 처리량이 더 높은 성능을 제공합니다. 또한 NetApp Cloud Volumes ONTAP 3대 주요 클라우드 공급업체 모두에서 실행됩니다.

성능 확장 - 확장

확장 기능을 사용하면 추가 저장 용량이 필요할 때 AFF, FAS 및 E-시리즈 시스템에 디스크 드라이브를 추가할 수 있습니다. Cloud Volumes ONTAP 사용하면 스토리지를 PB 수준으로 확장하는 데 두 가지 요소가 결합됩니다. 블록 스토리지에서 개체 스토리지로 자주 사용되지 않는 데이터를 계층화하고 추가 컴퓨팅 없이 Cloud Volumes ONTAP 라이선스를 스태킹합니다.

다중 프로토콜

NetApp 시스템은 SAS, iSCSI, FCP, InfiniBand, NFS를 포함하여 Hadoop 배포를 위한 대부분의 프로토콜을 지원합니다.

운영 및 지원 솔루션

이 문서에 설명된 Hadoop 솔루션은 NetApp 에서 지원됩니다. 이러한 솔루션은 주요 Hadoop 유통업체로부터도 인증을 받았습니다. 자세한 내용은 다음을 참조하세요. "호튼웍스" 사이트 및 Cloudera "인증" 그리고 "파트너" 사이트.