CentOS 7에 Hadoop 설치
CentOS 7에 Hadoop 설치
이전 글에서 CentOS 7을 AWS에 설치 했었습니다.
사실 Hadoop
+ HBase
를 설치하기 위한 사전 작업이어서 오늘은 먼저 Hadoop을 설치해 봅니다.
먼저 JDK를 설치하는 등 기본 환경을 설정합니다.
[centos@ip-172-31-3-215 ~]$ sudo -i
# Oracle JDK 8을 다운로드합니다. 혹 아래 명령으로 다운로드가 안되면 직접 사이트에서 다운로드 해서 가져옵니다
[ root@ip-172-31-3-215 ~]# wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u25-b17/jdk-8u25-linux-x64.tar.gz"
# /opt 디렉토리에 압축을 해제합니다
[ root@ip-172-31-3-215 ~]# tar -zxvf jdk-8u25-linux-x64.tar.gz -C /opt
# 방금 설치한 Oracle JDK를 기본 JDK로 설정합니다
[ root@ip-172-31-3-215 ~]# /usr/sbin/alternatives --install /usr/bin/java java /opt/jdk1.8.0_25/bin/java 100
# java 버전을 확인합니다
[ root@ip-172-31-3-215 ~]# java -version
java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)
# /etc/profile 파일에 JAVA_HOME 환경 변수를 추가합니다
[ root@ip-172-31-3-215 ~]# vi /etc/profile
export JAVA_HOME=/opt/jdk1.8.0_25
JDK 설치가 완료됐으면 이제 hadoop
계정을 추가하고 SSH 키를 생성합니다.
# root 계정으로 전환한 후 hadoop 계정을 추가합니다
[centos@ip-172-31-3-215 ~]$ sudo -i
[ root@ip-172-31-3-215 ~]# useradd hadoop
[ root@ip-172-31-3-215 ~]# su - hadoop
# 생성한 hadoop 계정으로 전환한 후 ssh-keygen 명령으로 SSH 키를 생성합니다
[hadoop@ip-172-31-3-215 ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hadoop/.ssh/id_rsa):
Created directory '/home/hadoop/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/hadoop/.ssh/id_rsa.
Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub.
The key fingerprint is:
92:14:bd:ff:f6:26:bd:4d:ad:39:99:c6:ce:2e:a4:73 hadoop@ip-172-31-3-215
The key's randomart image is:
+--[ RSA 2048]----+
| .. |
| .. |
| . . |
| . .. |
| o S. |
| . . . .|
| + o oo|
| o E.O= |
| + OOo.|
+-----------------+
# 암호 없이 ssh 접속이 가능하도록 공개키를 authorized_keys 파일에 추가합니다
[hadoop@ip-172-31-3-215 ~]$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
[hadoop@ip-172-31-3-215 ~]$ chmod 0600 ~/.ssh/authorized_keys
[hadoop@ip-172-31-3-215 ~]$ ssh localhost
Last login: Sun Mar 8 07:01:41 2015
이제 hadoop을 내려받고 설치합니다.
[hadoop@ip-172-31-3-215 ~]$ wget http://apache.mirror.cdnetworks.com/hadoop/common/hadoop-2.5.2/hadoop-2.5.2.tar.gz
[hadoop@ip-172-31-3-215 ~]$ tar xvfz hadoop-2.5.2.tar.gz
.bashrc
파일에 관련 환경 변수를 추가합니다
[hadoop@ip-172-31-3-215 ~]$ cd hadoop-2.5.2
[hadoop@ip-172-31-3-215 hadoop-2.5.2]$ vi ~/.bashrc
export HADOOP_HOME=/home/hadoop/hadoop-2.5.2
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH
source
명령을 이용해서 환경 변수를 현재 환경에 읽어 들입니다.
[hadoop@ip-172-31-3-215 hadoop-2.5.2]$ source ~/.bashrc
$HADOOP_HOME/etc/hadoop/core-site.xml
파일을 열고
[hadoop@ip-172-31-3-215 hadoop-2.5.2]$ vi etc/hadoop/core-site.xml
아래와 같이 내용을 추가합니다.
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
$HADOOP_HOME/etc/hadoop/hdfs-site.xml
파일을 열고
[hadoop@ip-172-31-3-215 hadoop-2.5.2]$ vi etc/hadoop/hdfs-site.xml
아래와 같이 내용을 추가합니다.
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>file:///home/hadoop/hadoopdata/hdfs/namenode</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>file:///home/hadoop/hadoopdata/hdfs/datanode</value>
</property>
</configuration>
$HADOOP_HOME/etc/hadoop/mapred-site.xml
파일을 열고
아래와 같이 내용을 추가합니다.
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
namenode를 포맷합니다.
[hadoop@ip-172-31-3-215 hadoop-2.5.2]$ hdfs namenode -format
Hadoop을 시작합니다.
# dfs daemon을 시작합니다
[hadoop@ip-172-31-3-215 hadoop-2.5.2]$ start-dfs.sh
Starting namenodes on [localhost]
localhost: starting namenode, logging to /home/hadoop/hadoop-2.5.2/logs/hadoop-hadoop-namenode-ip-172-31-3-215.ap-northeast-1.compute.internal.out
localhost: starting datanode, logging to /home/hadoop/hadoop-2.5.2/logs/hadoop-hadoop-datanode-ip-172-31-3-215.ap-northeast-1.compute.internal.out
Starting secondary namenodes [0.0.0.0]
0.0.0.0: starting secondarynamenode, logging to /home/hadoop/hadoop-2.5.2/logs/hadoop-hadoop-secondarynamenode-ip-172-31-3-215.ap-northeast-1.compute.internal.out
# yarn daemon을 시작합니다
[hadoop@ip-172-31-3-215 hadoop-2.5.2]$ start-yarn.sh
starting yarn daemons
starting resourcemanager, logging to /home/hadoop/hadoop-2.5.2/logs/yarn-hadoop-resourcemanager-ip-172-31-3-215.ap-northeast-1.compute.internal.out
localhost: starting nodemanager, logging to /home/hadoop/hadoop-2.5.2/logs/yarn-hadoop-nodemanager-ip-172-31-3-215.ap-northeast-1.compute.internal.out
jps(Java Virtual Machine Process Status Tool)로 java 프로세스를 확인합니다.
[hadoop@ip-172-31-3-215 hadoop-2.5.2]$ $JAVA_HOME/bin/jps
4981 NodeManager
5400 Jps
4889 ResourceManager
4747 SecondaryNameNode
4494 NameNode
'설치&설정' 카테고리의 다른 글
WSL 2(Windows Subsystem for Linux 2) 설치 (0) | 2020.12.13 |
---|---|
Ubuntu 16.04에서 발생하는 libseccomp2 의존성 문제 (2) | 2019.12.23 |
Pinpoint 빨리 설치하기(QuickStart) (1) | 2015.03.30 |
CentOS 공개키 인증으로 암호 없이 로그인 (0) | 2014.10.18 |
시스템 환경변수 설정 (0) | 2007.10.28 |