1. 기본 설정
# JAVA 설치
- OS에 맞춰 설치(다운로드) 후 JAVA_HOME 환경변수 설정
# Hadoop 실행 계정 생성 및 SSH Key 등록
- 노드에서 다른 노드로 접속(ssh) 시 패스워드 없이 접속을 위해 키 생성 및 등록
- ssh localhost 명령에서 패스워드가 없이 접속이 되어야 성공
$ useradd hadoop
$ su - hadoop
$ ssh-keygen -t rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys
$ ssh localhost # 패스워드 없이 접속이 되어야 함
# Hadoop Download
- http://hadoop.apache.org/releases.html
wget http://mirror.apache-kr.org/hadoop/common/hadoop-2.7.2/hadoop-2.7.2.tar.gz
tar -zxvf hadoop-2.7.2.tar.gz
sudo cp -R hadoop-2.7.2 /usr/local/
sudo chown -R hadoop:hadoop /usr/local/hadoop-2.7.2
sudo ln -s /usr/local/hadoop-2.7.2 /usr/local/hadoop
# ~/.bashrc
# HADOOP_HOME 설정 및 bin path 설정
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
2. Hadoop 설정파일
# $HADOOP_HOME/etc/hadoop/hadoop-env.sh
- JAVA_HOME 설정
# The java implementation to use.
export JAVA_HOME=/usr/local/java
# $HADOOP_HOME/etc/hadoop/core-site.xml
- 9000 포트에 hdfs:// 프로토콜 서비스
- hadoop.tmp.dir 의 디폴트 경로 : /tmp/hadoop-${user.name}
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://0.0.0.0:9000</value>
</property>
</configuration>
- 추가적으로 hadoop.tmp.dir 설정이 필요 하다면
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://0.0.0.0:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/hdfs/dfs/tmp</value>
</property>
</configuration>
# $HADOOP_HOME/etc/hadoop/hdfs-site.xml
- dfs.replication : block replication (default : 3)
- dfs.namenode.name.dir : namenode 디렉토리 위치
- dfs.datanode.data.dir : datanode 디렉토리 위치
- dir을 지정하지 않으면 각각 file://${hadoop.tmp.dir}/dfs/name file://${hadoop.tmp.dir}/dfs/data 에 위치
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/hdfs/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/hdfs/dfs/data</value>
</property>
</configuration>
# namenode format
# dir 경로에 권한 부여
$ sudo mkdir /hdfs
$ sudo chown hadoop:hadoop /hdfs
# namenode fomat
$ hdfs namenode -format
# $HADOOP_HOME/etc/hadoop/mapred-site.xml
$ cp $HADOOP_HOME/etc/hadoop/mapred-site.xml.template $HADOOP_HOME/etc/hadoop/mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
# $HADOOP_HOME/etc/hadoop/yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
3. Hadoop 구동
- hdfs 및 yarn 서비스 시작 (hadoop 계정으로 실행)
- jps 를 통해서 Namemode, Datanode 등 실행 되는지 학인
$ sudo - hadoop
$ $HADOOP_HOME/sbin/start-dfs.sh
$ $HADOOP_HOME/sbin/start-yarn.sh
# 서비스 확인
$ jps
2609 DataNode
2485 NameNode
3334 Jps
2779 SecondaryNameNode
2940 ResourceManager
3039 NodeManager
$ hdfs dfs -ls /
$ hdfs dfs -mkdir /data
$ hdfs dfs -put /home/hadoop/data/* /data/
# 서비스 PORT
- 9000 : ipc 서비스 포트, hdfs://
- 50070 : Namenode 웹 어드민
- 50075 : Datanode 웹 어드민
'Dev > Data' 카테고리의 다른 글
Spark 테스트 (Windows, Scala, Self-Contained Applications) (1) | 2015.11.18 |
---|---|
Apache Tajo 테스트 (Windows) (0) | 2015.11.13 |
Apache Hadoop 2.7.1 (Windows) (0) | 2015.11.13 |
Spark 테스트 (Windows, Python 환경) (0) | 2015.11.11 |
Spark 설치 (Standalone) (1) | 2015.11.11 |