본문 바로가기

All

(147)
[Hadoop]하둡 완벽가이드 요약 (1) 책을 읽으며, 각 장마다 요약하고 기록하려 한다. 하둡 완벽 가이드 - YES24 ★ 곁에 두고 찾아보는 하둡 최고의 바이블 개정 4판 전격 출간! 하둡 프로젝트의 커미터이자 핵심 설계자인 톰 화이트가 집필한 이 책은 하둡 창시자인 더그 커팅을 비롯한 프로젝트별 전문가 www.yes24.com 1장 맵 리듀스는 기본적으로 일괄처리 시스템이다. 따라서, 대화형 분석에는 적합하지 않다. 실행 후, 수 초 이내에 결과를 받는 것은 불가능하다. HBase는 HDFS를 기본 저장소로 Key-Value 저장소이다. 개별 행에 대한 읽기/쓰기, 데이터 읽기/쓰기 일괄처리를 지원한다. YARN은 클로스터 자원관리 시스템이다. 맵리듀스뿐만이 아닌, 다른 분산 프로그램도 하둡 클러스터에서 저장된 데이터를 처리하게 해준다...
[Hadoop]hadoop (2) 하둡의 파일 포맷 종류에 대해서 정리한다. Row-Based 많은 열이 있는 전체 단일 레코드를 처리할 때 사용 text, xml, csv, json은 데이터 쿼리에 적합하지 않다. (csv를 제외하고는 블록 압축 불가) Sequence files key-value 형태의 MR의 기본적인 디자인의 형식 블록 수준 압축을 지원 여러 맵 작업을 위해 파일을 세그먼트로 분할, 기능을 유지하면서 파일 내용 압축 가능 key-value가 binary 형식으로 인코딩 되어 저장 Avro 참고: https://luran.me/352 Avro 개요 Avro란? Avro는 데이터 직렬화와 관련된 시스템이다. 한국 개발자들은 /에이브로/라고 발음하곤 하지만, 외국 개발자 커뮤니티에서는 주로 /아브로/라고 발음하고 있다. ..
[Hadoop]hadoop (1) 개인적으로 Hadoop을 공부하며, 구조에 대해 깊숙하게 파악하기 이전에, 용어 정리를 먼저 하려고 한다. Distribute File System 분산 저장 시스템 Hadoop 데이터를 저장하는데 있어서 스키마의 제약을 받지 않는다. 데이터가 로드되기 전까지 스키마를 노출할 필요가 없다. HDFS 기본 블럭 크기는 128MB 블럭크기로 독립적인 단위로 저장 만약 1MB를 저장하는 블록이라면, 128MB를 다 쓰는 것이 아닌, 1MB 크기의 블록을 가진다. 블록 크기가 작게 설정되면, Name Node에 대해 너무 많은 작업을 생성하는, 많은 분할이 발생한다. sign Integer (32bit) overflow 때문에 2GB 이상의 크기는 주의해야한다. replication factor를 3개를 기본으..
[Elastic Search, Logstash, Kafka] Log4J 취약점 조치 후기 본 내용은 Log4J 취약점이 발견되었을 당시, Elastic Search, Logstash, Kafka 조치를 하며 정리한 내용이다. 취약한 버전 Apache Log4j 2.x
[Celery]Pytest로 Celery Task 테스트 코드 작성하기 pytest로 celery task에 대하여, Test Code를 작성하려고 했다. 한글로된 블로그, 문서를 찾아보려했으나 보이지가 않음........... 그래서 우여곡절 끝에 찾아서 필요에 맞게 구현함... 우선 구현한 코드 참고 Git 링크 http://github.com/kangprog/celery_pytest GitHub - kangprog/celery_pytest: 파이썬 셀러리 동작을 Pytest로 Test 하기 파이썬 셀러리 동작을 Pytest로 Test 하기. Contribute to kangprog/celery_pytest development by creating an account on GitHub. github.com 이번 글은 아래와 같은 순서로 진행된다. 기본적인 Celery ..
[Elastic Search] wsl에서 esdump시, no space left on device 에러 해결 WSL Virtual Disk 확장으로 해결했다. esdump를 사용하여, elastic search 인덱스 백업 중 No space left on device에러가 발생했다. 무슨 에러인지 검색해보니, 저장공간이 부족해서 발생하는 에러라고 한다. wsl의 가상디스크 공간이 별개로 설정된다는 것을 인지하지 못한채, 큰 크기의 인덱스를 백업하려 했기 때문에 발생한 에러였다... 내가 작업했던 환경은 WSL2 Ubuntu를 사용하는 상태였다. 실제로 약 350GB의 인덱스를 백업하는 도중에 에러가 발생했고, df -h 로 wsl의 디스크 공간을 확인 해보니, 251GB만큼 할당되어있었다. 큰 크기의 인덱스를 백업하기 위해서, WSL에 할당된 디스크 공간을 확장 시킬 방법이 필요했다. WSL 디스크 공간 확장..
[S3] boto3 SDK 활용 Key 리스트 확인, 오브젝트 Copy, Move 오브젝트를 생성한 후, 동일 버킷(Bucket) 내에서 다른 Key로 오브젝트를 이동해야하는 일이 생겼다. boto3의 s3 관련 함수들 중에는 Move라는 함수가 존재하지 않았다. 그래서, Copy와 remove를 활용하여 Move를 만들었다. 사용한 코드는 아래와 같다 아래 코드를 보기에 앞서, 아래 코드내용 중에 어떤 동작 함수는 boto3.client를 쓰고, 어떤 동작 함수는 boto3.resource를 쓸것이다. client와 resource의 차이는 다음과 같다고 한다. client는 low-level 인터페이스로, AWS API와 1:1 매핑하여 사용할 때, resource는 high-level 인터페이스로, 자원에 대한 조작을 위주로 사용할 떄, 참고 :https://planbs.tist..
[filebeat] 설정 파일 참고 [참고] https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-input-log.html Log input | Filebeat Reference [7.15] | Elastic During testing, you might notice that the registry contains state entries that should be removed based on the clean_inactive setting. This happens because Filebeat doesn’t remove the entries until it opens the registry again to read a different file. If www.elastic...