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
반응형
'COMPUTER SCIENCE' 카테고리의 다른 글
[Github] 효율적인 개발 프로세스 구축을 위한 필수템, Github Actions (0) | 2023.03.26 |
---|---|
[Git] fork 해 온 repository 내용 업데이트(pull) 하기 (0) | 2022.11.20 |
[Github] branch 이름 변경 / remote branch 삭제 (0) | 2021.07.09 |
[Github] branch 로컬/원격 접근 및 삭제 (0) | 2020.10.27 |
[Git] git clone, push, pull 할 때 username / password 함께 입력해주기 (2) | 2020.04.29 |