메뉴 건너뛰기

Bigdata, Semantic IoT, Hadoop, NoSQL

Bigdata, Hadoop ecosystem, Semantic IoT등의 프로젝트를 진행중에 습득한 내용을 정리하는 곳입니다.
필요한 분을 위해서 공개하고 있습니다. 문의사항은 gooper@gooper.com로 메일을 보내주세요.


Hadoop Hadoop 설치 및 시작하기

구퍼 2013.03.06 09:45 조회 수 : 1958

Hadoop 설치 및 시작하기

 

Hadoop 의 구축 방법으로는

단독 작업 모드 (Stand-Alone Operation), 가상 분산 모드 (Pseudo-Distributed Operation), 완전 분산 모드 (Fully-Distributed Operation) 이렇게 3가지 방법이 있다.

본 포스팅에서는 가상 분산 모드(Pseudo-Distributed Operation)로 구축해 보도록 하겠다.

하둡 설치하기

 

아래의 아파치 하둡 페이지에서 다운로드를 받는다.

http://www.apache.org/dyn/closer.cgi/hadoop/common/

필자는 hadoop_1.1.1 버전을 받았으나, 다른 버전을 사용해도 상관없을 것이다.

tar.gz 로 끝나는 파일(hadoop-1.1.1.tar.gz)을 받으면 된다.

다운이 완료되었으면 알FTP를 통해 다운받은 파일을 전송한다.

전송이 완료되면

PuTTY 를 통해 원격접속하여 hadoop 설치를 진행하겠다.

서버에는 Ubuntu 12.04 버전이 설치되어있다.

그리고 자바는 필수적으로 설치되어 있어야 한다.(jdk1.6.x 권장)

알FTP로 전송한 hadoop-1.1.1.tar.gz가 있는 위치로 이동하여 tar파일의 압축을 푼다.

압축해제 명령어

tar -xvzf hadoop-1.1.1.tar.gz

hadoop-1.1.1.tar.gz 의 압축을 푼 것으로 설치는 완료되었다.

하둡 설치경로를 환경 변수설정 해주어야 한다.

# cd

# vi .profile

export JAVA_HOME=/usr/lib/jvm/java-6-sun

export HODOOP_INSTALL=/usr/local/hadoop-1.1.1

export PATH=$PATH:$HADOOP_INSTALL/bin

환경 설정을 적용한다.

# source .profile

가상 분산 모드(Pseudo-Distributed Operation) 설정하기

압축해제한 폴더경로로 이동하여 파일들을 살펴보면 대략 이러한 파일들이 나올것이다.

input, output 폴더는 테스트과정에서 생성된것임

xml 문서작성하기

vi 편집기를 이용하여 다음 3개의 xml 을 아래와 같이 수정한다.

vi conf/core-site.xml

vi conf/hdfs-site.xml

vi conf/mapred-site.xml

1. conf/core-site.xml

<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>

2. conf/hdfs-site.xml

<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>

3. conf/mapred-site.xml

<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>


passphraseless ssh 설치하기

$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

 

실행하기

다음의 명령어를 차례로 입력한다.

