프로그래밍 언어를 배울 때 무작정 따라하기 샘플로 Hello World를 출력해 보는 프로그램을 많이 작성해 본다. Go 언어로 Hello World를 출력해 보자. Go 언어를 사용하기 위한 환경 정보는 아래와 같다. Go: 1.8.1 (https://golang.org/dl/) Intellij: golang ide (https://www.jetbrains.com/go/?fromMenu) PC: Mac 다운로드 후 패키지 설치를 하면 된다. 간단하다. 설치 후 hello.go를 작성해 보자. 프로젝트 디렉토리 구조는 아래와 같다. 다음은 hello.go 파일의 내용이다. package main import "fmt" func main() { fmt.Println("hello world") } IDE(I..
Replication=3로 설정된 HDFS에서 파일을 저장할 때, 특정 데이터 노드에서 장애가 발생한다면 어떻게 될까? 데이터노드 1, 2, 3에 쓴다고 가정하자. 만약 데이터노드2가 장애로 작성에 실패한다면 HDFS 클라이언트 요청은 데이터노드 1, 3에만 저장하고 정상 종료된다. Replication=3으로 설정되어 있음에도 복제본 2개만 가지고 종료된다. 단 네임노드에 불완전 복제 블록으로 알려준다. 질문: 그렇다면 Replication=3이므로 3번째 복제본은 누가 작성하는 것일까? 답변: 결론부터 이야기하면 네임노드가 데이터노드에 복제요청을 한다. 복제 블록의 상태에는 여러 가지가 있다.(CDH 공식문서) 각 상태마다 네임노드가 처리하는 방식에 차이가 있는 듯 하다. 다음에 HDFS 복구 플랜에..
HDFS에서 각 파일들은 블록(128MB) 단위로 나눠져 여러 데이터노드에 저장된다.(복제본 포함) 이 때 네임노드는 각 블록들의 위치 정보(metadata)를 메모리에 저장하게 되고 클라이언트가 특정 파일을 읽을 때, 블록들의 위치 정보를 알려주게 되어 있다. FsImage와 EditLog 네임노드에서 FsImage나 EditLog에 기록을 파일로 남기고 있으나, 메모리에 유지한 정보만 서비스한다. FsImage: 파일들의 metadata를 저장하고 있는 파일. 파일 메타 정보의 Snapshot이라고 할 수 있다. EditLog: 오라클의 Transaction Log 같은 기능을 담당하고 있다. 네임노드가 관리하는 파일 메타 정보에 변경이 있는 경우 한 줄씩 등록된다. 이 정보는 추후 Secondary..
아래 글은 Lombok 1.16.16 기반에서 작성되었다. Lombok에서 @Builder를 사용하다 보니 상속 구조에서 불필요한 코드를 작성해야 하는 경우가 있었다. 예를 들어 아래와 같이 두 모델 객체가 있다고 하자. @Data @AllArgsConstructor public class User { protected String id; protected String name; } @Data public class AdminUser extends User { private String roleId; private String roleName; @Builder public AdminUser(String id, String name, String roleId, String roleName) { super(..
- Total
- Today
- Yesterday
- linux
- Apache Spark
- Sqoop
- exception
- db
- 데이터 리터러시
- 태그를 입력해 주세요.
- Oracle
- 알고리즘
- jenkins
- jenkins2.0
- 데이터과학자
- jackson
- java
- spring
- spark
- Hdfs
- mongodb
- bigdata
- 확률분포
- flume
- mongo
- 책요약
- mysql
- PYTHON
- json
- HADOOP
- Git
- Learning Spark
- Django
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |