본문 바로가기

PROJECT

[Centos7 & Hadoop] 환경설정부터 설치까지

하둡이란?

 

 

-분산 환경에서 빅 데이터를 저장하고 처리할 수 있는 자바 기반의 오픈 소스 프레임 워크. , 많은 양의 데이터를 여러대의 컴퓨터에서 나눠서 처리한 후 다시 모아서 하나의 처리 결과로 만들어줌다.

자바기반으로 만들어짐.

 

- CFS(Google File Systme)과 맵리듀스를 2005년 더그커팅이 구현한 결과물이다. 하둡은 분산시스템인 HDFS(Hadoop Distributed File System)에 데이터를 저장하고, 맵리듀스를 이용해 데이터를 처리한다.

 

-하둡은 여러 대의 서버에 데이터를 저장하고, 저장된 각 서버에서 동시에 데이터를 처리하는 방식이다. 하둡은 기존의 RDBMS(Oracle,MS-SQL, MySQL)을 대치하는 것이 아니다. 즉 트랜젝션이나 무결성을 보장해야하는 데이터처리에는 적합하지 않다. 하둡은 배치성으로 데이터를 저장하고 처리하는데 적합한 시스템이다.

 

하툽 설치하기

-일단 분산 컴퓨팅 환경을 구축해야함.

 

* 서버 환경 구성하기*

1. 리눅스 설치

 

2. 가상화 소프트웨어 (Virtual box 혹은 VMware)를 설치

--> 참고로 Virtual box로 계속 시도했다가 자꾸 라이센스 동의가 안떠서 결국 VMware로 넘어감.

설치 시간은 좀 오래걸린다.

 

3. 리눅스에서 컴퓨터 하드웨어 자원 및 프로세스를 관리하는 소프트웨어이며 서버 하드웨어를 사용하기 위해 'CentOS'를 설치해줌. CnetOSVMware를 통해 설치하는 방법은 아래에 있는 동영상을 참고했다.

 

주의! CentOS 8 버전이 최신 버전이길래 시도했다가 안되서(오랜 삽질 뒤..) CentOS 7을 사용했다.구글을 검색하면 쉽게 전 버전을 구할 수 있다.

 

초기 개념과 설치법은 보통 이 동영상을 따라했다.

 

참고 동영상 : YouTube - '이것이 리눅스다' 동영상 참고

https://www.youtube.com/watch?v=o_E9Wo97SHk

 

여기서 가상 네트워크 설정을 이 꼭 필요한데 이를 위해서는 workstation이라는 유료 프로그램을 설치해야한다.

여기서 나는 일단 평가판을 설치해서 실행시켰다.

--> 네트워크 설정은 동영상 'VMware 특징과 네트워크 환경 설정'을 살펴보면된다.

 

하지만 네트워크 설정전에 가상머신을 원하는 수 만큼 만들어야한다. 동영상에서는 하나씩 만들고 일일히 설정하지만 복사하는 방법을 쓰면 훨씬 간편하다는 것을 알았다.

 

 

 

 

centos7 가상머신 만들기 성공

 

 

 

 

 

가상머신 3개 만들기

 

 

하둡설치하기

   1. 자바 설치

    참고 블로그 :  https://jg-seo.tistory.com/3

 

centOS 7 - 하둡(Hadoop) 설치 방법 in VirtualBox

centOs7 설치가 완료 되었다는 것을 가정하고 시작하겠습니다. 서버 접속시 root 계정으로 접속하도록 하겠습니다. 접속 후 기존 자바 jdk 를 삭제하고 새로 깔아줍니다. 디폴트로 Open JDK 로 해도 된다고 하지..

jg-seo.tistory.com

  - root계정에서 해야함

  - 가상 서버 네트워크 연결 후 가상 머신의 파이어 폭스에 접속에서 자바알집을 다운받음

  블로그와 똑같이 하면 된다.

 

※ 주의  1  ! java알집을 다운 받은 후 파일이름은 java로 바꾸어야함.

  나중에 하둡 설치할때 오류남.

  예를 들어 java-1.7.0  --> java 로 파일명 변경

 

