빅데이터 부트캠프 33일차
Hadoop 설치 전 세팅 (Java 설치, Name node&Data node 모두)
- Hadoop은 Java로부터 파생되었기 때문에 Java 설치가 필수!
- sudo add-apt-repository ppa:openjdk-r/ppa로 Java ppa APT 추가
- sudo apt-get install openjdk-8-jdk로 Java 8버전 설치
- sudo gedit ~/.bashrc 실행 후 맨 마지막 줄에
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$PATH:$JAVA_HOME/bin
export PATH
추가 후 저장 (Java PATH 설정)
- source ~/.bashrc로 bashrc 다시 한번 저장
- Java 설치 후 java -version으로 설치한 자바의 버전 확인 가능
※ bin(binary) = 실행파일들, lib(library) = 라이브러리들, conf(configuration) = 환경설정 파일들
Hadoop 설치 전 세팅 (SSH 설치 및 공개키 복사, Name node만)
- Hadoop을 통해 Name node로부터 Data node들에게 보안적으로 안전하게 공개키를 배포하기 위하여 SSH(Secure Shell) 보안 프로토콜 설치
- sudo apt-get install ssh (SSH 설치는 Name node&Data node 모두)
- ssh-keygen -t rsa -f ~/.ssh/id_rsa (SSH 키 생성)
※ RSA = 공개키 암호화 시스템 중 하나
- cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys (SSH 키 불러와서 권한 키 폴더에 저장)
- sudo gedit /etc/hosts 실행 후 Name node와 Data node의 IP주소와 node명을 입력
(Name node와 Data node 간의 접근성을 용이하기 위해서 수행)
- ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@데이터노드명
(Name node에서 생성한 공개키를 Data node들에게 복사)
Hadoop 다운로드(Name node&Data node 모두)
- 홈 디렉터리에 새 폴더 생성(bigdata)
- 새 폴더에서 wget https://archive.apache.org/dist/hadoop/core/hadoop-3.2.2/hadoop-3.2.2.tar.gz 실행
(hadoop 압축 파일 다운로드)
- tar xvf hadoop-3.2.2.tar.gz (hadoop 압축 파일 압축 해제)
※ 리눅스는 .zip이 아닌 tar.gz라는 확장자로 파일을 압축함
- mv hadoop-3.2.2 hadoop (파일명에서 버전 제거)
- sudo gedit hadoop-env.sh 실행 -> hadoop-env.sh에서
# export JAVA_HOME=을 export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64로 변경
※ hdfs-site.xml = HDFS에서 이용할 환경 정보, core-site.xml = HDFS와 MapReduce에서 공통이용할 환경 정보
mapred-site.xml = MapReduce에서 사용할 환경 정보, yarn-site.xml = Resource Manager, Node Manager 정보
- core-site.xml, hdfs-site.xml, mapred-site.xml, yarn-site.xml 파일들 sudo gedit을 통해 실행후
맨마지막 <configuration> 부분을 각각 해당 code.txt의 코드들로 대체
- sudo gedit workers 실행 후 workers에서 localhost 지우고 Date node 목록 추가
(workers = Data node와 Node Manager를 구동할 컴퓨터의 목록 정보)
- sudo rsync -avxP /home/hadoop/bigdata/hadoop/ hadoop@데이터노드명:/home/hadoop/bigdata/hadoop
(Name node에서 Data node로 hadoop 디렉토리 배포, Name node만)
- sudo gedit ~/.bashrc 실행 후 맨마지막 줄에 다음 코드 추가후 source ~/.bashrc로 bashrc 다시 한번 저장
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export HADOOP_HOME=/home/hadoop/bigdata/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_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export PATH=$PATH:JAVA_HOME/bin
export PATH
- hadoop namenode -format 실행 (하둡 파일 시스템 포맷, Name node만)
- start-all.sh (하둡 프로세스 동작, Name node만)