일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- NoSQL
- 람다 아키텍처
- Example DAG
- 정규표현식
- hadoop
- HIVE
- Scala
- SlackWebhookOperator
- python
- 빅데이터
- ambari
- slack app
- HDFS
- docker
- airflow
- Service
- LDAP
- slack
- jupyter
- execution_date
- yarn
- java
- Windows
- Kafka
- Namenode
- HBase
- MapReduce
- re
- Lambda architecture
- HDP
- Today
- Total
목록BigData/HBase (8)
IT 삽질기
장애 발생 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..
HBase Compaction에 대해서 알아보도록 하자. Compaction에 대해 알기 전에 HBase에서 데이터를 저장하기 위한 과정에 대해 먼저 알아야 하는데, 아래의 글을 참고하도록 하자. 2021.05.15 - [BigData/HBase] - HBase 데이터 쓰기/읽기 과정 위의 글에서 HBase에 데이터를 쓸 때, Memstore에 저장되어 있는 데이터를 HFile 형식으로 저장한다고 설명되어 있는데, Compaction은 이렇게 생성된 HFile의 수를 줄여 읽기 성능을 향상시키는데 목적을 둔다. Compaction은 Major, Minor Compaction으로 구분되는데 하나씩 알아보도록 하자. major Compaction HBase에서는 데이터를 삭제하더라도 실제로 바로 삭제가 되지..
HBase에서 데이터를 읽고 쓰는 과정에 대해서 알아보도록 하자. HBase 데이터 쓰기 HBase에서 데이터를 저장할 때는 두 가지 장소에 저장하게 되는데, WAL(Write Ahead Log)와 Memstore이다. WAL에 대한 내용은 아래의 글을 확인하기 바란다. 2021.05.14 - [개발] - WAL(Write-ahead logging)란 ? 위의 두 가지 방법을 활용하여 정상적으로 쓰기 과정이 끝나는 것은 WAL과 Memstore에서 모두 변경이 일어난 시점이 된다. HBase에 데이터 적재 요청이 오면 먼저 적절한 region server을 찾게 된다. region server를 찾아 commit log를 추가 하고 메모리 내의 Memstore에 추가되게 된다. Memstore에 저장되어..
HBase Tools는 카카오에서 개발한 오픈소스로 HBase관리에 필요한 여러 가지 기능을 제공한다 tech.kakao.com/2016/03/24/opensource-4-hbase-tools/ github.com/kakao/hbase-tools HBase Tools를 이용해 HBase region reblance작업을 진행해보도록 한다 HBase를 사용하다 보면 row key 설계에 따라 특정 region에 데이터가 몰리기도 하고 row key 설계가 잘 되어 있어도 특정 region에 데이터가 몰리는 경우가 발생했는데 이 경우 HBase Tools를 이용해 region을 재분배 작업을 진행했다 HBase Tools는 위의 github 링크를 통해 다운받아 사용한다. 여러 가지 기능이 있지만 여기서는 ..
하둡 클러스터 운영중 HBase read/write 관련 성능 이슈 발생 일부 HBase 옵션 변경으로 문제를 해결하였는데 리서치 결과와 성능 변경사항에 대해 정리 hbase.client.write.buffer 클라이언트에서 서버로 데이터 전송을 할 때 사용되는 버퍼 hbase.regionserver.handler.count region 서버에서 데이터 처리를 위해 사용되는 thread 수 hbase.hregion.memstore.flush.size MemStore가 이 크기 이상을 가지면 flush 진행 hbase.regionserver.global.memstore.upperLimit region 서버의 힙영역에서의 MemStore의 크기 비율로 이 크기를 넘기면 MemStore에 쓰기를 차단하고 강제..
HBase 테이블별 용량 확인 서버 환경 HDFS 2.7.3 HBase 1.1.2 먼저 hdfs dfs -ls [path] 명령어를 이용하여 table들이 어디에 있는지 확인 나의 경우에는 /apps/hbase/data/data/[namespace]/[table name]로 저장되어 있었고 namespace가 지정되지 않은 테이블들은 default/ 경로에서 확인이 가능했다. 테이블을 찾은 후 각 테이블의 용량을 확인하기 위해서는 hdfs dfs -du -s -h [path] 명령어를 이용해 테이블들의 용량을 확인할 수 있으며 hdfs dfs -du -s -h /apps/hbase/data/data/default/* 명령어를 이용하면 default에 있는 모든 테이블들의 용량을 확인할 수 있다.
HBase 용어 정리 Table다중 로우로 구성된 집합으로 RDB에서의 table와 비슷한 개념이지만 테이블을 만들 때 Column을 지정해주는 것이 아니라 Column Family만 지정 RowRowKey와 Column으로 구성되며, RowKey를 기준으로 알파벳 오름차순으로 정렬되어 저장되기 때문에 로우키 설계가 매우 중요후에 다시 언급하겠지만 HBase 데이터는 리전 서버에 저장이 되는데 이 때 같은 리전서버에 있는 것과 다른 리전서버에 있는 데이터를 불러오는 경우 속도차이가 날 수 있어 로우키를 어떻게 설계하는지가 중요 Row KeyRow를 구분하기 위한 구분자로 RDB에서의 primary key와 비슷한 개념을 가짐 Column Famaily물리적으로 모든 Column Family단위로 파일 시..
Apache HBase란? Hadoop 플랫폼을 위한 구글의 BigTable을 본보기로 자바를 기반으로 만들어진 데이터 비관계형 분산 데이터 베이스이다.NoSQL로 분류되며 스키마 지정 및 변경 없이 데이터를 저장할 수 있으며 하둡의 분산 파일 시스템인 HDFS에서 동작하기 때문에 가용성 및 1)확장성을 그대로 이용할 수 있다.구글의 BigTable 논문에 설명된 2)Bloom필터 기능을 제공하며 자바를 기반으로 만들어져 자바 API, REST, Avro, Thrift를 통해 접근 가능 HBase의 특징- 선형 확장성을 가짐- 읽기와 쓰기의 일관성 제공- Hadoop 시스템과 연계하기 편리 source와 destination으로 사용 가능- 클러스터를 통한 데이터 복제로 장애 극복(fail over)가능..