반응형

hadoop 8

[Hadoop Error] org.apache.hadoop.hdfs.server.common.Storage: java.io.IOException: Incompatible clusterIDs

1. 에러의 원인 wsl 에서 간단한 spark 테스트를 위해 hadoop 을 설치했으나 datanode 와 namenode 의 clusterID 가 달라 벌어진 현상 평상시에는 가상환경 3개를 나누어 데이터 노드, 네임노드를 따로설정하기에 별 문제가 없지만 이번 경우에는 하나의 가상환경에서 테스트를 진행하는 것이기에 데이터 노드와 네임노드가 한곳에 위치했었다. 하지만 hadoop 을 설정하는 과정에서 하둡이 자연스럽게 데이터 노드와 네임노드의 clusterID 를 다르게 설정했고, 이로인해 한곳의 장소에서 두개의 다른 아이디가 뜨니 hadoop 입장에서는 에러를 때려서 데이터 노드를 꺼버린 것 2. 해결 방법 1) hadoop log 확인 나의 경우에는 hadoop 에 있는 데이터노드의 로그를 체크했다..

[Hadoop Error] java_home is not set and could not be found

1. 에러 이유 JAVA_HOME의 환경 변수를 찾지 못해 발생한다. 2. 해결방법 1) 하둡 설치 경로를 따라가서 hadoop-env.sh 를 오픈한다 vi /home/hadoop-3.1.2/etc/haddop/hadoop-env.sh # 여기서 경로는 하둡을 설치해준 경로로 변경하면된다 2) java 설치 경로를 따라가서 홈 디렉토리를 설정한다 # export JAVA_HOME=[JAVA 홈 디렉토리] export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-0.el7_7.x86_64/

[Hadoop] mkdir: Permission denied: user=root, access=WRITE, inode="/user":hdfs:supergroup:drwxr-xr-x

1. 에러의 원인 클라우데라 커뮤니티에서 찾은 답에 따르면 아래와 같다 '/user/' 디렉토리는 755 퍼미션을 가진 hdfs 소유인데, 이 퍼미션 덕분에 hdfs 는 오직 쓰기만이 가능하다. 유닉스/리눅스와 달리 hdfs 는 superuser 이지만 root 권한을 가진 계정이 아니다. 그래서 우리는 아래와 같이 명령어를 쳐줘야 한다. 여기서 주목해야될 점은 superuser 이지만 'root 계정이 아니다'인 것 같다. 2. 해결 방법 sudo -u hdfs hadoop fs ... 로 시작하는 명령어로 hdfs 슈퍼유저에게 sudo 권한으로 root 권한을 주어 경로를 생성하게 만드는 것이다 (이것은 하나의 예시이다) 3. 참고 링크 https://community.cloudera.com/t5/S..

Apache Sentry : 하둡용 허가(Authorization) 모듈

하둡용 역할(Role)기반 허가(Authorization) 모듈로 하둡 클러스터 내에서 인증된 사용자와 애플리케이션에게 하둡내 저장보관되어 있는 데이터에 대한 권한 제어 기능을 제공하는 서비스이다 현재 Sentry는 Apache Hive, Hive Metastore/HCatalog, Apache Solr, Impla 및 HDFS(Hive 테이블 데이터 파일에 대해서만 제한적으로 지원)과 같은 에코시스템에 대한 권한 모듈 및 하둡 내의 다양한 유형의 데이터 모델에 대한 권한 기능을 제공한다. Sentry가 보초병이란 의미가 있듯이, 하둡 내의 서비스들에 대한 권한을 설정하고 이를 통한 전반적인 보안/인증 절차를 담당하는 서비스라고 보면 될 것 같다. 참고 링크: https://imp51.tistory.co..

- hive : ORC 포멧

ORC : Optimized Row Columnar ORC 파일 포맷은 하이브의 처리 속도를 높이기 위하여 개발 되었다. ORC 포맷은 칼럼 단위로 데이터를 기록하고, 인덱스를 기록하여 컬럼에 바로 접근할 수 있기 때문에 속도가 빨라진다. 하나의 파일에 칼럼을 json 처럼 중첩구조로 구성할 수 있고, 리스트, 맵과 같은 복합형태로 구조를 가져갈 수 있기 때문에 오픈 소스 진영에서 많은 관심을 받고 있다. 아래 링크를 참고하여 지속 숙지해야 겠다 ORC 파일이란 https://118k.tistory.com/408 [hive] ORC 파일 포맷 ORC(Optimized Row Columnar) 파일 포맷 ORC 파일 포맷은 하이브의 처리 속도를 높이기 위하여 개발 되었다. 하이브가 처음에 사용한 TextF..

hadoop: 하둡 명령어 1

자주 사용되는 하둡 명령어를 간단하게 정리해보았다.. hadoop fs -cat [경로] - 경로의 파일을 내용 확인 - 리눅스 cat 명령과 동일 hadoop fs -count [경로] - 경로상의 폴더, 파일, 파일사이즈를 확인 hadoop fs -cp [소스 경로] [복사 경로] - hdfs 상에서 파일 복사 hadoop fs -df /user/hadoop - 디스크 공간 확인 hadoop fs -du /user/hadoop - 파일별 사이즈 확인 hadoop fs -dus /user/hadoop - 폴더의 사이즈 확인 hadoop fs -get [소스 경로] [로컬 경로] - hdfs 의 파일 로컬로 다운로드 hadoop fs -ls [소스 경로] - 파일 목록 확인 hadoop fs -mkdir..

hadoop error 1: hadoop: commend not found

하둡을 설치하고 이 에러가 뜨면 진짜 화가..후.. 다시 하둡이 설치가 되어 있는지를 확인해도 하둡은 잘 설치가 되어있다? 그러면 처음에 하둡 실행을 위해 기입한 환경설정한 부분 /etc/profile 부분에서 무엇인가 기입이 하나 안되어 있을 가능성이 크다 이 부분은 /etc/profile 부분에서 처음에 기입해준 hadoop 과 java 관련 경로가 제대로 들어갔는지 확인이 필요하다

프로젝트 주의 사항3: cloudera 설치 후 발생할 수 있는 문제들 정리1 : DNS 문제, 구성(메모리 할당) 문제

클라우데라의 문제는 색깔 기준으로 2개로 섹션이 나뉜다. 우선 구성에 들어가 해결할 수 있는 문제들을 해결한다. 1. 빨간색(모든 상태 문제) - DNS 문제(DNS 관련 문제 가 있다고 계속 뜸) allias 로 기입을 했지만, allias 를 통한 노드 이름을 식별하지 못하는 것이기 때문에 나타나는 문제이다 이럴때는 putty 로 연결되어 있는 노드들에 들어가 노드의 이름을 allias 에서 본래 이름으로 바꾸어 준다. 그 이후에, cloudera-scm-agent / server / server-db 등을 다시 시작해 준다음에 재 로그인해주면 된다. 참고로, ssh 를 써주면 node1 에서 node2로 잠시 접속을 갈아타 일일히 가상환경을 키지 않아도 노드들의 이름을 바꾸어 줄 수가 있으므로 편하..

반응형