빅 데이터 플랫폼 -Hadoop 환경 구성

1. 가상 머신 구성

버전 : Centos7이 VM15에 설치됨, 미러 : CentOS-7-x86_64-Minimal-1908; hadoop2.10.0, jdk1.8.0_241

1.1 CentOS 시스템 설치

최신 버전의 CentOS를 설치하지 않는 것이 좋습니다.

참고 :이 문서에서는 구성에 VMWare를 사용합니다. VirtualBox를 구성에 사용하는 경우 약간 다른 가상 머신 네트워크 구성을 제외하고 나머지는 동일합니다.

1.2 네트워크 연결 소개

1. 브리지 모드 : 가상 머신과 물리적 머신이 동일한 네트워크에 연결되고 가상 머신과 물리적 머신이 병렬 관계에 있으며 상태가 동일합니다. 가상 시스템이든 실제 시스템이든 관계없이 동일한 네트워크 세그먼트에있는 한 서로 ping 할 수 있습니다.

2. NAT 모드 : 물리적 기회는 "라우터"역할을합니다. 가상 머신이 인터넷에 액세스하려면 물리적 머신을 통과해야합니다. 물리적 머신이 인터넷에 액세스 할 수 없으면 가상 머신이 인터넷에 액세스 할 수 없습니다. 다른 구성은 필요하지 않으며 물리적 시스템 만 인터넷에 액세스 할 수 있습니다. 가상 시스템은 가상 머신이 설정된 호스트에서 양방향으로 만 액세스 할 수 있으며 동일한 네트워크 세그먼트에있는 다른 실제 호스트에 액세스 할 수 없습니다.

3. 호스트 전용 모드 : 네트워크 케이블을 사용하여 물리적 머신과 가상 머신을 직접 연결하는 것과 같습니다. 모든 가상 시스템은 서로 통신 할 수 있지만 가상 시스템과 실제 네트워크는 격리되어 있습니다.

1.3 가상 머신 네트워크 구성

1. VMWare에서 가상 네트워크 편집기를 열고 VMnet8 (NAT) 모드를 선택한 다음 NAT 설정을 클릭하고 게이트웨이 주소를 구성합니다 (기본값을 선택할 수 있음).
2. 제어판, 네트워크 센터를 열고 어댑터를 변경하고 VMnet8의 속성을 열고 TCP / IPv4 속성을 구성합니다.
3. 게이트웨이 주소가 VMWare와 일치하며 점유 IP 주소를 구성하지 마십시오.
4. CentOS 시스템에 로그인하고 etc / sysconfig / network-scripts를 입력 한 다음 NAT 네트워크 카드 구성 파일을 편집합니다.

vi ifcfg-ens33 

5. 다음 변수를 구성합니다.

BOOTPROTO=static       #关闭DHCP,可以不做,不影响
ONBOOT=yes 		       #开机启动
IPADDR=192.168.223.100   #该虚拟机的ip地址
GATEWAY=192.168.223.2  #网关地址 
DNS1=192.168.223.2     #DNS可根据自己网络进行配置

NATMASK=255.255.255.0  #子网掩码

1.4 네트워크 카드를 다시 시작하면 네트워크 구성이 적용됩니다.

service network restart  

또는

systemctl restart network

1.5 네트워크 확인

CentOS에서 IP 주소보기 :

ip a

Windows에서 IP 주소보기 (cmd 실행) :

ipconfig

다음 작업이 올 바르면 네트워크 구성이 성공한 것입니다.

  • 가상 머신 핑 게이트웨이
  • 가상 머신 ping 물리적 호스트
  • 물리적 호스트 핑 가상 머신
  • 가상 머신 핑 Baidu (외부 네트워크 주소를 ping 할 수없는 경우 이전 단계의 네트워크 구성 파일에서 다른 DNS1 주소를 수정할 수 있음)

1.6 CentOS 방화벽 끄기

분산 클러스터에서는 각 노드 간의 통신이 방화벽에 의해 차단되므로 방화벽이 꺼집니다 (보안 문제는 주변의 전문 소프트웨어 및 통합 관리로 구현 됨).

systemctl stop firewalld.service 

방화벽 시작 금지

systemctl disable firewalld.service 

네트워크 문제가있는 경우 네트워크 구성 파일이 잘못되었는지 확인하십시오.

vi /etc/sysconfig/network-scripts/ifcfg-ens33

1.7 XShell, XFtp 설치

XShell 및 XFtp는 유료 소프트웨어이므로 영어 공식 웹 사이트에서 무료 교육용 버전을 다운로드 할 수 있습니다 (중국 공식 웹 사이트에는이 버전이 없습니다)

설치가 성공하면 새 연결을 만들고 연결할 가상 머신 마스터 IP 주소를 입력하고 연결할 사용자 이름과 암호를 입력합니다.

성공적으로 로그인 한 후 가상 머신 인터페이스 대신 XShell을 사용하여 셸 작업을 수행합니다.

2. 기본 환경 구성

