본문 바로가기
반응형

BigData 기술/Hadoop12

Apache Iceberg 기본 개념, 테이블 구조 요즘 세미나를 듣거나, 기술 블로그를 보면 Iceberg를 많이 사용하는 것 같다.지금 회사에서도 Iceberg를 도입해서 운영 단계로 넘어온 상태이다. 데이터레이크라고 해서 대규모, 다양한 유형의 데이터를 한 곳에 모아서 사용하게 되면서이에 적합한 테이블 포맷인 Iceberg를 더 많이 사용하게 되는 것 같다.  Apache Iceberg 란?.Iceberg는 넷플릭스에서 개발한 테이블 포맷이다.spark, impala, hive, trino 등 다양한 엔진에서 사용할 수 있다.Iceberg 테이블은 메타데이터를 파일 형태로 관리하기 때문에 좀 더 빠르고 효율적인 쿼리가 가능하다. impala 테이블을 iceberg 포맷으로 만든다고 해보자.sotred as iceberg 구문만 넣어주면 된다.crea.. 2025. 1. 24.
Hadoop 클러스터 구축 과정 1. Zookeeper 설치 1) 패키지 설치 zookeeper, zookeeper-server 2) 설정파일 배포 - zoo.cfg (myid 설정) 2. Hadoop 설치 1) 네임노드 - 패키지 설치 (hadoop, hadoop-hdfs-namenode) - 네임노드용 디렉토리 생성(dfs_namenode_name_dir) 2) YARN Resource manager - 패키지 설치(hadoop, hadoop-yarn-resourcemanager) 3) Journal Node - 패키지 설치(hadoop-hdfs-journalnode) - 저널노드용 디렉토리 생성 (dfs_journalnode_edits_dir) 4) ZKFC - 패키지 설치(hadoop-hdfs-zkfc) 5) Hadoop 설치 .. 2021. 4. 1.
DataNode failed volumes 원인 및 해결법 hadoop 2.7.4 테스트 클러스터 운영 중에 2대의 데이터노드가 shutdown 됐던 적이 있었습니다. 디스크 고장으로 인해 데이터노드 volume에 문제가 생긴 것이 원인이었습니다. 원인 파악 1. 데이터노드 로그(/var/log/hadoop-hdfs/hadoop-hdfs-datanode-mnode4.dev.com.log)를 확인해보니 데이터노드의 volume(/data1/hdfs/data)에 문제가 생겼다네요. (참고) 데이터노드는 volume(로컬디스크)에 block 데이터를 저장합니다. 2018-05-29 10:53:44,775 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode:mnode4.dev.com:50010 :DataXceiver erro.. 2021. 1. 7.
[HDFS] 네임노드 구동과정 (Namenode Startup Process) 네임노드가 시작되는 과정을 정리하면서 네임노드의 동작들을 더 제대로 이해해보고자 합니다 :) 1. fsimage를 디스크에서 읽어 메모리에 로딩한다. fsimage는 dfs.namenode.name.dir 경로에 저장되어 있다. 이 파일을 읽어 메모리에 로딩한다. 2. edits log 중에 반영되지 않은 것을 찾아 반영한다. 아직 체크포인팅 안 된 edits log를 journal노드에서 읽어온다. 체크포인팅이 안 된 edits log에는 파일이름에 inprogress가 붙는다. edits log를 fsimage에 반영한다. (체크포인팅) 3. 네임노드의 포트(8020, 50070)가 열린다. 그럼 데이터노드와 네임노드가 통신하며 데이터노드가 등록된다. 데이터노드가 네임노드에게 블록리포트를 보내준다. .. 2021. 1. 5.
[HDFS] Block Pool 개념 정리 HDFS에 데이터가 어떻게 저장되는지 이해하기 위해 Block Pool을 알아보겠습니다. Block Pool은 네임스페이스에 할당된 공간이라고 보면 된다. Block Pool에 블록 관리에 필요한 메타데이터(블록 위치 정보 등)를 저장한다. Block Pool은 메모리에 저장된다. Block Pool ID는 BP-- 형식으로 만들어진다. 네임노드 웹 UI(http://:50070)에서 Block Pool ID를 확인할 수 있다. HDFS Federation이 구성된 경우가 아니라면, 네임스페이스가 여러개 구성된 것이 아니기 때문에 Block Pool도 1개일 것이다. 데이터노드는 모든 Block Pool에 있는 블록들을 volume(로컬디스크)에 저장한다. 예를 들어, 데이터노드의 /data1/hdfs/.. 2021. 1. 4.
[HDFS] 하둡 Balancer 과정 개요 하둡 클러스터의 데이터 불균형 현상이 일어나는 원인과 밸런싱 과정을 알아본다. 하둡 클러스터 데이터 쏠림 현상 새로운 데이터 노드를 추가할 때 밸런서를 따로 돌리지 않으면 기존 데이터들은 새로운 데이터노드에 저장되지 않는다. 클라이언트 프로그램 클라이언트가 HDFS 쓰기 작업을 요청한다. 근데 어차피 어떤 데이터 노드에 쓸 건지는 네임노드가 결정해주는 건데 클라이언트 프로그램 때문에 데이터 쏠림이 발생하는 건가? HDFS 블록 할당 HDFS에 블록을 할당할 때 데이터노드들의 용량까지 고려되지 않는다. 그러다 보면 HDFS 언밸런싱이 생기게 된다. 나름의 할당 기준은 있다. 복제본 3개. Node local -> Rack local -> off switch 기준으로 블록이 할당된다. 하둡 클러스터 밸.. 2020. 7. 20.
반응형