본문 바로가기

COMPUTER SCIENCE

[Hadoop] hadoop 설치 과정

0. hadoop 용 user 추가 (불필요한 과정)

$ sudo addgroup hadoop
$ sudo adduser --ingroup hadoop hadoopusr
$ sudo adduser hadoopusr sudo
$ sudo apt-get install openssh

$ su - hadoopusr
$ ssh-keygen -t rsa -P ""
$ cat $HOME/ .ssh/id_rsa.pub >> $HOME/ .ssh/authorized_keys
$ ssh localhost
$ exit

 

1. hadoop 파일 다운로드

$ wget http://mirror.apache-kr.org/apache/hadoop/common/hadoop-2.10.0/hadoop-2.10.0.tar.gz
$ tar -xvzf hadoop-2.10.0.tar.gz

$ mkdir /usr/local/
$ mv hadoop-2.10.0 /usr/local/hadoop
$ chown -R hadoopusr /usr/local    # hadoopusr 추가한 경우 진행

 

2. .bashrc에 환경변수 추가

$ vi ~/.bashrc

'
### .bashrc에 추가할 내용
export JAVA_HOME=~/usr/lib/jvm/java-7-openjdk-amd64   # 설치된 java 버전으로 입력 (앞에 ~ 꼭 넣어주기)
##### 이후 내용은 pseudo distributed mode 이용 시에만 입력
export HADOOP_HOME=~/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

### 동영상에는 없었으나 다른 에러 해결 과정에서 추가한 내용
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_PREFIX=$HADOOP_HOME
export HADOOP_LIBEXEC_DIR=$HADOOP_HOME/libexec
export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH
export HADOOP_CONF_DIR=$HADOOP_PREFIX/etc/hadoop
'

$ source ~/.bashrc

 

(이후 과정은 pseudo distributed mode 진행 시에만 설정)

3. hadoop-env.sh 내용 변경

$ vi /usr/local/hadoop/etc/hadoop/hadoop-env.sh

'
### export JAVA_HOME 있는 부분 찾아서 아래 내용으로 변경
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64    # .bashrc에 입력한 JAVA_HOME과 동일
'

 

4. core-site.xml 내용 변경

$ vi /usr/local/hadoop/etc/hadoop/core-site.xml

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

 

5. hdfs-site.xml 내용 변경

$ vi /usr/local/hadoop/etc/hadoop/hdfs-site.xml

'
<configuration>
<property>
  <name>dfs.replication</name>
  <value>1</value>
</property>
<property>
  <name>dfs.namenode.name.dir</name>
  <value>file:/usr/local/hadoop_tmp/hdfs/namenode</value>
</property>
<property>
  <name>dfs.datanode.data.dir</name>
  <value>file:/usr/local/hadoop_tmp/hdfs/datanode</value>
</property>
</configuration>
'

 

6. yarn-site.xml 내용 변경

$ vi /usr/local/hadoop/etc/hadoop/yarn-site.xml

'
<configuration>
<property>
  <name>yarn.nodemanager.aux-services</name>
  <value>mapreduce_shuffle</value>
</property>
<property>
  <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
  <value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>
'

 

7. mapred-site.xml 파일 추가 및 내용 변경

$ cp /usr/local/hadoop/etc/hadoop/mapred-site.xml.template /usr/local/hadoop/mapred-site.xml
$ vi /usr/local/hadoop/mapred-site.xml

'
<configuration>
<property>
  <name>mapreduce.framework.name</name>
  <value>yarn</value>
</property>
</configuration>
'

 

8. 정상 설치 확인

$ mkdir -p /usr/local/hadoop_space
$ mkdir -p /usr/local/hadoop_space_hdfs/namenode
$ mkdir -p /usr/local/hadoop_space_hdfs/datanode
$ chown -R hadoopusr /usr/local/hadoop_space

$ hostname
> [해당 서버의 hostname이 나올 것]
$ vi /etc/hosts
'
127.0.0.1 localhost [서버의 hostname]
'

$ bin/hdfs namenode -format
$ sbin/start-dfs.sh
$ sbin/start-yarn.sh
$ jps      # 아래와 같이 6개가 나오면 정상 설치된 것 (숫자는 다를 수 있음)
> 13946 NodeManager
> 12802 NameNode
> 13225 SecondaryNameNode
> 12994 DataNode
> 13753 ResourceManager
> 14010 Jps

 

참고 자료 : https://www.youtube.com/watch?v=ieeCyhQ2PPM&feature=youtu.be

반응형