[Ubuntu]Apache Hadoop 설치하기

3 분 소요

Hadoop 의 구축 방법


  • 단독 작업 모드 (Stand-Alone Operation)
  • 가상 분산 모드 (Pseudo-Distributed Operation)
  • 완전 분산 모드 (Fully-Distributed Operation)

●독립모드(Standalone mode)

데몬 프로세스가 동작하지 않고, 모든것이 단독 JVM 내에서 동작. 개발하는 동안 맵리듀스 프로그램을 동작시키기에 적합한데, 테스트하고 디버그가 쉽기 때문이다.

●의사분산모드/ 가상분산모드(Pseudo-distributed mode)

하둡 데몬 프로세스가 로컬컴퓨터에서 동작하므로 작은 규모의 클러스터를 시뮬레이트 할 수 있다.

●완전분산모드(Fully distributed mode)

하둡 데몬프로세스는 다수 컴퓨터로 구성된 그룹에서 동작한다.

출처: https://jy86.tistory.com/entry/ㅇ [JY World!!]

나는 가상 분산모드 할거임

가상분산모드를 하기 위해서는 가상머신 먼저 다운받아야 한다. https://webnautes.tistory.com/448 https://wnw1005.tistory.com/186 아래 블로그가 더 최신 버전 다운받는 방법을 보여주는 블로그

참고로 확장팩은 굳이 필요없으니 안다운받아도됨

진짜 개오래걸렸다 ^^ 후 ,, 가상머신은 다운받을 때마다 적응안됨 + 시간 오래걸림 오전시간 다날리고 2시간 더걸림

~ 순서 ~

  1. 하둡 설치하기
  2. 하둡 서버 구축
  3. 하둡 스파크 연동

하둡(Hadoop) 설치하기


영상에서는 위의 사진과 같은 3대의 가상머신을 만들었다. 네임노드 : 파일을 쪼개고 쪼개진 파일이 어떤 데이터 노드에 저장되어져 있는지 기억하는 컴퓨터 데이터 노드 : 실제 사용자가 업로드한 데이터를 쪼개진 형태로 보관하고 있는 컴퓨터

파일의 이름이나 경로는 네임노드에 저장되고 , 실제 데이터는 데이터 노드에 분산되어 저장되어져 있음

하둡은 자바로 개발이 되었기 때문에 java가 가장 접근성이 좋지만 php, python 으로도 제어할 수 있다.

하둡은 큰 데이터를 처리하기 위해 만들어 졌기 때문에 작은파일도 병렬처리로 처리를 하기 때문에 시간이 오래걸린다.

나는 가상머신 2개를 이용해서 분산 컴퓨팅 환경을 구축하려고 한다. 컴퓨터 사양 문제로 2개만 사용할 예정 ( master-slave )

아 그리고 가상머신은 virtual box 를 사용할 것이다.

서버 환경 구성하기

ssh 다운로드가 안받아져 있거나 ssh 대해 모르는 사람들(나)이 참고했으면 하는 블로그 글 http://magic.wickedmiso.com/101

sudo apt-get update

sudo apt-get upgrade

sudo add-apt-repository ppa:webupd8team/java

엔터키

sudo apt-get update

sudo apt-get install openjdk-8-jdk

참고로 java8-installer 어쩌고 이거 이제 안돼요 ㅠ ㅠ 대신 openjdk 로 하심 댑니다 !! .. 훨 쉬운듯 ㅎㅎ

sudo apt-get upgrade
java -version

확인

sudo addgroup hadoop

sudo adduser –ingroup hadoop slave

비밀번호 입력한 뒤 엔터 계속 친 뒤 Y 를 입력해 등록

sudo gedit /etc/sudoers

#User privilege specification 항목에 root 부분 아래에 위에 그룹에 추가한 user 이름 추가

apt -get install openssh-server

ssh 다운로드 후

sudo su slave

sudo su user이름

cd

ssh-keygen -t rsa -P “”

엔터

