빅 데이터 Hadoop-1- 소개 및 배경의 발자취를 따르십시오 (동영상 자료 및 코드 포함).

비디오 정보 : https://www.bilibili.com/video/BV1JT4y1g7nM?

1. 빅 데이터의 기본 배경

1.1 빅 데이터 아키텍처 :

1.2 엔터프라이즈 데이터 부서의 빅 데이터 워크 플로우 :

  • 환경 배경 지식 구축 : 서버, 디스크, 스위치, LAN, 랙

  • IDC (인터넷 데이터 센터) 인터넷 데이터 센터

  • 저렴한 디스크의 디스크 어레이 Radi Redundant Array : 소용량 디스크를 대용량 디스크에 통합하여 => Redundant Array of Independent Disks를 최대한 활용

둘째, 리눅스 클러스터 구축

2.1 준비

도구 VMWare 사용

Linux는 CentOS를 사용합니다.

2.1.1 모든 VMware 서비스 켜기

2.1.2 자신의 게이트웨이 주소 결정

NAT 모드를 사용하여 가상 머신을 네트워크에 연결합니다.

내 게이트웨이 주소 : 192.168.178.2

2.1.3 VmNet8 네트워크 카드가 IP 주소 및 DNS로 구성되었는지 확인

2.1.4 NAT 모드 소개

NAT 모드는 가상 NAT 장치 및 가상 DHCP 서버를 사용하여 가상 머신을 네트워크에 연결할 수 있도록합니다. 네트워크 구조는 아래 그림과 같습니다.

NAT 모드에서는 호스트 네트워크 카드가 가상 NAT 장치에 직접 연결되고 가상 NAT 장치와 가상 DHCP 서버가 가상 스위치 VMnet8에 연결되어 가상 머신 네트워킹 을 실현 합니다.

VM웨어 네트워크 어댑터 VMnet8 가상 네트워크 카드는 주로 호스트 가상 머신 사이의 통신.

2.2 가상 머신 복사

준비된 가상 머신 파일의 복사본 3 개를 복사하고 각각 node1, node2 및 node3으로 이름을 바꿉니다.

폴더 아래에있는 vmx 접미사 파일을 두 번 클릭하면 VMware에서 열립니다.

세 개를 열고 VMware에서 이름을 바꿉니다.

메모리 할당 :

가상 머신의 메모리 구성에 대한 간단한 공식 : 각 머신 의 메모리 = (호스트 메모리 -4) / 3

(8G 메모리 인 경우 -2 만 필요합니다. 즉, 각 가상 머신이 2G 메모리를 할당합니다.)

2.3 클러스터 계획

CPU 이름 IP Mac 주소 환경 구성 설치
node1 192.168.178.100 00 : 50 : 56 : 24 : BA : 6B
node2 192.168.178.101 00 : 0c : 29 : b1 : c1 : ce
node3 192.168.178.102 00 : 50 : 56 : 24 : 7d : 00

2.4 IP 및 Mac 주소 설정

  • 가상 머신의 Mac 주소 수정

    각 가상 머신을 켜기 전에 각 호스트 의 Mac 주소를 생성하고 기억하여 각 호스트의 Mac 주소가 달라 지도록 합니다 .

    각 가상 머신을 켜고 별도로 로그인 합니다. 계정 : 루트, 암호 : 123456

    vim /etc/udev/rules.d/70-persistent-net.rules
    

    다음 네트워크 카드 이름을 수정하고 각 가상 머신의 Mac 주소가 올바른지 확인합니다.

  • IP 주소 설정

    vim /etc/sysconfig/network-scripts/ifcfg-eth0
    

    고정 IP를 설정하고 다음 형식으로 작성합니다.

    다시 시작하여 IP가 인터넷에 연결되어 있는지 확인합니다 (호스트가 인터넷에 연결되어 있으면 가상 머신을 인터넷에 연결할 수 있음).

    오류가 발견
    되면 구성 파일이 올바르게 작성되지 않았을 가능성이 큽니다 . Mac 주소, IP 주소 및 게이트웨이 가 올바른지 다시 확인 하십시오.

    수정이 완료된 후 다시 시작할 필요는 없으며 네트워크 카드를 다시 시작하기 만하면됩니다. 명령은 다음과 같습니다.

    service network restart
    

    그런 다음 다시 시도하십시오

2.5 각 머신의 호스트 이름 수정

  • 호스트 이름 수정

    vi /etc/sysconfig/network
    

    HOSTNAME = node01

  • 각 가상 머신에 대한 IP 및 도메인 이름 매핑 설정

    vim /etc/hosts
    

    설정 후 3 개의 호스트를 각각 다시 시작합니다.

2.6 방화벽 및 SELinux 끄기

  • 방화벽 끄기

    service iptables stop #关闭防火墙
    chkconfig iptables off #禁止开机启动
    

  • SELinux 끄기

    SELinux는 Linux 보안 하위 시스템 입니다. Linux의 권한 관리는 프로세스가 아닌 파일에 대한 것입니다. 즉, 루트가 프로세스를 시작하면 프로세스가 모든 파일을 작동 할 수 있습니다. SELinux는 Linux의 파일 권한에 추가하여, 프로세스에 대한 제한이 증가하고 프로세스가 허용하는 범위 내에서만 리소스를 운영 할 수 있습니다.

    SELinux가 켜져있는 경우 시스템을 정상적으로 사용하려면 매우 복잡한 구성을 수행해야합니다. 학습 단계에서는 비 프로덕션 환경에서는 일반적으로 SELinux를 사용하지 않습니다.

    # 修改selinux的配置文件
    vi /etc/selinux/config
    

