하둡 설치하기 / Centos7 / hadoop3.1.1

실습만을 위해서 데이터노드 0으로 만들예정입니다.

centos 다운받기 

https://www.centos.org/download/

필요한 버전등 선택하셔서 다운 받으시면 됩니다.

# 버츄얼머신 -> Centos7.9

vm)
파일-> 환경설정 -> 입력 -> 가상머신 -> 호스트키조합 컨트롤+알트로 바꿔놓기 ( 화면 빠져나올때 )

머신 - 새로만들기 - 이름 centos-hadoop( 종류 linux / 버전 red hat 64-bit)
메모리 ( 초록색선 안에서 대충 중간쯤으로 잡음)
지금  가상하드 만들기 -> 디스크 이미지 -> 고정크기 -> 대충한 50기가정도 주기
만들어진 centos-hadoop더블 클릭 -> 아까 다운받은 os이미지 넣어주기 
 다음은 그냥 설정 하면됩니다. root 계정 비밀번호 추가 하기
<centos안에서 / 버츄얼박스>

$cd /etc/sysconfig/network-scripts/

$vi ipcfg-enp0s3 
(opcfg-enp0s3이 아닌경우 ip addr 이라고 쳐서 이름 확인해볼것 )

맨마지막줄 onboot=yes로 변경

$systemctl restart network

$systemctl stop firewalld (방화벽을 꺼버리고 할 예정.)

그런뒤 ip addr쳐보면 아이피 주소나옴 (10.0.2.15)

@ window-> cmd ->ipconfig->버츄얼머신 ip확인 후 
@ 버츄얼머신 -> cent7hadoop(우클릭) -> 설정 -> 네트워크 ->고급 -> 포트포워딩
	192.168.56.1/22/10.0.2.15/22 추가

centos

# SSH -> movaxterm

모바 -> 
$ ssh root@192.168.56.1

$ yum update -y
$ yum install wget -y
$ yum install vim -y
$ yum install openssh-server openssh-clients openssh-askpass -y
$ yum install java-1.8.0-openjdk-devel.x86_64 -y

공개키 생성

$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

$ ssh-keygen -f /etc/ssh/ssh_host_rsa_key -t rsa -N ""
$ ssh-keygen -f /etc/ssh/ssh_host_ecdsa_key -t ecdsa -N ""
$ ssh-keygen -f /etc/ssh/ssh_host_ed25519_key -t ed25519 -N "" 

호스트네임 변경

$ hostnamectl set-hostname nn


자바 위치 찾기


$ readlink -f /usr/bin/javac
=>  /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64/bin/javac
$ vim ~/.bashrc


맨위에 적어주면된다. 버전숫자 다르면 다른숫자 적으세요
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64
https://archive.apache.org/dist/hadoop/common/

하둡다운링크

$ mkdir /hadoop_home
$ cd /hadoop_home


$wget https://archive.apache.org/dist/hadoop/common/hadoop-3.1.1/hadoop-3.1.1.tar.gz

$ tar -xvzf hadoop-3.1.1.tar.gz

환경변수 설정해주기

$ vim ~/.bashrc
--추가--
export HADOOP_HOME=/hadoop_home/hadoop-3.1.1
export HADOOP_CONFIG_HOME=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

/usr/sbin/sshd
--추가--
:wq로 빠져나가서

$ source ~/.bashrc
적용시키기
cd $HADOOP_CONFIG_HOME

[3개의 파일 수정]
1.core-site.xml
2.hdfs-site.xml
3.mapred-site.xml
4.hadoop-env.sh

1.core-site.xml

    <property>
        <name>hadoop.tmp.dir</name>
        <value>/hadoop_home/temp</value>
    </property>

    <property>
        <name>fs.default.name</name>
        <value>hdfs://nn:9000</value>
        <final>true</final>
    </property>
    
    
2. <!-- hdfs-site.xml -->
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
        <final>true</final>
    </property>

    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/hadoop_home/namenode_dir</value>
        <final>true</final>
    </property>

    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/hadoop_home/datanode_dir</value>
        <final>true</final>
    </property>
</configuration>


$ mkdir /hadoop_home/temp
$ mkdir /hadoop_home/namenode_dir
$ mkdir /hadoop_home/datanode_dir
3. <!-- hdfs-site.xml -->
<configuration>
    <property>
        <name>mapred.job.tracker</name>
        <value>nn:9001</value>
    </property>
</configuration>

4. hadoop-env.sh


export HDFS_NAMENODE_USER="root"
export HDFS_DATANODE_USER="root"
export HDFS_SECONDARYNAMENODE_USER="root"
export YARN_RESOURCEMANAGER_USER="root"
export YARN_NODEMANAGER_USER="root"
$ hdfs namenode -format

$ start-all.sh

$jps

[root@localhost ~]# jps
28401 NodeManager
28018 SecondaryNameNode
28258 ResourceManager
27653 NameNode
27817 DataNode
28735 Jps

이렇게 나오면 성공

주소창에 192.168.56.1 ( vm주소 ) :9870 으로 들어가면 하둡페이지 짜잔

Leave a Comment

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다