cat $HOME/.ssh/id_rsa.pub » $HOME/.ssh/authorized_keys

sudo reboot

ubuntu 브라우저를 통해

http://mirror.navercorp.com/apache/haddop/common 에 접속해서 파일 다운로드

여기서 hadoop-2.10.0 버전 다운받았음

맨 마지막 파일 hadoop-2.10.0.tar.gz 를 다운

파일 저장 선택 후 압축 풀고 바탕화면에 복사한 뒤 압축 풀기

터미널로 이동하여서

sudo su slave

cd

sudo mv ‘/home/master/바탕화면/hadoop-2.10.0’ /home/master/hadoop

바탕화면에 있는 파일을 내가 원하는 경로 ( hadoop 이라는 폴더를 만들었음 ) 로 이동시킴

sudo chown slave:hadoop -R /home/master/hadoop

sudo mkdir -p /home/master/hadoop_tmp/hdfs/namenode
sudo mkdir -p /home/master/hadoop_tmp/hdfs/datanode

sudo chown slave:hadoop -R /home/master/hadoop_tmp/

sudo gedit .bashrc

텍스트 편집기가 뜨면 맨 마지막 부분에

이 문구를 추가 한 뒤 저장 (경로 잘 보세요 ! 각자 만든 경로대로 적어줘야 함 !!)

cd /home/master/hadoop/hadoop-2.10.0/etc/hadoop

sudo gedit hadoop-env.sh

#the java implementation to use 부분에 export JAVA_HOME 밑에 새로운 JAVA_HOME 경로 추가 ! (위에 환경변수 설정한 JAVA_HOME 경로랑 같아야해용)

sudo gedit core-site.xml

‘configuration’ 태그 안에 형광펜 친 부분 추가

sudo gedit hdfs-site.xml

‘configuration’ 태그 안 부분 다 추가 ! datanode 랑 namenode 는 아까전에 생성해놓은 그 경로로 해야해용 !!

sudo gedit yarn-site.xml

‘configuration’ 태그 안에 부분 추가 후 저장

cp /home/master/hadoop/hadoop-2.10.0/etc/hadoop/mapred-site.xml.template /home/master/hadoop/hadoop-2.10.0/etc/hadoop/mapred-site.xml


sudo gedit mapred-site.xml

가장 밑에 다음과 같은 문구 추가한 후 저장

cd

source ~/.bashrc
cd /home/master/hadoop_tmp/hdfs

(경로 확인 잘하세용)

hadoop namenode -format

???????!!!!!!!!!!!!!!!!!!!! hadoop 없는 명령어다 ㅇㅈㄹ 하는데 아주 화남 ㅎㅎ

가상머신이랑 맞짱뜨고 하둡이랑 2차 싸우다가 화딱지 날 것 같다 .. . . . . ..

와 ㅎㅎ 해결함 ,, 오늘의 교훈 ,, 터미널을 여러개 열어놓지 맙시다..^^그리고 경로 !!! 잘 확인해야함 !!!!!!!!!! 터미널 여러개 열어놓고 했다가 다른 경로의 같은 이름의 파일 (source ~/.bashrc) 을 잘못 수정한듯 했음 .. 다시 시도해보니 나는 분명 파일을 수정했는데 깨-끗해서 당황해찌만 바로 다시 적고 그 이후 과정들을 다시 실행하니 되었다 ..

해결 완료 ㅎㅎ 이렇게 뜸 !! 성공하면 ! 엄청 길다 뭐 뜨는 문구들이




cd /home/master/hadoop/hadoop-2.10.0
start-dfs.sh

yes 입력 후

start-yarm.sh

jps

jps 했을 때 이렇게 뜨면 성공 ~!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

드디어 길고도 험난했던 hadoop 다운이 끝났네요 ^_ ^ … 진짜 ….. 다음에는 spark 설치와 … spark hadoop 연동 하겠읍니다 …………


참고 https://daeson.tistory.com/277?category=679387 https://bisn.tistory.com/9 https://riothaid.tistory.com/178

업데이트: