요약

완료됨
  • HDFS(Hadoop 분산 파일 시스템)는 GFS(Google 파일 시스템)의 오픈 소스 복제본입니다.
  • HDFS는 노드의 클러스터에서 실행되도록 설계되었으며, 모델의 I/O 데이터에 대해 DFS(분산 파일 시스템)를 제공하여 MapReduce 프로그래밍 모델을 지원합니다.
  • HDFS에는 클러스터 전체의 공통 네임스페이스가 있고, 큰 파일을 저장할 수 있으며, 한 번 쓰기, 여러 번 읽기 액세스에 최적화되어 있고, 노드 오류가 발생하는 경우 고가용성을 제공하도록 설계되었습니다.
  • HDFS는 기본-보조 토폴로지를 따르며, NameNode는 메타데이터를 처리하고 데이터는 DataNodes에 저장됩니다.
  • HDFS의 파일은 블록('청크'라고도 함)으로 분할되며 기본 크기는 128MB입니다.
  • 블록은 기본적으로 전체 클러스터에서 세 번(복제 비율이라고 함) 복제됩니다.
  • HDFS는 트리 스타일 클러스터 토폴로지를 가정하고, 파일 액세스를 최적화하여 성능을 개선하고, 블록 복제본을 랙에 배치하려 합니다.
  • 원래 HDFS 디자인은 변경 불가능한 의미 체계를 따르며 쓰기에 대한 기존 파일 열기를 허용하지 않습니다. 최신 버전의 HDFS는 파일 추가를 지원합니다.
  • 모든 복제본이 작성된 후에만 파일 쓰기가 완료로 표시되기 때문에 HDFS는 일관성이 뛰어납니다.
  • NameNode는 하트비트 메커니즘을 사용하여 DataNode 오류를 추적합니다. DataNodes가 응답하지 않으면 정지된 것으로 표시되며, 해당 DataNode에 있던 블록의 복사본을 더 만들어 원하는 복제 비율을 유지합니다.
  • NameNode는 원래 HDFS 디자인의 SPOF(단일 실패 지점)입니다. 보조 NameNode는 기본 NameNode에서 메타데이터를 주기적으로 복사하도록 지정될 수 있지만 완전한 장애 조치(failover) 중복성을 제공하지는 않습니다.
  • HDFS는 MapReduce, 높은 안정성, 바이트당 저렴한 비용 및 뛰어난 확장성을 위한 높은 대역폭을 제공합니다.
  • HDFS는 작은 파일에는 비효율적이며(큰 기본 블록 크기 때문), POSIX 비규격이고, 최신 버전의 HDFS의 추가 기능을 제외하면 파일에 다시 쓸 수 없습니다.
  • Ceph는 클라우드 애플리케이션을 위해 설계된 스토리지 시스템입니다. Ceph는 분산 개체 저장소 기반의 계층화된 서비스입니다.
  • Ceph의 핵심은 OSD(개체 저장소 디먼) 및 모니터 노드의 자체 관리 클러스터인 RADOS입니다. 노드는 고급 기술을 사용하여 자체 관리, 내결함성 및 확장성을 제공합니다.
  • RADOS의 개체는 배치 그룹에 해시된 다음에 CRUSH 알고리즘을 사용하여 OSD에 연결됩니다.
  • RADOS는 다양한 프로그래밍 언어와 함께 작동하는 네이티브 RADOS 클라이언트인 librados를 통해 액세스할 수 있습니다.
  • 애플리케이션은 REST 인터페이스를 통해 S3 및 Swift 프로토콜을 지원하는 RADOS 게이트웨이를 통하여 RADOS의 데이터에 개체에 액세스할 수도 있습니다.
  • RADOS는 RBD를 사용하여 블록 스토리지 디바이스를 내보낼 수도 있습니다. 가상 머신에 대한 디스크 이미지로 사용될 수 있습니다.
  • Ceph FS는 RADOS를 통해 계층화된 파일 시스템으로 파일 시스템 메타데이터를 추적하는 특수 메타데이터 노드를 사용하여 구현됩니다. 메타데이터 노드는 특수한 알고리즘을 통해 파일 시스템 트리를 동적으로 분할합니다. 또한 RADOS에 대한 메타데이터 항목은 내결함성을 위해 저널링됩니다.