일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ambari
- Scala
- docker
- HIVE
- Namenode
- LDAP
- Lambda architecture
- Example DAG
- SlackWebhookOperator
- execution_date
- Windows
- slack
- re
- HDP
- yarn
- python
- MapReduce
- hadoop
- HDFS
- airflow
- HBase
- jupyter
- 정규표현식
- 빅데이터
- Service
- java
- Kafka
- NoSQL
- slack app
- 람다 아키텍처
- Today
- Total
목록BigData (73)
IT 삽질기
Hadoop3에서 변경된 내용 중 몇몇 중요한 사항들에 대해 알아보도록 하자 Java8 기존의 Hadoop2는 Java 7버전을 지원했는데 Hadoop3를 사용하기 위해서는 Java8를 설치해야 한다 erasure coding 가장 큰 변경점 중 하나인 erasure coding은 기존의 Hadoop2에서 문제가 되었던 스토리지 관련 문제를 해결한다 Hadoop2 에서는 기본적으로 데이터를 저장하기 위해 3배의 용량이 필요했다 예를 들어, 1TB의 데이터를 저장하기 위해서는 3TB의 용량이 필요했던 것이다 이는 HDFS에서 데이터 유실이 일어나지 않게 해주는 역할을 함과 동시에 데이터를 많이 저장할 수 없는 단점으로 작용했다 물론 설정을 통해 Replication 수를 줄여 용량을 확보하는 방법이 있지만..

문제 발생 최근 운영중인 클러스터에서 너무 잦은 NameNode(NN) 전환 작업이 일어났다 기존에는 약 2주에 한번씩 전환되던 NN의 전환이 하루에 한번 정도씩 반복되었는데 이를 해결한 과정이다 먼저 문제가 발생한 NN의 log를 살펴보았다 log를 확인한 결과 NN이 종료되기 전 JournalNode로 edit 내용을 쓰는 과정에서 timeout이 걸려 NN이 중단되는 것으로 보였다. 정상적으로 edit 내용을 전달하는 경우의 log는 아래와 같다 warn은 발생하지만 20000ms(20초)를 넘지 않는 경우에는 error이 발생하지 않고 NN이 내려가지 않았다 원인 파악 1. 네트워크 문제 2. 서버 노후화와 부하 증가로 인한 문제 1. 네트워크 문제에 대한 부분은 데이터의 양이 많아지고 많은 요청..
지난 글에서 Hadoop NameNode(NN) HA가 무엇인지에 관한 내용과 HA를 구성하기 위한 요구사항들을 알아보았다 2021.04.08 - [BigData/Hadoop] - Hadoop2 NameNode HA QJM(Quorum Journal Manager) Hadoop2 NameNode HA QJM(Quorum Journal Manager) Hadoop2 NameNode(NN)에서 제공하는 HA기능에 대해서 알아보도록 하자 Hadoop NN을 HA로 구성하는 방법은 2가지로 QJM(Quorum Journal Manager)방식과 NFS를 이용하는 방식이 있는데 여기서는 QJM 방식에 대해서.. dydwnsekd.tistory.com 오늘은 그 중 ZKFC에 대해서 좀 더 자세히 알아보도록 하자 ..
Hadoop2 NameNode(NN)에서 제공하는 HA기능에 대해서 알아보도록 하자 Hadoop NN을 HA로 구성하는 방법은 2가지로 QJM(Quorum Journal Manager)방식과 NFS를 이용하는 방식이 있는데 여기서는 QJM 방식에 대해서 설명한다 HA(High Availability)란 고가용성을 의미하는 말로 서버와 네트워크 등을 오랜시간 정상적으로 운영이 가능한 성질을 말한다 자세한 내용은 아래의 내용에서 확인하기 바란다 ko.wikipedia.org/wiki/%EA%B3%A0%EA%B0%80%EC%9A%A9%EC%84%B1 Hadoop에서 NN은 매우 중요한 역할을 하고 장애가 발생하는 경우 Hadoop 시스템이 정상적으로 동작하지 않기 때문에 NN을 HA로 구성하여 많이 사용한다 ..

Hive 테이블을 복사하는 방법을 알아보도록 하자 Hive 테이블을 복사하는 방법은 다음과 같이 나뉜다 1. hive 테이블의 구조(partition) 복사해 새로운 테이블을 만드는 방법 2. hive partition정보는 가지고 오지 않고 데이터만 복사해 새로운 테이블에 넣는 방법 3. partition과 데이터를 모두 복사하는 방법 먼저 복사하려고 하는 hive Table에 partition이 있는지 알아보도록 하자 DESC [DB].[TABLE] # ex) DESC tmp.aa partition이 있는 테이블은 아래와 같이 표시된다 반대로 partition이 없는 테이블은 아래와 같이 표시된다 파티션이 없어 데이터만 복사하고자 하는 경우 새로운 테이블을 만들 때 CREATE - SELECT문을 통..

HDP 3.1.4 환경에서 Hive 설정을 진행하던 중 아래와 같은 에러가 발생했다 UnicodeDecodeError 인코딩 관련 문제로 생각하여 python 파일에 한글 인코딩 관련 코드를 추가해 보았다 파일의 경로는 에러메세지에 명시된 파일을 우선으로 작업했다 /usr/hdp/3.1.4.0-315/hive/scripts/llap/yarn/package.py #-*-coding:utf8-*- 해당 코드를 추가하여 테스트를 진행한 결과는 달라진 것은 없었다 이후로 추가로 리서치를 진행했다 community.cloudera.com/t5/Support-Questions/Install-UnicodeDecodeError-ascii-codec-can-t-decode-byte/td-p/139342 동일하진 않지만 ..
Airflow 1.x대 버전에서는 외부 서비스(HDFS, Hive, sqoop등)을 사용할 때 별도의 패키지를 설치하지 않고 사용할 수 있었다. Ariflow 2.x대 버전으로 버전이 업그레이드 되며 이 부분이 변경되었다 airflow.apache.org/docs/apache-airflow-providers/ 위의 링크를 살펴보면, 자세한 설명이 나와있는데, pip를 이용하여 개별적으로 설치가 가능하며 커스텀 패키지를 개발하여 사용하는 것도 가능하다 Airflow에서 제공하는 providers목록은 아래의 링크에 정리되어 있다 airflow.apache.org/docs/ Hadoop와 연동해 사용하기 위해서는 HDFS, Hive, Sqoop등을 설치하여 사용하면 되는데, 패키지가 변경되어 만약 Airfl..

Hadoop클러스터를 구축할 때 Node별 성능이 다르거나 운영중 하드웨어에 문제가 발생하는 경우가 있다 클러스터 구축 시 서버를 Grouping하여 설정을 다르게 하는 방법과 운영중 disk fault가 발생했을 때 disk 교체가 어려운 경우 어떻게 대응할 수 있는지에 대해 포스팅 한다 Ambari에서는 Node를 group으로 나누고 설정을 적용할 수 있는 기능을 제공한다 먼저 Ambari에 접근해 HDFS - Configs - Manage Config Groups탭으로 들어가보자 아래의 창에서 Node를 Group로 나누어 설정할 수 있다 기본적으로 모든 Node들은 Default에 속해 있는데 아래의 + 버튼을 이용하여 그룹을 만든다 이후 새로 추가된 그룹에 설정 변경을 원하는 특정 노드들을 선..