일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- HDFS
- HBase
- docker
- HIVE
- jupyter
- HDP
- ambari
- Example DAG
- java
- Scala
- execution_date
- Windows
- Lambda architecture
- Service
- slack app
- 빅데이터
- 람다 아키텍처
- Namenode
- NoSQL
- python
- yarn
- slack
- MapReduce
- Kafka
- hadoop
- LDAP
- airflow
- re
- 정규표현식
- SlackWebhookOperator
- Today
- Total
IT 삽질기
Hadoop3 변경점 본문
Hadoop3에서 변경된 내용 중 몇몇 중요한 사항들에 대해 알아보도록 하자
Java8
기존의 Hadoop2는 Java 7버전을 지원했는데 Hadoop3를 사용하기 위해서는 Java8를 설치해야 한다
erasure coding
가장 큰 변경점 중 하나인 erasure coding은 기존의 Hadoop2에서 문제가 되었던 스토리지 관련 문제를 해결한다
Hadoop2 에서는 기본적으로 데이터를 저장하기 위해 3배의 용량이 필요했다
예를 들어, 1TB의 데이터를 저장하기 위해서는 3TB의 용량이 필요했던 것이다 이는 HDFS에서 데이터 유실이 일어나지 않게 해주는 역할을 함과 동시에 데이터를 많이 저장할 수 없는 단점으로 작용했다
물론 설정을 통해 Replication 수를 줄여 용량을 확보하는 방법이 있지만 이는 안정성을 떨어뜨려 default 값인 3배수를 유지한다
이런 단점을 해결하기 위해 개발된 것이 erasure coding이고 1.4배의 용량으로 안정성을 확보한다
네트워크 CPU에 오버헤드가 발생할 수 있지만, 용량적인 측면에서는 많은 이득을 볼 수 있다
erasure coding에 대한 자세한 내용은 추후 다시 포스팅 할 예정이다
2개 이상의 NameNode 지원
Hadoop2에서는 active - standby 형식으로 NN을 지원했다면 Hadoop3에서는 standby NN을 여러 개 사용할 수 있다
이로 인해 standby NN을 여러 개 놓고 좀 더 안정적인 클러스터를 운영할 수 있다
데이터 노드 balancer
단일 DataNode에서 여러 개의 디스크를 관리하며 정상적인 상태에서는 디스크가 고르게 채워지지만, 데이터 교체가 일어나는 경우에는 디스크간 밸런싱 문제가 발생
이러한 상황이 기존 HDFS balancer에서는 동작하지 않지만 hadoop3 에서는 해당 기능을 제공
Port 변경
기존에는 Hadoop 서비스의 기본 포트가 Linux의 임시 포트 범위(32768 - 61000)에 있어 다른 서비스와 충돌하는 경우가 발생했는데 이를 방지하기 위해 Hadoop 일부 서비스의 port가 변경
Namenode : 50070 -> 9070 / 50470 -> 9470
DataNode : 50010 -> 9010 / 50020 -> 9020 / 50075 -> 9075 / 50475 -> 9475
Secondary NameNode : 50090 -> 9090 / 50091 -> 9091
issues.apache.org/jira/browse/HDFS-9427
이 외에도 아래와 같은 추가 기능을 제공
Yarn TimeLine Service v2
TimeLine Service v2는 확장성과 안정성을 개선하고 flow와 aggregation을 도입
hadoop.apache.org/docs/r3.0.0/hadoop-yarn/hadoop-yarn-site/TimelineServiceV2.html
Shell script 재작성
Shell script에 존재했던 버그가 수정되고 새로운 기능이 포함
hadoop.apache.org/docs/r3.0.0/hadoop-project-dist/hadoop-common/UnixShellGuide.html
hadoop3의 새로운 변경점은 아래의 링크에 모두 정리되어 있으며, 해당 포스트의 내용도 hadoop의 내용을 옮겨왔습니다
'BigData > Hadoop' 카테고리의 다른 글
YARN 스케줄링 (0) | 2021.04.19 |
---|---|
Apache Hadoop 관련 폐기 프로젝트(2021.04) (0) | 2021.04.15 |
Hadoop namenode.FSEditLog Error (2) | 2021.04.11 |
Hadoop ZKFC(Zookeeper Failover Controller) (0) | 2021.04.10 |
Hadoop2 NameNode HA QJM(Quorum Journal Manager) (0) | 2021.04.08 |