MapR FS

MapR FS
MapR FS 기능
개발자맵R
풀네임MapR FS
소개했다2011년 Linux 탑재
구조물들
디렉토리 내용B-트리
파일 할당멀티레벨 B트리
한계
최대 볼륨 크기무제한의
최대 파일 크기16 EiB
최대 파일 수무제한의
특징들
파일 시스템 권한표준 Unix, 액세스 제어 표현
투과적 압축네.
투과적 암호화네.
다른.
지원되는 운영 체제리눅스

MapR 파일 시스템(MapR FS)은 매우 대규모 및 고성능 사용을 [1]모두 지원하는 클러스터 파일 시스템입니다.MapR FS는 NFS 및 FUSE 인터페이스뿐만 아니라 Apache [2][3]Hadoop 및 Apache Spark와 같은 많은 시스템에서 사용되는 HDFS 인터페이스를 통한 기존 읽기/쓰기 파일 액세스를 비롯한 다양한 인터페이스를 지원합니다.파일 지향 액세스 외에도 MapR FS는 Apache HBaseApache Kafka API를 사용한 테이블 및 메시지 스트림에 대한 액세스와 문서 데이터베이스 인터페이스를 지원합니다.

2010년에 [4]처음 출시된 MapR FS는 표 형식 및 메시징 인터페이스가 추가되었기 때문에 일반적으로 MapR 통합 데이터 플랫폼이라고 불립니다.그러나 이러한 모든 형태의 영속적인 데이터 스토리지를 구현하기 위해 동일한 핵심 기술이 사용되며, 궁극적으로 모든 인터페이스가 동일한 서버 프로세스에서 지원됩니다.데이터 플랫폼 전체의 다양한 기능을 구별하기 위해 MapR FS라는 용어는 파일 지향 인터페이스를 가리키며 MapR DB 또는 MapR JSON DB는 테이블 형식의 인터페이스를 가리키며 MapR 스트림은 메시지스트리밍 기능을 설명하기 위해 사용됩니다.

MapR FS는 파일 및 기타 오브젝트(테이블 등)와의 균일한 접근을 제공하는 클러스터 파일 시스템입니다.이것에 의해, 시스템의 어느 클라이언트로부터도 액세스 가능한 유니버설 네임스페이스를 사용합니다.액세스 컨트롤은 액세스컨트롤 표현을 사용하는 파일, 테이블 및 스트림에도 제공됩니다.이러한 접근컨트롤은 허용된 사용자 또는 그룹의 목록뿐만 아니라 사용자 ID와 그룹의 부울 조합을 허용하기 위해 보다 일반적인(제한된) 접근컨트롤 목록의 확장입니다.

역사

MapR FS는 2009년부터 MapR Technologies에 의해 개발되어 보다 성능적이고 안정적인 플랫폼을 제공함으로써 Apache Hadoop의 기능을 확장했습니다.MapR FS의 설계는 Andrew File System(AFS; 앤드류 파일 시스템)과 같은 다양한 시스템에 의해 영향을 받습니다.AFS에서의 볼륨 개념은 MapR FS에서의 구현은 완전히 다르지만 사용자의 관점에서 보면 상당히 유사하다.AFS와 MapR FS의 주요 차이점은 AFS가 약한 일관성만 제공하는 반면 후자는 강력한 일관성 모델을 사용한다는 것입니다.

Hadoop 프로그램 지원의 원래 목표를 달성하기 위해 MapR FS는 HDFS 함수 호출을 사용자 정의 원격 프로시저 호출(RPC) 메커니즘에 기반한 내부 API로 변환하여 HDFS API를 지원합니다.MapR FS에서는 HDFS API를 사용하는 경우에도 HDFS의 일반 쓰기 모델은 완전히 변경 가능한 파일 시스템으로 대체됩니다.파일 변환을 지원하는 기능을 통해 NFS 작업을 내부 MapR RPC 호출로 변환하는 NFS 서버를 구현할 수 있습니다.Filesystem in Userspace(FUSE) 인터페이스와 Apache HBase API의 대략적인 에뮬레이션을 가능하게 하기 위해 유사한 메커니즘이 사용됩니다.