$ mkdir input
$ cp conf/*.xml input

$ bin/hadoop namenode -format
$ bin/start-all.sh
$ bin/hadoop fs -put conf input
$ bin/hadoop jar hadoop-examples-*.jar grep input output 'dfs[a-z.]+'
$ bin/hadoop fs -get output output
$ cat output/*

bin/start-all.sh 입력시 정상적으로 실행된다면 아래의 목록들이 확인될 것이다.

# jps

NameNode

SecondaryNameNode

JobTracker

DataNode

TaskTracker

만약 bin/start-all.sh 입력시 'JAVA_HOME is not set' 이라는 에러가 뜬다면

$ vi conf/hadoop-env.sh 문서에서

export JAVA_HOME='자바경로' 를 입력한다.

export앞에 #은 주석처리이니 빼줄것

정상적으로 진행됬을 경우

cat output/* 입력시 결과가 출력된다.

1개의 일치하는 파일을 찾았다.

  
설치 과정에서의 troubleshooting
- start-all.sh 실행시 데몬 프로세스가 구동되지 않거나 JAVA_HOME 못찾는 경우
> vi conf/hadoop-env.sh 에 JAVA_HOME 환경 설정 부분 주석 제거하고 JAVA 설치 정보 수정해 줌

- java.io.IOException: Not a file: 오류 발생 시
> bin/hadoop fs -rmr input          (input 삭제)
> bin/hadoop fs -put conf input   (로컬의 conf경로에 있는 파일을 hadoop의 input에 다시적재)

 

- 구동 확인 방법
. http://localhost:50030/jobtracker.jsp
. http://localhost:50070/dfshealth.jsp

번호 제목 글쓴이 날짜 조회 수
741 [CDP7.1.7, Replication]Encryption Zone내 HDFS파일을 비Encryption Zone으로 HDFS Replication시 User hdfs가 아닌 hadoop으로 수행하는 방법 gooper 2024.01.15 4
740 [CDP7.1.7] oozie sqoop action으로 import혹은 export수행시 발생한 오류에 대한 자세한 로그 확인 하는 방법 gooper 2024.04.19 4
739 [Impala] alter table구문수행시 "WARNINGS: Impala does not have READ_WRITE access to path 'hdfs://nameservice1/DATA/Temp/DB/source/table01_ccd'" 발생시 조치 gooper 2024.04.26 6
738 ./gradlew :composeDown 및 ./gradlew :composeUp 를 성공했을때의 메세지 gooper 2023.02.20 8
737 [CDP7.1.7]Hive Replication수행중 Specified catalog.database.table does not exist : hive.db명.table명 오류 발생시 조치방법 gooper 2024.04.05 9
736 호출 url현황 gooper 2023.02.21 10
735 [CDP7.1.7]Hive Replication수행시 Target Cluster에서 Specified catalog.database.table does not exist 오류 gooper 2024.05.08 11
734 [Encryption Zone]Encryption Zone에 생성된 table을 select할때 HDFS /tmp/zone1에 대한 권한이 없는 경우 gooper 2023.06.29 12
733 [CDP7.1.7]Encryption Zone내부/외부 간 데이터 이동(mv,cp)및 CTAS, INSERT SQL시 오류(can't be moved into an encryption zone, can't be moved from an encryption zone) gooper 2023.11.14 12
732 eclipse editor 설정방법 총관리자 2022.02.01 14
731 주문히스토리 조회 총관리자 2022.04.30 14
730 [CDP7.1.7, Hive Replication]Hive Replication진행중 "The following columns have types incompatible with the existing columns in their respective positions " 오류 gooper 2023.12.27 14
729 [vue storefrontui]외부 API통합하기 참고 문서 총관리자 2022.02.09 15
728 주문 생성 데이터 예시 총관리자 2022.04.30 15
727 [bitbucket] 2022년 3월 2일 부터 git 작업시 기존에 사용하던 비빌번호를 사용할 수 없도록 변경되었다. 총관리자 2022.04.30 15
726 [Cloudera Agent] Metadata-Plugin throttling_logger INFO (713 skipped) Unable to send data to nav server. Will try again. gooper 2022.05.16 15
725 [EncryptionZone]User:testuser not allowed to do "DECRYPT_EEK" on 'testkey' gooper 2023.06.29 15
724 [Oracle 11g]Kudu table의 meta정보를 담고 있는 table_params의 백업본을 이용하여 특정 컬럼값을 update하는 Oracle SQL문 gooper 2023.09.04 15
723 Hadoop Clsuter에 이미 포함된 host의 hostname변경시 처리 절차 gooper 2023.03.24 17
722 oozie의 sqoop action수행시 ooize:launcher의 applicationId를 이용하여 oozie:action의 applicationId및 관련 로그를 찾는 방법 gooper 2023.07.26 17

A personal place to organize information learned during the development of such Hadoop, Hive, Hbase, Semantic IoT, etc.
We are open to the required minutes. Please send inquiries to gooper@gooper.com.

위로