※ 주의  2  ! java파일의 경로는 블로그의 /usr/local이 아닌 /usr 로 하시길..

              /etc/profile에 환경 변수 등록할때 경로명을 등록할 때도 주의하자.

 

 

 2. 네트워크 설정

 

명령어 

sudo nano /etc/sysctl.conf

 

 

#Disable IPv6

net.ipv6.conf.all.disable_ipv6 = 1

net.ipv6.conf.defaul.disable_ipv6 = 1

net.ipv6.conf.lo.disable_ipv6 = 1  (마지막에 붙여넣고 저장)

sudo reboot

 

 

 

3. 하둡 사용자 추가

  - 블로그 참고 

https://stardustlight.tistory.com/entry/%ED%95%98%EB%91%A1-%EC%84%A4%EC%B9%98%EB%B6%80%ED%84%B0-WordCount-%EA%B9%8C%EC%A7%80-Example-Hadoop-with-ubuntu-1804

 

하둡 과제 수행 설치부터 WordCount 까지 Example // Hadoop

안녕하세요 학년이 올라갈수록 배우는 깊이가 깊어지는만큼 관련 한글 문서 찾기도 점점 어려워 지더라구요 설치부터 난관이었고 코드 실행, 등등 꽤 시달린 과제였네요 하둡 과제하느라 힘들었던 경험과 사용했던..

stardustlight.tistory.com

    -hdoopgroup 추가

   - user는 블로그 같이 hduser가 아닌 soyeon으로 함.

 

 

 

3.1 설치 ( 가상 머신에 파이어 폭스 --> https://hadoop.apache.org/releases.html 접속)

 

wget http://apache.mirror.cdnetworks.com/hadoop/common/hadoop-2.10.0/hadoop-2.10.0.tar.gz

tar -xvf hadoop-2.7.3.tar.gz

exit

cd /home/hduser

sudo mv ./hadoop-2.7.3 /usr/local/

sudo ln -sf /usr/local/hadoop-2.7.3/ /usr/local/hadoop

sudo chown -R hduser:hadoopgroup /usr/local/hadoop-2.7.3/

su - hduser

 

 

 

3.2 하둡 설치 후 환경 변수 바꿔줌.

이때 자신의 하둡파일과 자바파일 경로가 맞는지 잘 확인!

 

nano ./.bashrc

#Hadoop config

export HADOOP_PREFIX=/usr/local/hadoop

export HADOOP_HOME=/usr/local/hadoop

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_CONF_DIR=${HADOOP_HOME}/etc/hadoop

 

#Native path

export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_HOME}/lib/native

export HADOOP_OPT="-Djava.library.path=$HADOOP_PREFIX/lib/native"

 

#Java path

export JAVA_HOME="/usr"

 

#OS path

export PATH=$PATH:$HADOOP_HOME/bin:$JAVA_HOME/bin:$HADOOP_HOME/sbin    (마지막에 붙여넣고 저장)

source ./.bashrc

 

nano /usr/local/hadoop/etc/hadoop/hadoop-env.sh

export JAVA_HOME="/usr"   (자바라고 써진 부분 다음줄에 붙여넣고 저장)

source ./.bashrc

 

 

nano /usr/local/hadoop/etc/hadoop/hadoop-env.sh

export JAVA_HOME="/usr"   (자바라고 써진 부분 다음줄에 붙여넣고 저장)

 

cd /usr/local/hadoop/

cd etc/hadoop/

 

nano core-site.xml

<property>

<name>fs.default.name</name>

<value>hdfs://localhost:9000</value>

</property>   (Configuration 사이에 붙여넣고 저장)

 

nano hdfs-site.xml

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

<property>

<name>dfs.name.dir</name>

<value>file:/usr/local/hadoop/hadoopdata/hdfs/namenode</value>

</property>

<property>

<name>dfs.data.dir</name>

<value>file:/usr/local/hadoop/hadoopdata/hdfs/datanode</value>

</property>    (Configuration 사이에 넣고 저장)

 

nano mapred-site.xml.template

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>  (configuration 사이에 넣고 ctrl+x, y 후에 이름의 확장자를 .template 를 지우고 .xml로 바꾼뒤 enter y)

 

nano yarn-site.xml

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>   (Configuration 사이에 넣고 저장)

 

 


3.3 하둡 설치 확인하기