일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- elastic search
- 도메인주도설계
- Domain Driven Design
- design pattern
- Clean Code
- scala
- DDD
- Spring XD
- hdfs
- apache storm
- Spring
- spark
- Gradle
- intellij
- 제주
- 스프링 배치
- SBT
- nginx
- Java
- 엘라스틱서치
- Spring Batch
- elasticsearch
- Spring Boot
- hadoop
- Hbase
- hibernate
- Storm
- Linux
- docker
- Angular2
- Today
- Total
목록hdfs (4)
욱'S 노트
HDFS를 다루기 위해서 파일시스템을 추상화한 클래스인 FileSystem 클래스를 제공한다.Outline을 보면 알겠지만, 파일처리에 대한 모든 api를 제공한다. 일단 간단하게 디렉토리를 한번 만들어보자. 메소드가 명시적이라 어려운이 없을것이라고 생각된다. 12345678910111213141516171819202122232425262728293031323334 import java.io.IOException; import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FSDataInputStream;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;im..
우리는 개발자 아닌가? HDFS를 커맨드로만 조작한다면 그건 TA일 것이다. 그렇다 HDFS를 조작하는 자바 프로그램을 작성해보도록 하자. 일단 먼가 원격의 HDFS를 접속할려면 클라이언트에 설정이 있어야 할 것 같다. 역시 Configuration 객체를 제공하고 있었다. 클라이언트 설정을 위해서 우리가 해야 할일은 굉장히 간단하다.우리는 기존에 core-site.xml에 HDFS의 접근 URL을 설정하였다. 해당 URL을 프로퍼티처럼 세팅하고 접속을 시도해보면 된다. 아래의 예제는 프로그래밍으로 HDFS에 접속하여 해당 home 디렉토리를 출력한 예제이다. 12345678910111213141516171819 @Test public void testProgrammaticConfiguration() t..
자 이제 어딘가에 원격 파일시스템에 파일도 올리고 카피도 하고 이름도 바꾸고를 할 수 있게 되었다. 그러면 도대체 이때까지 봤던 단어들이 무엇인지를 알아 보자. 1. NameNode, DataNode HDFS는 master-worker 패턴으로 구성되어 있다. 여기서 master의 역할을 수행하는 것이 NameNode이다. NameNode는 파일시스템의 논리적인 메타정보들을 관리한다. 파일 시스템의 namespace, tree 그리고 그 외 모든 파일들의 메타데이터를 유지한다. DataNodes는 파일시스템의 worker로서 외부의 요청에 따라 실질적으로 블록들을 저장하고 탐색하고, 해당 내용을 NameNode에 알리는 역할을 수행한다.
다음으로 무엇을 해볼까 생각해본다. 일단 HDFS를 다뤄보자.파일시스템이라고 했으니 파일 카피하고 디렉토리 조회는 할 줄 알아야 겠지? 일단, HDFS를 구동해본다. $ sbin/start-dfs.sh 그리고 접속해본다. http://localhost:50070/근데 뭥미? 브라우져로 확인해보니 404가 뜬다. 이런 말도 안되는...내렸다 올리면 파일이 날아가나? 먼가 이유가 있겠지? 검색을 해보자.역시 누군가 경험한 내용이었다. 감사합니다. Mac을 껐다 켜보겠다. tmp 아래의 폴더가 날아가나. 놀랍다. 방금 껐다키니 날아간다. tmp란 디렉토리명 답다. namenode 포맷을 하면 /tmp 폴더에 hadoop namenode가 생성이 되는데 이 폴더는 서버를 내렸다가 올리면 사라진다. 그러므로 서버..