일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- java
- slack
- ambari
- slack app
- HDFS
- 람다 아키텍처
- docker
- 정규표현식
- NoSQL
- jupyter
- 빅데이터
- re
- airflow
- hadoop
- Service
- LDAP
- Kafka
- yarn
- MapReduce
- Example DAG
- HIVE
- HDP
- SlackWebhookOperator
- python
- Lambda architecture
- Windows
- Namenode
- HBase
- Scala
- execution_date
- Today
- Total
목록BigData (73)
IT 삽질기
이번 글에서는 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..

이번 글에서는 kafka에서 멱등성을 적용한 producer를 사용하기 위해서 어떻게 해야 하는지 알아보도록 하자. 멱등성이란? 멱등성이란 여러 번 연산을 수행하더라도 동일한 결과를 나타내는 것 https://ko.wikipedia.org/wiki/%EB%A9%B1%EB%93%B1%EB%B2%95%EC%B9%99 멱등성 producer 멱등성 producer는 동일한 데이터를 여러번 전송해도 단 한 번만 저장되는 것을 의미한다. 이렇게 멱등성 producer를 적용하게 되면 동일한 데이터를 중복 처리하는 것을 방지할 수 있는데 그 방식에 대해서 알아보도록 하자. 멱등성 적용하기 멱등성 producer를 사용하기 위해서는 enable.idempotence의 옵션 값을 true로 설정하면 되는데, 해당 옵션..

장애 발생 log확인 Python HappyBase를 이용해 HBase Thrift에 접근 SocketTimeoutException이 발생 thrift server log도 확인 동일하게 SocketTimeoutException이 발생 리서치 진행 HBase 옵션 리서치 진행 아래의 2가지 옵션이 해당 설정과 관련이 있는 것으로 판단 설정 변경 에러 메세지상 Scanner 관련 내용이 포함되어 있어 hbase.client.scanner.timeout.period 설정값을 변경하는 것으로 결정 설정 변경 값은 HDP 권장 값을 적용하여 300000으로 설정 https://docs.cloudera.com/HDPDocuments/HDP2/HDP-2.3.4/bk_installing_manually_book/co..
이번 글에서는 Kafka consumer에서 record를 가지고 갈 때 어떤 일이 일어나는지, 처리한 record와 처리할 record를 어떻게 구분하는지에 대해 알아보도록 하자. 아래의 본문에서 이야기하는 내용은 Java를 이용한 consumer application을 개발하는 환경을 가정한 것이다. Kafka consumer offset Kafka에서는 record를 어디까지 처리했는지 구분하기 위해 comsumer offset를 이용한다. consumer offset은 kafka의 내부 topic인 __consumer_offsets를 통해 관리하며, consumer에서 commit이 일어나면 변경된다. consumer는 offset 값을 이용하여 다음에 처리할 record를 consume 하여 사..
오늘은 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확인 ..