일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Service
- Windows
- re
- hadoop
- 빅데이터
- slack
- airflow
- Kafka
- 정규표현식
- Scala
- HDFS
- docker
- 람다 아키텍처
- jupyter
- slack app
- yarn
- Example DAG
- NoSQL
- python
- HBase
- MapReduce
- execution_date
- SlackWebhookOperator
- ambari
- java
- HDP
- LDAP
- HIVE
- Lambda architecture
- Namenode
- Today
- Total
IT 삽질기
이번 글에서는 jvm이 무엇인지 어떻게 구성되어 있는지에 대해서 간단히 살펴보도록 하자. JVM(Java Virtual Machine)이란? JVM이란 java 바이트코드를 실행할 수 있는 주체로 java는 JVM을 이용하여 플랫폼에 독립적이며 이론적으로 CPU나 운영 체제의 종류와 무관하게 동일하게 작동하는 것을 보장한다. 또한 메모리 관리, Garbage collection을 수행하는 스택 기반의 가상머신이다. JVM의 구조를 그림으로 살펴보자. 이번 글에서는 JVM의 기본 구조만 다루는 것으로 각각의 구성 요소들이 어떤 역할을 하는지 간단하게만 설명하도록 한다. Class Loader Class Loader은 컴파일된 java 바이트코드를 runtime data areas 영역으로 로드하고 링크를 ..
이번 글에서는 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로 설정하면 되는데, 해당 옵션..
Shell Script 실행인자 값 사용하기 이번 글에서는 shell script를 사용할 때 실행인자 값을 전달받아 사용하는 방법에 대해서 알아보도록 하자. 먼저 script 예제를 살펴보자. https://github.com/dydwnsekd/ShellScript_study/blob/master/example_parameter_01.sh #!/bin/bash # 첫번째 실행인자 command1=$1 # 두번째 실행인자 command2=$2 echo "$1" echo "$2" echo "$command1" echo "$command2" 실행인자를 전달받아 사용하기 위해서는 $1, $2 ... 과 같이 ${숫자}를 이용해 사용할 수 있으며, 순서에 따라 각 변수에 맵핑된다. 위의 예제는 2개의 실행인자를..
장애 발생 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확인 ..
HBase Compaction에 대해서 알아보도록 하자. Compaction에 대해 알기 전에 HBase에서 데이터를 저장하기 위한 과정에 대해 먼저 알아야 하는데, 아래의 글을 참고하도록 하자. 2021.05.15 - [BigData/HBase] - HBase 데이터 쓰기/읽기 과정 위의 글에서 HBase에 데이터를 쓸 때, Memstore에 저장되어 있는 데이터를 HFile 형식으로 저장한다고 설명되어 있는데, Compaction은 이렇게 생성된 HFile의 수를 줄여 읽기 성능을 향상시키는데 목적을 둔다. Compaction은 Major, Minor Compaction으로 구분되는데 하나씩 알아보도록 하자. major Compaction HBase에서는 데이터를 삭제하더라도 실제로 바로 삭제가 되지..