개발

개발/Data Engineering

HDFS 네임노드 OutOfMemory 에러

hdfs 네임노드(namenode) 운영 시 OutOfMemory 에러가 나면서 data node들이 dead 상태가 되고block들이 corrupt 되었다고 메시지가 나오는 경우가 있었다. Namenode 프로세스 메모리는 디폴트가 1000m라서 1000m으로 되어있었는데 이 용량이 부족해지듯 하다.찾아보니 HDFS는 작은 파일들을 저장하는데 적합하지 않다고 한다. 파일 갯수가 많아질 수록 네임노드가 필요한 메모리 용량도 커지는데 파일을 작게 생성하고 지우지 않으면 문제가 될 수 있다. 일단 메모리를 3G로 늘렸고 파일 관리 방법에 대해서는 좀 더 찾아봐야겠다. 메모리를 늘리려면 {HADOOP_HOME}/etc/hadoop/hadoop-env.sh 파일에 다음 항목을 수정하면 된다.(데이터노드를 수정하..

개발/Data Engineering

직접해보는 하둡 프로그래밍 - 1. 빅데이터와 하둡이해하기 - 하둡이해하기

[하둡이란]대용량의 데이터를 분산처리하게 해주는 아파치 톱 레벨 오픈소스 프로젝트HDFS와 MapReduce라는 이름의 분산처리 시스템으로 구성 특징오픈소스데이터가 있는 곳으로 코드를 이동 대부분의 경우 데이터의 크기가 소스코드보다 훨씬 크기 때문에스케일 아웃(vs. 스케일 업) 다수의 저렴한 서버를 사용병렬처리를 가능하게 해주는 단순한 데이터 모델 처리하는 레코드만 보고 작업하면 되므로 병렬성이 높고 다수의 서버에서 실행하기 쉬움 프로그래머는 맵, 리듀스 함수만 구현하고 처리할 입력 데이터가 HDFS상 어디에 있는지 처리된 데이터가 어디 저장될지만 지정해주면 나머지는 프레임워크가 알아서 병렬로 처리오프라인 배치 프로세싱에 최적화 실시간 처리가 필요한 환경에서는 사용할 수 없다 [하둡 아키텍처]HDFS나..

개발/리눅스

리눅스 디스크 용량 관련 명령어

df : 디스크 여유 공간 확인옵션-k 키로바이트 단위로 확인-m 메가바이트 단위로 확인-h 보기 좋게 보여줌(기가?) du : 디스크 사용량 확인옵션-m 메가바이트 단위로 출력-sh [폴더] 폴더 사용량 보기 쉽게 출력 du -sh * : 한 단계 하위디렉토리까지 총 사용량 보기 좋게 출력 가장 많은 용량을 사용하는 디렉터리 확인du -ckx | sort -n df -i : 아이노드 사용량 확인아이노드가 고갈되면 여유 공간이 있어도 파일 시스템이 가득찼다고 나온다.

개발/Data Engineering

hdfs에서 name node is safe mode 라고 나올 때

hdfs 접근 시에 name node is safe mode 라는 메시지와 함께 접근이 되지 않는 경우가 있다. hdfs가 비정상적으로 종료되었을 때 안전 모드로 진입되어 그런듯 하다. 이렇게 실행하면, {HADOOP_HOME}/bin/hdfs dfsadmin -safemode leave 이렇게 나오면서 해제된다. Safe mode is OFF

개발/Data Engineering

hdfs stop 시 no namenode to stop 에러

hdfs stop 시에 다음과 같은 에러가 발생하는 경우가 있다. anymousehostname : no namenode to stopanymousehostname : no datanode to stop 분명히 hdfs는 구동하고 있었는데 정지시킬 노드가 없다는 것인데 찾아보니 정지시키기 위한 node의 pid 정보를 디폴트로 /tmp 디렉토리에 저장해놓는데임시디렉토리라서 /tmp 디렉토리 내의 데이터를 10일이 지나면 삭제하도록 되어있다고 한다.그래서 찾을 수 없다는 것인데 해결 방법은 pid가 저장되는 위치를 변경하면 된다. ${HADOOP_HOME}/etc/hadoop/hadoop-env.sh 파일을 열어서 HADOOP_PID_DIR을 수정한다. # The directory where pid fil..

개발/리눅스

프로세스가 사용하는 파일 확인

프로세스가 어떤 파일을 사용하고 있는지 확인해야 하는 경우 사용할 수 있는 명령어 sudo ls -l /proc/2029/fd grep해서 특정 파일에 대한 확인을 하면 편하다. sudo ls -l /proc/2029/fd | grep pattern centOS는 되는 것 같은데 다른 OS는 잘 모르겠다.

bebeside77
'개발' 카테고리의 글 목록 (11 Page)