본문 바로가기

HDFS

Single Node 설정

1. hadoop 설치

 

Mirror Site에서 bigpi1으로 설치 파일 다운 받으면 된다.

 

 

버전은 3.2.2로 하였고, 파일은 맨 마지막 hadoop-3.2.2.tar.gz로 하면 된다.

 

 

$ wget http://mirror.navercorp.com/apache/hadoop/common/hadoop-3.2.2/hadoop-3.2.2.tar.gz

 

 

Hadoop 설치 파일 압축 해제 및 설정

 

 

$ sudo tar -xvf hadoop-3.2.2.tar.gz -C /opt/

$ rm hadoop-3.2.2.tar.gz

$ cd /opt

$ sudo mv hadoop-3.2.2 hadoop

$ sudo chwon pi:pi -R /opt/hadoop

 

 

~/.bashrc 파일에 환경변수 추가

 

$ cd ~

$ nano .bashrc

 

 

export JAVA_HOME=$(readlink –f /usr/bin/java | sed "s:bin/java::")
export HADOOP_HOME=/opt/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
## 내용 추가

 

 

hadoop-env.sh에 환경변수 추가

 

$ sudo nano /opt/hadoop/etc/hadoop/hadoop-env.sh

 

 

export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")

 

 

.bashrc 변경사항 적용 후 hadoop 설치 버전 확인

 

 

$ source .bashrc

$ hadoop version

 

하둡이 정상적으로 설치되었다면 위와 같이 Hadoop 3.2.2 버전이 나와야 한다.

 

 

2. Spark 설치

 

Hadoop과 똑같이 Mirror Site에서 birpi1에 설치 파일을 다운 받으면 된다.

 

 

버전은 3.2.0이고 spark-3.2.0-bin-hadoop3.2.tgz 파일로 설치하면 된다.

 

 

$ wget http://mirror.navercorp.com/apache/spark/spark-3.2.0/spark-3.2.0-bin-hadoop3.2.tgz

 

 

Spark 설치 파일 압축 해제 및 설정

 

압축해제 후 spark 디렉토리로 이동해서 권한 설정

 

 

$ sudo tar –xvf spark-3.2.0-bin-hadoop3.2.tgz –C /opt/
$ rm spark-3.0.0-preview2-bin-hadoop3.2.tgz
$ cd /opt
$ sudo mv spark-3.2.0-bin-hadoop3.2 spark
$ sudo chown pi:pi –R /opt/spark

 

 

~/.bashrc 파일에 환경변수 추가

 

$ cd ~

$ nano .bashrc

 

 

export JAVA_HOME=$(readlink –f /usr/bin/java | sed "s:bin/java::")
export HADOOP_HOME=/opt/hadoop
export SPARK_HOME=/opt/spark # 추가
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$SPARK_HOME/bin # SPARK_HOME 추가

 

 

.bashrc 변경사항 적용 후 spark 설치 버전 확인

 

 

$ source .bashrc

$ spark-shell --version

 

 

3. HDFS 설정 및 실행

 

/opt/hadoop/etc/hadoop 하위 설정 파일들 수정

 

1. core-site.xml 파일 수정

 

$ sudo nano /opt/hadoop/etc/hadoop/core-site.xml

 

 

<configuration>
	<property>
		<name>fs.defaultFS</name>
		<value>hdfs://bigpi1:9000</value>
	</property>
</configuration>

 

 

2. hdfs-site.xml 파일 수정

 

$ sudo nano /opt/hadoop/etc/hadoop/hdfs-site.xml

 

 

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

 

 

3. DataNode와 NameNode 관련 디렉터리 작성 및 권한 설정

 

$ sudo mkdir –p /opt/hadoop_tmp/hdfs/datanode
$ sudo mkdir –p /opt/hadoop_tmp/hdfs/namenode
$ sudo chown pi:pi –R /opt/hadoop_tmp

 

 

4. mapred-site.xml 파일 수정

 

$ sudo nano /opt/hadoop/etc/hadoop/mapred-site.xml

 

 

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

 

 

5. yarn-site.xml 파일 수정

 

$ sudo nano /opt/hadoop/etc/hadoop/yarn-site.xml

 

 

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

 

 

6. HDFS 포멧

 

$ hdfs namenode -format -force

 

 

7. HDFS 서비스 시작

 

 

$ start-dfs.sh

$ start-yarn.sh

 

 

8. HDFS 정상 동작하는지 임시 디렉터리 만들어서 테스트

 

 

$ hadoop fs -mkdir /tmp

$ hadoop fs -ls /

 

 

9. 실행되는 JAVA 가상머신 목록 확인

 

$ jps

 

위의 화면처럼 Jps, ResourceManager, NameNode, SecondaryNameNode, DataNode, NodeManager 나와야 함

 

 

10. Spark와 Hadoop 동시에 동작하는지 확인

 

 

$ hadoop fs -put $SPARK_HOME/README.md /

$ spark-shell

 

 

11. Spark shell에서 README.md 파일 읽어서 출력

 

 

scala> val textFile = sc.textFile("hdfs://bigpi1:9000/README.md")

scala> textFile.first()

scala> :quit # 종료

 

 

12. Execstack Warning 메세지 숨기기

 

"You have loaded library ... which might have disabled stack guard." 에러 메시지 숨기기

 

$ sudo nano /opt/hadoop/etc/hadoop/hadoop-env.sh

 

 

export HADOOP_OPTS="-XX:-PrintWarnings –Djava.net.preferIPv4Stack=true"

 

위의 화면처럼 해당 위치에 코드를 추가해야 함.

 

 

13. NativeCodeLoader Warning 메시지 숨기기

 

$ nano .bashrc

 

 

export HADOOP_HOME_WARN_SUPPRESS=1
export HADOOP_ROOT_LOGGER="WARN,DRFA"

 

서비스 재시작 후 수정된 .bashrc 적용한다

 

$ stop-dfs.sh && stop-yarn.sh

$ start-dfs.sh && start-yarn.sh

$ source .bashrc

 

 

'HDFS' 카테고리의 다른 글

Sqoop  (0) 2021.12.22
Apache Flume  (0) 2021.12.22
HDFS Cluster 설정  (0) 2021.12.20
Cluster 설정  (0) 2021.12.16
가상환경 설치(virtual hadoop cluster 구성)  (0) 2021.12.16