2.1 사용자를 루트 사용자로 전환

su root

2.2 시계 동기화 구성

ntpdate를 온라인으로 설치하고 Alibaba Cloud ntp 서버를 사용하여 시간, 날짜 명령을 동기화하여 현재 시간을 확인하십시오.

yum install ntpdate 
ntpdate ntp.aliyun.com
date 

외부 네트워크에 연결할 수없는 경우 오프라인으로 ntpdate를 설치할 수 있습니다. ntpdate 다운로드 주소 : https://pkgs.org/

rpm -ivh 'ntpdate包的路径' 
ntpdate ntp.aliyun.com
date

2.3 호스트 이름 구성

호스트는 네트워크에서 고유하게 식별 할 수 있습니다. IP 주소와 마찬가지로이 호스트는 IP 주소와 네트워크 호스트 이름을 통해 액세스 할 수 있습니다. 역할은 단순화하고 용이하게하는 것입니다.

호스트 이름을 수정합니다.

hostnamectl set-hostname node1

수정 된 호스트 이름보기 :

hostname

2.4 호스트 목록 구성

호스트 목록의 기능은 클러스터의 각 서버가 서로의 호스트 이름과 IP 주소를 알 수 있도록하는 것입니다.

vi /etc/hosts

호스트 IP 및 호스트 이름 추가
192.168.223.100 node1
192.168.223.101 node2
192.168.223.102 node3

확인, ping ip 주소 및 호스트 이름, 결과는 동일하며 차이는 없습니다.

ping 192.168.223.100
ping node1

2.5 Java 환경 설치

개인 데이터 디렉토리, Java 디렉토리 생성

mkdir /usr/wallasunrui
mkdir /usr/java
mkdir /usr/hadoop

XFtp를 사용하여 java 설치 패키지를 wallasunrui 디렉토리에 복사하고 압축을 푼 다음 java 디렉토리로 이동하십시오.

tar -zxvf jdk-8u241-linux-x64.tar.gz
mv jdk1.8.0_241 /usr/java/jdk1.8.0_241

시스템 구성 파일을 입력하십시오.

vi /etc/profile

파일 끝에 다음 두 줄을 추가하십시오.

export JAVA_HOME=/usr/java/jdk1.8.0_241
export PATH=$JAVA_HOME/bin:$PATH

구성을 적용하십시오.

source /etc/profile
java -version

2.6 Hadoop 환경 설치

XFtp를 사용하여 hadoop 설치 패키지를 wallasunrui 폴더에 업로드하고 Hadoop 설치 패키지의 압축을 푼 다음 새 폴더로 이동합니다.

tar -zxvf hadoop-2.10.0.tar.gz 
mv hadoop-2.10.0  /usr/hadoop/hadoop-2.10.0

Hadoop 환경 변수 구성

vi /etc/profile

구성 파일 끝에 다음 두 줄을 추가합니다.

export HADOOP_HOME=/usr/hadoop/hadoop-2.10.0
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

Hadoop 구성을 효과적으로 만들고 확인

source /etc/profile
hadoop version
whereis hdfs

오류 메시지가 없으면 CentOS 시스템 환경에 hadoop이 성공적으로 추가되었음을 의미합니다.

2.7 hadoop 및 java 바인딩 (많은 학생들이이 단계를 잊어 버림)

Hadoop 구성 파일 설정

cd /usr/hadoop/hadoop-2.10.0/etc/hadoop
vi hadoop-env.sh

다음 코드 줄을 찾습니다.

export JAVA_HOME=${JAVA_HOME}

이 코드 줄을 다음과 같이 수정하십시오.

export JAVA_HOME=/usr/java/jdk1.8.0_241

3. Hadoop 구성

3.1 Hadoop 코어 파일 구성

hadoop의 etc 폴더를 입력하고 core-site.xml 파일을 구성하고 다음 내용을 추가하십시오.

<configuration>
    <!--指定文件系统的入口地址,可以为主机名或ip -->
    <!--端口号默认为8020 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://node1:8020</value>
    </property>
    <!--指定hadoop的临时工作存目录-->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/hadoop/hadoop-2.10.0/hadoop-data</value>
    </property>
</configuration>

yarn-env.sh 파일을 구성하고 다음 행을 찾으십시오.

# export JAVA_HOME=/home/y/libexec/jdk1.6.0/

다음을 수정하고 # 주석을 제거하십시오
.

export JAVA_HOME=/usr/java/jdk1.8.0_241

hdfs-site.xml 파일을 구성하고 다음 컨텐츠를 추가하십시오.

<configuration>
    <!--指定hdfs备份数量,小于等于从节点数目-->
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
		
  <!--  自定义hdfs中namenode的存储位置-->
  <!--  <property>-->
  <!--      <name>dfs.namenode.name.dir</name>-->
  <!--      <value>file:/usr/hadoop/dfs/name</value>-->
  <!--  </property>-->
  <!--  自定义hdfs中datanode的存储位置-->
  <!--  <property>-->
  <!--      <name>dfs.datanode.data.dir</name>-->
  <!--      <value>file:/usr/hadoop/dfs/data</value>-->
  <!--</property>-->
