일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Namenode
- 빅데이터
- ambari
- HDP
- Example DAG
- HBase
- airflow
- java
- Windows
- Lambda architecture
- 정규표현식
- Scala
- slack
- Kafka
- docker
- python
- HIVE
- execution_date
- SlackWebhookOperator
- HDFS
- re
- slack app
- Service
- jupyter
- yarn
- MapReduce
- 람다 아키텍처
- NoSQL
- LDAP
- hadoop
- Today
- Total
목록BigData/Hadoop (24)
IT 삽질기
이번 글에서는 Hadoop MapReduce 과정에서 이야기하는 Combiner 함수에 대해 알아보도록 하자. Combiner 함수 Hadoop을 사용하면 데이터를 분산처리하고 많은 양의 자원을 사용할 수 있지만 무한한 자원을 사용하는 것은 아니다. Map, Reduce 작업 진행시 자원을 최소화하여 사용할 필요가 있는데 Combiner는 Map-Reduce간 데이터 전송을 최소화할 수 있게 해준다. Combiner 함수는 Reduce 함수의 출력이 Reduce 함수의 입력이 되는 것을 허용하는 것을 뜻한다. 예를 들어 최대값, 최솟값, count와 같은 결과를 얻기 위해 Map task에서 취합한 결과를 reduce에서만 진행하는 것이 아니라 각각의 Map task에서 최댓값, 최솟값, count와 같..
이번 글에서는 hive의 managed table와 external table에 대해 알아보도록 하자. hive에서는 hive에서 생애주기를 관리하는 managed table과 그렇지 않은 external table를 생성해서 사용할 수 있다. 각각 어떻게 무엇인지 알아보도록 하자. Managed table 먼저 Managed table는 hdfs상 hive.metastore.warehouse.dir 경로에 존재하며 해당 디렉터리 하위에 테이블의 데이터가 저장되게 된다. 예를 들어 hive.metastore.warehouse.dir의 설정값이 /apps/hive/managed로 설정되어 있다면 managed table의 경로는 /apps/hive/managed의 하위가 되고, 일반적인 방법으로 테이블을 ..
이번 글에서는 Namenode의 safe mode에 대해서 알아보도록 하자. Namenode Safe mode safe mode는 일반적으로 Namenode(NN)가 새로 시작되는 경우에 들어가게 되는데 Namenode가 새로 시작되게 되면 지난번 글에서 설명했던 것과 fsimage와 edits log를 병합하는 과정을 거치게 된다. 2021.07.26 - [BigData/Hadoop] - Namenode fsimage, edits log 이런 과정이 수행되는 동안 NN는 safe mode에 들어가게 되는데, 이 상태에서는 데이터를 조회하는 것은 가능하지만, 파일을 변경하는 작업은 할 수 없다. fsimage와 edits log 병합 이외에 어떤 작업이 이루어질까? 지난 글에서 NN는 블록이 어디에 저장..
이번 글에서는 Namenode의 디렉토리 구조와 fsimage, edits log에 대해서 알아보도록 하자. Namenode 디렉토리 구조 먼저 Namenode의 디렉토리는 아래와 같이 구성되어 있다. ${dfs.namenode.name.dir}/ ㄴ in_use.lock ㄴ current ㄴ VERSION ㄴ edits_0000000066074616938-0000000066076353481 ㄴ edits_inprogress_0000000066083634643 ㄴ fsimage_0000000066076831695.md ㄴ fsimage_0000000066076831695 ㄴ fsimage_0000000066079768707.md ㄴ fsimage_0000000066079768707 ㄴ fsimage.ck..
오늘은 Kerberos가 무엇인지 간단하게 알아보고 Hadoop에서 Kerberos를 이용한 인증과정에 대해서 알아보도록 하자. Kerberos란? Kerberos란 ticket를 기반으로 동작하는 컴퓨터 네트워크 인증 암호화 프로토콜로 네트워크에서 통신하는 노드가 보안 방식으로 다른 노드에 대해 식별할 수 있게 허용하며, client-server모델로 동작하며 상호 인증을 제공한다. Kerberos로 보안 설정이 되어 있는 시스템에 접근하고자 하는 경우 서버는 클라이언트에 Kerberos티켓을 요구하며, 사용자는 Kerberos 티켓을 이용해 원하는 서버에 접근할 수 있게 된다. Kerberos 동작 방식 Kerberos 인증 과정은 어떻게 진행될까 1. 인증 Client는 인증 서버에 자신을 인증하고..
장애내용 확인 NodeManager가 올라온 이후 죽는 현상이 계속 발생하는 노드 발견 log를 확인 원인 분석 log를 확인하니 이미 사용중인 주소로 BindException이 발생 NodeManager에서 사용하는 port인 45454를 이미 사용중이라고 판단하여 45454 port 사용 여부를 확인 다른 서버의 50010 port와 connection이 맺어져 있어 문제가 발생한 것으로 보임 50010 port는 data node에서 사용하는 port netstat | grep 45454 pid를 얻기 위해 root권한을 획득하여 아래의 명령어를 실행 맨 뒤에 나오는 값이 pid으로 해당 pid를 이용하여 실행중인 process를 탐색 netstat -nap | grep 45454 해당 pid확인 ..
오늘은 데이터 직렬화, RPC에 대해 간단하게 알아보고 hadoop에서 어떻게 사용하는지 장점은 무엇인지에 대해 알아보로고 한다. 데이터 직렬화란? 직렬화(serialization) 데이터를 네트워크로 전송하기 위해 구조화된 객체를 바이트 스트림으로 전환하는 과정 역직렬화(deserialization) 데이터를 전달받은 쪽에서 바이트 스트림을 객체로 전환하는 과정 직렬화의 장점 CSV, XML, JSON등의 형식은 알아보기 쉽다는 장점이 있지만, 데이터 구조상 파싱하는 시간이 오래 걸리는 단점이 있음 이를 binary로 변경하면 사람이 읽기에는 어렵지만 파싱 시간이 짧아지기 때문에 성능상 이득을 볼 수 있는데, 데이터가 작은 경우에는 큰 문제가 없을 수 있지만 빅데이터 시스템에서 사용하는 경우 많은 데이..
Hadoop에서 MapReduce의 동작방식에 대해서 알아보도록 하자. 먼저 MapReduce에 대해 간단히 알아보도록 하자 MapReduce - 대용량의 데이터 처리를 위한 분산 프로그래밍 모델 - 분산 컴퓨팅 환경에서 데이터를 병렬로 분석할 수 있음 - Map / Reduce라는 2개의 taks로 구성 - Map는 분산된 데이터를 연관성 있는 데이터들로 분류하거나 연산을 하는 작업으로 (Key, Value) 쌍을 가짐 - Reduce는 Map에서 나온 결과 데이터에서 중복 데이터를 제거하고 원하는 데이터를 추출하는 작업 Map의 output가 Reduce의 input이 된다. Hadoop 분산 시스템에서 이런 MapReduce작업이 어떻게 이루어지는 알아보도록 하자. 먼저 Map의 input값에 대해..