실습만을 위해서 데이터노드 0으로 만들예정입니다.
centos 다운받기
필요한 버전등 선택하셔서 다운 받으시면 됩니다.
# 버츄얼머신 -> 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
하둡다운링크
$ 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 으로 들어가면 하둡페이지 짜잔