반응형

기타/빅데이터 - Hadoop 17

Hadoop # HDFS cluster 구성/Namenode와 Datanode

Hadoop 주요한 구성요소 MapReduce : 소프트웨어의 수행을 분산 HDFS : 데이터를 분산 HDFS Hadoop Distributed File System 파일을 여러 대의 컴퓨터에 나누어 저장. 각 파일은 여러 개의 순차적 블록으로 저장됨. 파일의 블록은 fault tolerance를 위해 여러 개로 복제되어 다양한 머신에 저장됨. [참고] fault tolerance 시스템을 구성하는 부품에서 결함 또는 고장이 발생해도 기능을 수행할 수 있는 것. HDFS cluster 구성방식 HDFS 클러스터는 마스터-슬레이브(master-slave) 패턴으로 동작. master인 하나의 네임노드(Namenode)와 slave인 여러 개의 데이터노드(Datanode)로 구성되어 있다. HDFS clie..

Hadoop # Call From ubuntu/127.0.1.1 to localhost:9000 failed on connection exception: java.net.ConnectionException: Connection refused

상황 Ubuntu를 VMware를 통해 켜자마자 바로 Terminal을 켜고 아래 코드로 HDFS를 건드려보았다. $ hdfs dfs -cat wordcount_test_out/part-r-00000|more 그랬더니 아래와 같은 커넥션 에러가 떴다. cat: Call From ubuntu/127.0.1.1 to localhost:9000 failed on connection exception: java.net.ConnectionException: Connection refused 해결 dfs deamon을 실행시키지 않아서 생긴 문제였다. 아래 코드로 켜주자. 😂 $ start-dfs.sh

Hadoop # Found a swap file by the name ".Wordcount.java.swp"

상황 어느날 Wordcount.java를 실행시키니 아래와 같은 안내문을 받을 수 있었다. 분석 내가 Wordcount.java파일을 수정하다가 Terminal을 강제 종료하였거나하였을 때 자체적으로 .Wordcount.java.swp이란 파일을 생성해둔다고 한다. 그래서 내가 이전에 수정하던 내용을 그대로 이어나가고 싶지 않다면 E를 눌러주면 된다. 그러나 문제는 매번 Wordcount.java를 켤 때 마다 다시 물어본다는 것이다. 해결 귀찮으니까 그냥 .Wordcount.java.swp을 삭제해버리자. $ rm .Wordcount.java.swp

Hadoop # Datanode 삭제되었을 때 해결방법

상황 아래 명령어를 실행했으나 아무런 결과값이 반환되지 않았다. $ hdfs dfs -cat wordcount_test_out/part-r-00000|more 원인 아래 명령어를 통해 확인해본 결과 DataNode가 존재하지 않았다. $ jps 해결 우선 서버를 종료하자. $ stop-dfs.sh hdfs가 사용하는 folder를 삭제해주자. 다시 만들어주게! rm -rf ~/hadoop_tmp hdfs가 사용할 폴더를 다시 생성 $ mkdir hadoop_tmp hdfs를 포맷해주자. $ hadoop namenode -format 서버를 다시 켜주자. $ start-dfs.sh hadoop user가 사용할 폴더를 다시 생성해주자. $ hdfs dfs -mkdir -p /user/hadoop 혹은 $ ..

Hadoop # mkdir: `hdfs://localhost:9000/user/hadoop': No such file or directory

상황 하둡의 HDFS에 wordcount_test라는 디렉토리를 생성하라는 명령어를 입력해주었더니 위 에러를 뱉었다. mkdir는 디렉토리를 생성해달라는 명령어인데 왜 이러한 파일 혹은 디렉토리가 없다고 하지? 싶었다. 그런데 원인은 상위 디렉토리도 아직 없는데 하위 디렉토리를 바로 생성해주려 했기 때문이다. 해결 상위 디렉토리를 먼저 만들어주기 전 해당 폴더에 아무 디렉터리가 없는지 확인하자. $ hdfs dfs -ls HDFS에 최상위 폴더인 user를 생성해주자. $ hdfs dfs -mkdir /user HDFS의 user폴더 안에 hadoop폴더를 생성해주자. 이제 hadoop의 폴더에 새로운 디렉토리를 생성할 준비가 되었다. $ hdfs dfs -mkdir /user/hadoop 실패했었던 하..

ssh localhost 오류 # ssh: connect to host localhost port 22: Connection refused

상황 아래 명령어는 SSH server가 잘 설치되어있는지 알아볼 수 있는 명령어다. 기본적으로는 시스템 자체에 원격접속을 시작할 수 있는 명령어다. $ ssh localhost 분석 이 에러를 얻었을 때의 의미는 SSH server 패키지가 시스템에 설치가 되어있지 않거나 서비스가 그저 현재 활성화되지 않았을 때이다. SSH service를 체크해보자.(나의 경우엔 1번 문제였다.) $ systemctl status sshd openssh-server패키지를 설치하자. $ sudo apt-get install openssh-server 다시 SSH service를 체크해보니 active된 것을 볼 수 있다. 그리고 이제 다시 시스템 자체에 원격접속을 시작할 수 있는 명령어를 입력해보니 다음의 질문을 했..

VMware에 Ubuntu 설치 에러 # Your host does not meet minimum requirements to run VMware Player with Hyper-V or Device/Credential Guard enabled.

에러창 Your host does not meet minimum requirements to run VMware Player with Hyper-V or Device/Credential Guard enabled. 호스트가 활성화된 Hyper-V 또는 Device/Credential Guard과 VMware Player를 실행하기 위한 최소 요구 사항을 충족하지 않습니다. 상황 이전에 Docker를 Windows Home버전에 깔아주면서 Hyper-V를 활성화시켰었다. 그렇게 활성화해두었던 Hyper-V와 지금 다운로드하여주려는 Ubuntu사이에서 충돌이 일어난 것이다. Hyper-V를 꺼주면 된다! Step 1 Step 2 Step 3 이제 재부팅까지 해주면 끝! 재부팅 필수!! 🔽 REFERENCE V..

반응형