hdfs 27

Impala Connection refuse Error

Impala Connection refuse Error - Couldn't open transport for hd-master:26000 (connect() failed: Connection refused) · Version : CDH 6.3 파이썬의 pyimpala를 사용하여 Hadoop Impala에 데이터를 입력하는 클라이언트가 있는데, 어느날부터 아래와 같은 오류를 출력하며 데이터가 입력되지 않았다. InternalException: Error requesting prioritized load: Couldn't open transport for hd-master:26000 (connect() failed: Connection refused) Error making an RPC call to Cat..

Hive 데이터 타입

Hive 데이터 타입 · Version : Hive Hive는 여러 크기의 정수형과 부동소수점, 불린형과 임의의 길이를 가지는 문자열, TIMESTAMP, BINARY 타입등을 제공한다. 각각의 데이터형은 자바로 구현되어 있어 자바 데이터 타입과 동일하게 하이브에서 사용된다. 타입 크기 리터럴 문법 예제 TINYINT 1바이트 정수형 20 SMALLINT 2바이트 정수형 20 INT 4바이트 정수형 20 BGINT 8바이트 정수형 20 BOOLEAN TRUE 또는 FALSE TRUE FLOAT 단정도 부동 소수점 3.14159 DOUBLE 배정도 부동 소수점 3.14159 STRING 문자의 시퀀스, 또는 문자열 설정가능. 작은 따옴표 및 큰따옴표 사용가능 ‘Hello Hive’, “Hello Hive”..

HDFS 데이터 저장소에는 RAID구성이 필요할까

HDFS 데이터 저장소에는 RAID구성이 필요할까 · Version : HDFS HDFS 클러스터에서 데이터노드 저장소 용도로 RAID(Redundant Array of Independent Disks)를 사용하면 이득이 있을까? 결론부터 이야기하면 이득이 없다. HDFS는 노드간에 복제하는 기능이 있어 RAID가 제공하는 중복성(redundancy)은 필요하지 않기 때문이다. 또한 성능 향상을 위해 흔히 사용하는 RAID 0 (Striping)은 모든 디스크에 DHFS 블록을 연속적으로 배열하는 HDFS의 JBOD (Just a Bunch of Disks)방식보다 느리다는 것이 밝혀졌다. 그 이유는 RAID 0의 읽기/쓰기 동작의 경우 RAID 배열에서 가장 느린 디스크의 속도에 의해 제한을 받기 때문..

NameNode and Secondary NameNode Heap Memory Size 변경

NameNode and Secondary NameNode Heap Memory Size 변경 · Version : CDH 6.3 NameNode를 Master and Slave로 구성하였을때, NameNode간의 힙메모리 설정이 다른 경우 경고가 발생한다. (서비스 장애가 발생하는 것은 아님) Cloudera Hadoop Manager에서는 아래와 같은 메뉴에서 Heap Memory Size를 설정할 수 있다. NameNode의 핵심은 HDFS 의 메타 데이터 (HDFS 블록 정보)를 관리하며, 파일 시스템 레이아웃은 디스크에 유지되며 블록 위치는 단독으로 메모리에 유지된다. 클라이언트가 파일을 조회하면 네임노드는 클라이언트에게 파일에 있는 모든 블록의 위치를 알려준다. 그리고 클라어인트는 데이터 전송을..

Hadoop Name Node

Hadoop Name Node · Version : HDFS 네임노드(Namenode)는 파일 시스템의 네임스페이스를 관리한다. 네임노드는 파일 시스템 트리와 그 트리에 포함된 모든 파일과 디렉터리에 대한 메타데이터를 유지한다. 이 정보는 네임스페이스 이미지(namespace image)와 에디트 로그(edit log)라는 두 종류의 파일로 로컬 디스크에 영속적으로 저장된다. 네임노드는 파일에 속한 모든 블록이 어느 데이터노드에 있는지 파악하고 있다. 하지만 블록의 위치 정보는 시스템이 시작할 때 모든 데이터노드로 부터 받아서 재구성하기 때문에 디스크에 영속적으로 저장하지는 않는다. 네임노드는 메타데이터를 관리하기 때문에 네임노드에 장애가 발생하면 파일 시스템은 동작하지 않으며 파일 시스템의 어떠한 파일..

HDFS 블록

HDFS 블록 · Version : HDFS HDFS 파일은 지정한 크기의 블록으로 나누어지고, 각 블록은 독립적으로 저장된다. HDFS 블록의 기본 사이즈는 128MB이며 수정이 가능하다. 블록이 큰 이유는 탐색 비용을 최소화 할 수 있기 때문인데, 블록이 크면 하드 디스크에서 블록의 시작점을 탐색하는데 걸리는 시간을 줄일 수 있고, 네트워크를 통해 데이터를 전송하는데 더 많은 시간을 할당할 수 있다. 여러개의 블록으로 구성된 대용량 파일을 전송하는 시간은 디스크 I/O 속도에 크게 영향을 받게 된다. 아래 그림은 64MB로 설정된 HDFS 블록에 160MB를 저장할때 블록 단위로 나누어져 저장된다. 블록 단위로 파일을 나누어 저장하면 파일 하나의 크기가 단일 디스크의 크기보다 크더라도 저장할 수 있다..

HDFS 파일 저장(로컬 업로드)

HDFS 파일 저장(로컬 업로드) · Version : CDH 6.3.0, Centos 7 로컬에 있는 파일을 HDFS에 저장하는 방법에 대해서 알아본다. 시스템에서 hadoop과의 통신은 hadoop라는 명령을 사용한다. 쉘에서 hadoop 라고 입력하면 도움말을 확인할 수 있다. hadoop HDFS의 디렉터리를 조회하는 명령은 hadoop fs -ls 이며 특정 경로을 입력하지 않으면 root의 디렉터리를 조회한다. 특정 디렉터리를 조회할 때에는 hadoop fs -ls /user 와 같이 디렉터리명을 사용한다. 디렉터리 구조는 호스트의 디렉터리 구조와는 연관성이 없다는 것을 명심한다. hadoop fs -ls hadoop fs -ls /user HDFS에서 디렉터리를 생성하는 명령은 fs -mkd..