Apache Hadoop 3.0.0
- Minimum required Java version increased from Java 7 to Java 8
- Support for Erasure Coding(EC) in HDFS
- 오버헤드 비교
- 기존 방식에서 3개 Replication의 경우 200% 오버헤드를 초래함
- 1개의 Data Block을 분할시킨 여러 조각(Stripe)의 Data Block과 2개 이상의 Parity Block으로 구성 시 50% 오버헤드만 존재
- Directory-level EC policies
- 표현: codec-num data blocks (Ndb)-num parity blocks (Npb)-cell size
- 최소 요구 구성 노드: Ndb + Npb
- 현재 6개의 Policy (RS: Reed-Solomon)
- RS-3-2-1024k, RS-6-3-1024k (기본값), RS-10-4-1024k
- RS-LEGACY-6-3-1024k, XOR-2-1-1024k
- REPLICATION (기존 복제 방식)
- Intel Storage Acceleration 기술 지원
- 한계점: 기술적 한계로 append, hflush, hsync를 지원할 수 없음
- 대신 StreamCapabilities API를 이용하여 hflush와 hsync를 사용 가능한지 확인 가능
- YARN Timeline Service v.2 (early preview)
- Improving scalability and reliability of Timeline Service
- Enhancing usability by introducing flows and aggregation
- Support for Opportunistic Containers and Distributed Scheduling
- 리소스 부족으로 할당이 불가한 경우 노드 매니저에 의해 큐에 대기 후 컨테이너를 할당 가능
- MapReduce task-level native optimization
- NativeMapOuputCollector(C++로 구현된 Native 프로그램을 JNI로 호출)를 통한 Mapper의 K/V 처리로 Sort, Spill, IFile Serialization에서 약 30% 성능 향상 결과를 얻음
- 단, 실험적 결과이기에 모든 환경에서 보장할 수 없음
- Support for more than 2 NameNodes
- 기존 1 Active NameNode, 1 Standby NameNode
- 현재 N Active NameNode, N Standby NameNode로 구성하여 높은 Fault-tolerance 제공 → 기존 Fail Over 문제 해결
- 하지만 Connection Overhead 때문에 최대 3 Namenode를 추천
- Default ports of multiple services have been changed
- 다른 애플리케이션과의 충돌 방지를 위한 기본 포트 변경
- Namenode ports: 50470 → 9871, 50070 → 9870, 8020 → 9820
- Secondary NN ports: 50091 → 9869, 50090 → 9868
- Datanode ports: 50020 → 9867, 50010 → 9866, 50475 → 9865, 50075 → 9864
- KMS server port : 16000 → 9600
- Intra-datanode balancer
- 기존 Inter-datanode balancer의 한계점을 해소
- Datanode의 디스크가 추가/교체되는 경우 diskbalancer로 불균형 문제 해결
- Reworked daemon and task heap management
- 데몬 힙 사이즈를 위한 Auto_tuning 제공(기존 HADOOP_HEAPSIZE 옵션은 deprecated)
- HDFS Router-Based Federation
- Router를 통한 NameNode Federation 기능 제공
- API-based configuration of Capacity Scheduler queue configuration
- REST API를 이용하여 Capacity Scheduler (YARN 스케줄러 중 하나)의 설정 변경이 가능함
- YARN Resource Types
- CPU와 Memory 외에도 GPU, locally-attached storage와 같은 사용자 정의 리소스 타입을 지원함
- Shell Script Rewrite
- 오랫동안 가지고 있던 버그 수정 및 새로운 기능 추가를 위해 쉘스크립트 수정
- 기존 쉘스크립트 버전에 대해 완벽하게 호환되지 않아 Hadoop 환경변수를 사용하거나 shell command를 이용 경우 검토 필요
- Support for Microsoft Azure Data Lake and Aliyun Object Storage System filesystem connectors
- S3Guard: Consistency and Metadata Caching for the S3A filesystem client
- Amazon S3의 클라이언트에게 DynamoDB 연계를 위한 옵션 기능
'Development > Hadoop' 카테고리의 다른 글
HBase 공부 - HBase의 특징과 구조 (1) | 2019.01.24 |
---|---|
하둡 공부 - Yarn Scheduler (0) | 2019.01.24 |
하둡 공부 - 관련 프로젝트 (0) | 2019.01.24 |
하둡 공부 - 하둡 관리 (0) | 2019.01.24 |
하둡 공부 - 하둡 클러스터 설치 및 고려사항 (0) | 2019.01.24 |