아키텍처

MapR FS의 파일은 파일 내용을 청크로 분할하여 내부적으로 구현됩니다.일반적으로 각 파일의 크기는 각 파일에 고유하지만 크기는 256MB입니다.각 청크는 클러스터의 복제 요소인 컨테이너에 기록됩니다.컨테이너는 복제되고 복제는 각 복제본이 순서대로 다음 복제본에 쓰기 작업을 전달하는 선형 방식 또는 마스터 복제본이 다른 모든 복제본에 쓰기 작업을 동시에 전달하는 스타 방식으로 수행됩니다.모든 복제본에 대한 모든 쓰기가 완료되면 마스터 복제본이 쓰기를 승인합니다.내부적으로 컨테이너는 파일 오프셋을 파일 내의 청크에 매핑하거나 파일 오프셋을 청크 내의 올바른 8kB 블록에 매핑하는 등 여러 수준에서 사용되는 B-트리를 구현합니다.

이러한 B-트리는 디렉토리를 실장하기 위해서도 사용됩니다.디렉토리내의 각 파일명 또는 디렉토리명의 긴 해시는, 자파일 또는 디렉토리 테이블을 검색하는 경우에 사용됩니다.

볼륨은 액세스 제어 및 관리 작업을 추가할 수 있다는 점을 제외하고는 여러 면에서 디렉토리와 유사한 특수 데이터 구조입니다.볼륨의 주목할 만한 기능은 클러스터 내에 볼륨이 상주하는 노드를 제한하여 성능을 제어할 수 있다는 것입니다. 특히 다양한 워크로드를 실행하는 경쟁이 심한 멀티 테넌트 시스템에서는 더욱 그렇습니다.

MapR FS에서는 전용 기술을 사용하여 컨테이너에 트랜잭션을 구현하고 일관된 크래시 복구를 실현합니다.

파일 시스템의[5] 다른 기능은 다음과 같습니다.

  • 모든 컨테이너의 위치 및 복제 체인에 대한 해당 배치를 포함하는 분산 클러스터 메타데이터입니다.
  • 디렉토리 트리를 포함한 분산 메타데이터.모든 디렉토리가 완전히 복제되고 클러스터의 모든 메타데이터를 포함하는 단일 노드가 없습니다.
  • B-tree를 효율적으로 사용하여 매우 큰 디렉토리에서도 고성능을 실현합니다.
  • 파티션 허용치.가용성은 저하될 수 있지만 클러스터는 일관성을 잃지 않고 파티셔닝할 수 있습니다.볼륨 미러 및 테이블 및 스트림의 거의 실시간 복제를 사용하여 여러 클러스터 간의 제한된 일관성 복제도 지원됩니다.
  • 일관된 멀티 스레드 업데이트글로벌 잠금 구조를 사용하지 않고도 매우 많은 제어 스레드를 통해 파일을 동시에 업데이트하거나 읽을 수 있습니다.
  • 롤링 업그레이드 및 온라인 파일 시스템 유지 보수메이저 버전 업그레이드를 포함한 거의 모든 유지보수는 클러스터가 거의 최대 속도로 계속 작동하는 동안 수행할 수 있습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ Brennan, Bob. "Flash Memory Summit". youtube. Samsung. Retrieved June 21, 2016.
  2. ^ Dunning, Ted; Friedman, Ellen (January 2015). "Chapter 3: Understanding the MapR Distribution for Apache Hadoop". Real World Hadoop (First ed.). Sebastopol, CA: O'Reilly Media, Inc. pp. 23–28. ISBN 978-1-491-92395-5. Retrieved June 21, 2016.
  3. ^ Perez, Nicolas. "How MapR improves our productivity and simplifies our design". Medium. Medium. Retrieved June 21, 2016.
  4. ^ "MapR 1.0 Release Notes". MapR Documentation. MapR. Retrieved June 21, 2016.
  5. ^ Srivas, MC. "MapR File System". Hadoop Summit 2011. Hortonworks. Retrieved June 21, 2016.

외부 링크