2.7 가상 머신에 비밀번호없이 로그인

  • 비밀번호없이
    Hadoop 에 로그인해야하는 이유는 노드가 많기 때문에 일반적으로 마스터 노드에서 슬레이브 노드시작합니다 . 이때 마스터 노드에서 슬레이브 노드자동으로 로그인 해야 합니다 . 암호를 피할 수 없기 때문에 매번 암호를 입력해야하는데 이는 매우 귀찮습니다.

  • 비밀없는 SSH 로그인 (rsa) 원칙

    1. 먼저 노드 B에서 노드 A의 공개 키를 구성해야합니다.
    2. 노드 A는 노드 B에게 로그인을 요청합니다.
    3. 노드 B는 노드 A의 공개 키를 사용하여 임의의 텍스트를 암호화합니다.
    4. 노드 A는 개인 키를 사용하여 암호를 해독하고 노드 B로 다시 보냅니다.
    5. 노드 B는 텍스트가 올바른지 확인합니다.

2.7.1 1 단계 : 세 대의 컴퓨터에서 공개 및 개인 키 생성

대의 컴퓨터 에서 실행 :

ssh-keygen -t rsa

명령을 실행 한 후 세 번 입력

2.7.2 2 단계 : 공개 키를 동일한 머신에 복사

세 대의 컴퓨터가 첫 번째 컴퓨터에 공개 키를 복사하고
세 대의 컴퓨터가 다음 명령을 실행합니다.
ssh-copy-id node01

node01의 다음 디렉토리에 복사됩니다.

이 단계는 node01이 각 호스트의 공개 키를 갖도록하는 것입니다.

2.7.3 3 단계 : 첫 번째 컴퓨터의 인증을 다른 컴퓨터에 복사

첫 번째 컴퓨터의 공개 키를 다른 컴퓨터에 복사하고 첫 번째 컴퓨터
에서 다음 명령 가리 킵니다.

scp /root/.ssh/authorized_keys node02:/root/.ssh
scp /root/.ssh/authorized_keys node03:/root/.ssh

이 단계는 node01의 공개 키 라이브러리를 각 노드에 복사하여 각 노드의 공개 키 공유를 실현하는 것입니다.

연결이 실패했다는 메시지가 표시되면 호스트 도메인 이름 매핑이 올바르게 작성되지 않았 음을 의미합니다.

2.7.4 비밀번호없는 로그인 테스트

ssh node02

성공

2.8 세 대의 기계의 시계 동기화

  • 시간 동기화가 필요한 이유
    많은 분산 시스템은 상태를 저장하기 때문에 예를 들어 데이터를 저장할 때 노드 A에 기록 된 시간은 1이고 노드 B에 기록 된 시간은 2이므로 문제가 발생합니다.
  • 방법 1 :
    모든 호스트와 동일한 호스트 의 시간이 동기화 된 상태로 유지됩니다.
  • 방법 2 :
    네트워크를 통해 모든 호스트와 시계 동기화 서버가 동기화됩니다.

두 번째 방법 채택

## 安装
yum install -y ntp
## 启动定时任务
crontab -e

그런 다음 입력 인터페이스를 입력하십시오.

*/1 * * * * /usr/sbin/ntpdate ntp4.aliyun.com;

이 명령의 의미는 알리의 시계 동기화 서버와 일치하도록 매분 다음 명령실행하는 것입니다.

2.9 세 대의 컴퓨터에 jdk 설치

2.9.1 함께 제공되는 openjdk 제거

rpm -qa | grep java
rpm -e java-1.6.0-openjdk-1.6.0.41-1.13.13.1.el6_8.x86_64 tzdata-java-2016j-1.el6.noarch java-1.7.0-openjdk-1.7.0.131-2.6.9.0.el6_8.x86_64 --nodeps

2.9.2 설치 디렉터리 생성

mkdir -p /export/softwares #软件包存放目录
mkdir -p /export/servers #安装目录

2.9.3 업로드 및 압축 해제

공식 웹 사이트에서 Linux jdk 다운로드 : Java SE Development Kit 8-Download | Oracle China

3 개의 Linux 노드로 전송

#上传jdk到/export/softwares路径下去,并解压
tar -zxvf jdk-8u271-linux-x64.tar.gz -C /export/servers/

2.9.4 환경 변수 구성

vim /etc/profile

export JAVA_HOME=/export/servers/jdk1.8.0_271
export PATH=:$JAVA_HOME/bin:$PATH
source /etc/profile

설치가 성공했는지 테스트하십시오.

2.10 Mysql 설치

한 호스트에 설치하기 만하면됩니다. node02에 설치했습니다.

2.10.1 1 단계 : 온라인으로 mysql 관련 소프트웨어 패키지 설치

yum install mysql mysql-server mysql-devel

2.10.2 2 단계 : mysql 서비스 시작

/etc/init.d/mysqld start

2.10.3 3 단계 : mysql을 통해 내장 스크립트를 설치하여 설정

/usr/bin/mysql_secure_installation

비밀번호 : 123456

2.10.4 4 단계 : mysql 클라이언트를 입력 한 다음 인증

클라이언트 입력

mysql -u root -p

권한 부여:

#  *.*:任何数据库的任何表, root@%:代表任何IP的root用户,总体表示允许任何人通过root身份访问任何数据库与表(开放所有权限)
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
flush privileges;

설치가 완료되면 원격 도구를 통해 액세스 할 수 있습니다.

성공적으로 연결되었습니다.

추천

출처blog.csdn.net/weixin_43988498/article/details/109999351