</configuration>

접미사 template파일 없이 cp 명령으로 생성 된 Mapred-site.xml 구성 파일

cp mapred-site.xml.template mapred-site.xml

mapred-site.xml 파일을 편집하고 다음 컨텐츠를 추가하십시오.

<configuration>
    <!--hadoop的MapReduce程序运行在YARN上-->
    <!--默认值为local-->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

yarn-site.xml 파일 구성

<configuration>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>node1</value>
    </property>     
    <!--nomenodeManager获取数据的方式是shuffle-->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>  
</configuration>

슬레이브 파일을 수정하고, 원본 내용을 삭제하고, 데이터 노드 노드의 호스트 이름을 추가합니다. 직접 설정할 수 있습니다. 여기서 3 개를 만들겠습니다.

node1
node2
node3

3.2 여러 슬레이브 복제

node1을 사용하여 3 개의 가상 머신을 미러링하고 복제합니다 (완전한 클론 생성). 이름은 node2 및 node3입니다. 번호는 컴퓨터 구성에 따라 자유롭게 설정할 수 있습니다. 다음 단계는 위와 동일합니다.

  • 각 슬레이브의 호스트 이름을 수정합니다. 방법은 2.3
    hostnamectl set-hostname node2 와 동일 합니다.

  • etc / sysconfig / network-scripts를 입력하고 각 슬레이브의 IP 주소를 수정합니다. 방법은 1.3과 동일합니다.

3.3 선택 사항-동기식 hadoop 구성 (마스터 및 슬레이브 구성이 다른 경우에만 사용됨)

마스터 머신의 hadoop 폴더를 세 개의 슬레이브 머신으로 보냅니다.

scp -r /usr/hadoop node2:/usr/hadoop 
scp -r /usr/hadoop node3:/usr/hadoop 

4. SSH 로그인 구성

4.1 공개 키 및 개인 키 생성

마스터와 각 슬레이브에서 rsa 알고리즘을 사용하여 공개 키와 개인 키를 생성합니다 (설치 과정에서 "Enter"키를 사용하여 확인).

ssh-keygen -t rsa

생성 된 개인 키 id_rsa 및 공개 키 id_rsa.pub보기

cd /root/.ssh/
ls

4.2 공개 키 보내기

마스터에서 공용 공개 키 authorized_keys를 만들고, authorized_keys 권한을 수정하고,이 공개 키를 각 슬레이브로 보냅니다.

cat id_rsa.pub >> authorized_keys
chmod 644 authorized_keys
systemctl restart sshd.service
scp /root/.ssh/authorized_keys node2:/root/.ssh
scp /root/.ssh/authorized_keys node3:/root/.ssh

4.3 Linux 파일 권한 소개

다음은 지식 소개, 비 Hadoop 구성 단계입니다.

  • 1-3 자리 숫자는 파일 소유자의 권한을 나타냅니다.

  • 4-6 자리 숫자는 동일한 그룹에있는 사용자의 권한을 나타냅니다.

  • 7-9 자리는 다른 사용자의 권한을 나타냅니다.

  • 읽기 권한은 r로 표시되는 4와 같습니다.

  • 쓰기 권한은 w로 표시되는 2와 같습니다.

  • 실행 권한은 x로 표시되는 1과 같습니다.

    444 r–r--r–
    600 rw -------
    644 rw-r–r--
    666 rw-rw-rw-
    700 rwx ------
    744 rwxr–r--
    755 rwxr-xr -x
    777 rwxrwxrwx

4.4 SSH 확인

SSH 로그인 확인, 비밀번호없이 로그인 경로를 '~ / .ssh'에서 '~'로 변경할 수 있으며 로그 아웃이 종료됩니다.

ssh node1
ssh node2
exit
ssh node3
exit

참고 : 마스터에서 슬레이브로의 단방향 무료 로그인 만 실현됩니다! ! !

5. Hadoop 실행 준비

5.1 HDFS 포맷

마스터 머신에서 hadoop 아래에 bin 폴더를 입력하고 다음 코드를 실행합니다.

hdfs namenode -format

참고 : 한 번만 포맷하면됩니다! 반복 된 포맷은 NameNode와 DataNode의 클러스터 ID 값이 일치하지 않게됩니다. 포맷하기 전에 NameNode, DataNode 및 로그 폴더를 삭제해야합니다.

5.2 Hadoop 시작

hadoop에 sbin 폴더를 입력하고 다음을 실행하십시오.

start-dfs.sh
start-yarn.sh

5.3 Hadoop 프로세스보기

jps

5.4 웹을 통해 Hadoop 액세스

NameNode, DataNode 보기 :
http://192.168.223.100:50070
SecondaryNameNode 정보 보기 :
http://192.168.223.100:50090
YARN 인터페이스보기 :
http://192.168.223.100:8088

추천

출처blog.csdn.net/qq_46009608/article/details/108888139