基于Hadoop的大数据分布式集群架构搭建

205 阅读4分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第 1 天,点击查看活动详情

我们知道Hadoop是一个由 Apache基金会 开发的分布式系统基础架构,主要解决海量数据的存储和分析计算问题。本篇文章我们主要基于Hadoop搭建一个大数据分布式集群架构。

Hadoop运行环境搭建

我们主要是使用 VMWare虚拟机安装Centos系统来实现分布式集群,所以,大家对于VMWare安装Centos步骤并不是那么明确的,可以提前了解学习一下。

1. 模板虚拟机环境准备

安装模板虚拟机,IP 地址:192.168.10.100 、主机名称:hadoop100 、内存:4G 、硬盘:50G

1)hadoop100 虚拟机配置要求如下(以CentOS-7.5-x86-1804为例)

(1)使用yum安装软件前需要虚拟机可以正常上网,所以我们先测试下虚拟机的联网情况

[root@hadoop100 ~]# ping www.baidu.com

(2)安装epel-release
注:Extra Packages for Enterprise Linux是为“红帽系”的操作系统提供额外的软件包,适用于RHEL、CentOS和Scientific Linux。相当于是一个软件仓库,大多数rpm包在官方 repository 中是找不到的

[root@hadoop100 ~]# yum install -y epel-release

2)关闭防火墙,关闭防火墙开机自启

[root@hadoop100 ~]# systemctl stop firewalld

[root@hadoop100 ~]# systemctl disable firewalld.service

3)创建普通用户leony,并修改普通用户的密码

[root@hadoop100 ~]# useradd leony

[root@hadoop100 ~]# passwd leony

4)配置 leony 用户具有 root权限,方便后期加 sudo 执行 root 权限的命令

[root@hadoop100 ~]# vim /etc/sudoers

## Allow root to run any commands anywhere

root    ALL=(ALL)     ALL

leony   ALL=(ALL)     NOPASSWD:ALL

5)在 /opt 目录下创建文件夹,并修改 所属主 和 所属组

(1)在 /opt 目录下创建 module、software文件夹

[root@hadoop100 ~]# mkdir /opt/module

[root@hadoop100 ~]# mkdir /opt/software

(2)修改 module、software文件夹的所有者和所属组均为普通用户leony

[[root@hadoop100 ~]# chown leony:leony /opt/module

[root@hadoop100 ~]# chown leony:leony /opt/software

2. 克隆虚拟机

1)利用模板机 hadoop100 ,克隆三台虚拟机:hadoop102、 hadoop103、 hadoop104
(克隆时,要先关闭 模板机hadoop100)     

2)修改克隆机IP,我们以 hadoop102 举例说明

(1)修改克隆虚拟机hadoop102的静态IP

[root@hadoop100 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

  改成

DEVICE=ens33
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
NAME="ens33"
IPADDR=192.168.10.102
PREFIX=24
GATEWAY=192.168.10.2
DNS1=192.168.10.2

(2)保证Centos中ifcfg-ens33文件中的IP地址、虚拟网络编辑器地址 和 Windows系统VM8网络IP地址 相同,都为 192.168.10.102 。且之后克隆的Centos系统中的网关IP(DNS服务器)全部为 192.168.10.2,这样可以保证同一网段通信。

hadoop103、hadoop104中的IP地址分别为 192.168.10.103、 192.168.10.104,但需保证 网关IP 都为 192.168.10.2。

3. hadoop102 安装 JDK

1)卸载现有 JDK 注意:安装JDK前,一定要确保提前删除了虚拟机自带的JDK。

2)安装 JDK(解压JDK到/opt/module目录)

[leony@hadoop102 software]$ tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/

3)配置 JDK 环境变量

(1)新建 /etc/profile.d/my_env.sh 文件

[leony@hadoop102 ~]$ sudo vim /etc/profile.d/my_env.sh

  添加以下内容

#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin

(2)令新的环境变量PATH生效

[leony@hadoop102 ~]$ source /etc/profile

4)测试 JDK 是否成功

[leony@hadoop102 ~]$ java -version

  结果显示java version "1.8.0_212",则代表 Java 安装成功

4. hadoop102 安装 Hadoop

1)安装Hadoop(解压安装文件)

[leony@hadoop102 software]$ tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/

2)设置环境变量

[leony@hadoop102 hadoop-3.1.3]$ sudo vim /etc/profile.d/my_env.sh

  添加以下内容

#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

source /etc/profile,令修改的文件生效。

3)测试是否安装成功

hadoop version,结果显示 Hadoop 3.1.3 ,则代表安装成功。

5. Hadoop运行模式

Hadoop运行模式包括:本地模式伪分布式模式以及完全分布式模式

  • 本地模式:单机运行,只是用来演示一下官方案例。生产环境不用。

  • 伪分布式模式: 也是单机运行,但是具备Hadoop集群的所有功能,一台服务器模拟一个分布式的环境。生产环境不用。

  • 完全分布式模式: 多台服务器组成分布式环境。生产环境使用。

因为本地模式和伪分布式模式在生产环境中基本不用,所以我们主要讲述一下完全分布式模式。

完全分布式模式

1)3台客户机hadoop102、hadoop103、hadoop103(关闭防火墙、静态IP、主机名称)

   2)安装JDK

   3)配置环境变量

   4)安装Hadoop

   5)配置环境变量

   6)配置集群

(1)集群规划部署 image.png

  • NameNode 和 SecondaryNameNode不能安装在同一台服务器
  • ResourceManager 很消耗内存,不能和 NameNode、SecondaryNameNode 配置在同一台机器上。

(2)配置文件

Hadoop配置文件分两类:默认配置文件和自定义配置文件,只有用户想修改某一默认配置值时,才需要修改自定义配置文件,更改相应属性值。

core-site.xml 、hdfs-site.xml 、yarn-site.xml 、mapred-site.xml四个自定义配置文件存放在$HADOOP_HOME/etc/hadoop这个路径上,用户可根据项目需求重新进行修改配置。

   6)启动集群

(1)如果集群是第一次启动,需要先在hadoop102节点上格式化NameNode
(注意:格式化NameNode,会产生新的集群id,导致NameNode和DataNode的集群id不一致,集群找不到已往数据。如果集群在运行过程中报错,需要重新格式化NameNode的话,一定要先停止namenode和datanode进程,并且要删除所有机器的data和logs目录,然后再进行格式化。)

格式化命令 hdfs namenode -format

(2)启动HDFS

[leony@hadoop102 hadoop-3.1.3]$ sbin/start-dfs.sh

(3)在配置了ResourceManager的节点(hadoop103) 启动YARN

[leony@hadoop103 hadoop-3.1.3]$ sbin/start-yarn.sh

(4)Web端查看HDFS的NameNode

(5)Web端查看YARN的ResourceManager