美文网首页AI大数据 爬虫Python AI Sql玩转大数据
大数据(Hadoop)完全分布式集群安装(全)

大数据(Hadoop)完全分布式集群安装(全)

作者: 顾子豪 | 来源:发表于2021-06-13 15:03 被阅读0次

    一、大数据概述

    大数据概念

    大数据(Big Data):指的是传统数据处理应用软件不足以处理(存储和计算)它们的大而复杂的数据集。

    主要解决,海量数据的存储和海量数据的运算问题。

    大数据特征

    1、容量(Volume):数据的大小决定所考虑的数据的价值和潜在的信息

    新浪微博,3 亿用户,每天上亿条微博

    朋友圈,8 亿用户,每天亿级别朋友圈

    2、种类(Variety):数据类型的多样性,包括文本,图片,视频,音频

    结构化数据:可以用二维数据库表来抽象,抽取数据规律

    半结构化数据:介于结构化和非结构化之间,主要指 XML,HTML 等,也可称非结构化

    非结构化数据:不可用二维表抽象,比如图片,图像,音频,视频等

    3、速度(Velocity):指获得数据的速度以及处理数据的速度

    数据的产生呈指数式爆炸式增长

    处理数据要求的延时越来越低

    4、价值(Value):合理运用大数据,以低成本创造高价值

    综合价值大,隐含价值大

    单条数据记录无价值,无用数据多

    二、Hadoop及大数据生态圈

    Hadoop产生背景

    1、Hadoop 最早起源于Nutch。Nutch的设计目标是构建一个大型的全网搜索引擎,包括网页抓取、索引、查询等功能,但随着抓取网页数量的增加,遇到了严重的可扩展性问题 ——如何解决数十亿网页的

    存储和索引问题

    2、2003 -2004年谷歌发表的三篇论文为该问题提供了可行的解决方案

    • 1、分布式文件系统 GFS,可用于处理海量网页的存储

    • 2、分布式计算框架 MapReduce,可用于处理海量网页的索引计算问题

    • 3、分布式数据库 BigTable,每一张表可以存储上 billions 行和 millions 列

    3、Nutch的开发人员完成了相应的开源实现HDFS 和 MapReduce,并从Nutch中剥离成为独立项目

    Hadoop,到 2008 年 1 月,Hadoop 成为Apache 顶级项目,迎来了它的快速发展期。

    什么是Hadoop?

    1、Hadoop 是 Apache 旗下的一套开源软件平台

    2、Hadoop 提供的功能:利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理存储+运算

    3、Hadoop 的核心组件有:

    • A.Common(基础功能组件)

    • B.HDFS(Hadoop Distributed File System 分布式文件系统)

    • C.YARN(Yet Another Resources Negotiator 运算资源调度系统)

    • D.MapReduce(Map 和 Reduce 分布式运算编程框架)

    4、广义上来说,Hadoop 通常是指一个更广泛的概念--Hadoop 生态圈

    Hadoop发行版本

    Hadoop 三大发行版本: Apache、Cloudera、Hortonworks

    Apache版本最原始(最基础)的版本,对于入门学习最好。

    Cloudera公司:Cloudera产品主要为CDH,Cloudera Manager。兼容性,安全性,稳定性上较强。

    Hortonworks公司:Hortonworks Data Platform(HDP),可以使用安装和管理系统Ambari进行统一安装和管理监控。

    三、分布式集群的安装与部署

    VMware12软件的安装

    再检查“网络连接” 再检查“网络连接” ,会给我们多生成两种连接方式

    这都是必须的正常。

    至此,我们的虚拟机安装成功

    VMware虚拟机安装CentOS 7系统

    Linux 安装可能会出现的问题:

    安装 vmware的时候,可能会提示 Intel VT-x没开启

    图片.png

    1、想办法进入主机的 BIOS ,不同厂商的计算机在启动时按不同的按键 ,F2,F10 ,Del 键等

    2、首先在 BIOS 中看到 main(概要)选择进入 Advanced 高级 —— CPU Configuration处理器设置;

    2、找到 Intel Virtualization Technology英特尔虚拟化技术选项, 设置为 Enabled 开启 ,再 F10保存退出即可。

    最佳实践 :根据自己的电脑型号 ,去搜索怎么进入 BIOS ,怎么开启主板上的虚拟技术开关。

    具体安装步骤

    1、打开 vmware 虚拟机软件

    图片.png

    2、在菜单栏找到“文件”, 点开,下拉框中点击“新建虚拟机”,进入如下对话界面。两种 方式, 如果选择“典型”,相对自定义”选项来说,会有很多配置虚拟机的参数的,这是推荐方式,如果不想使用默认的 “典型” 则选择“自定义”,那么直接点击下一步即可。 在此我选择 “自定义 ”的原因就是为了让大家熟悉 vmware在配置虚拟机过程中到底做了些 什么操作。

    图片.png

    3、该步骤没什么可 操作性,直接点击“下一步“即可

    图片.png

    4、在该步骤中,注意指定 iso镜像文件。 请选择第三项,稍后安装。然后点击“下一步” 。

    图片.png

    5、然后在出现的 “命名虚拟机”框中,填写虚拟机的名称以及存放位置。如无特殊要 求,按照我的填写即可。如果放在 C盘,那么 C盘的空间至少要有 20G 左右的富余 ,否 则不要放 C盘。 点击“下一步” 进入下一步

    图片.png

    6、如无特殊要求,直接点击“下一步”,不用进行任何更改

    图片.png

    7、这里用来配置给虚拟机多少内存。默认是 1G,也够用了 。但是如果你的机器比较富足,则可以给 2G。点击 “下一步”

    图片.png

    8、网络类型,选择第二项 :NAT 模式类型 。点击 “下一步”

    图片.png

    9、直接 点击 “下一步”

    图片.png

    10、直接 点击 “下一步”

    图片.png

    11、直接点击“下一步”,使用创建新虚拟磁盘”选项

    图片.png

    12、这里用来配置给虚拟机分多少磁盘空间。默认是 20G ,一般够用 。但是如果一台虚拟 机要使用一年 或者多年 ,那么最好给多一点 。只要不勾选“立即分配所有磁盘空间”,它是不会立即占用掉 50G 磁盘空间的。这个50G表示虚拟机最多占用多少磁盘空间 。

    图片.png

    13、在上面的步骤中,点击“下一步 ”进入到如下界面,不用做任何更改,直接点击“下一步 ”即可。

    图片.png

    点击编辑虚拟机设置

    图片.png

    设置虚拟机的镜像文件,点击确定

    图片.png

    15、点击开启此虚拟机,首先会进入自动安装的 60s 倒计时界面 ,倒计时结束之后 ,自动进入安装步骤 自动进入安装步骤 自动进入安装步骤 ,等待倒 计时结束即可 。

    图片.png

    这是自动安装的界面,你不用进行任何操作。

    图片.png

    16、然后进入到 UI界面 ,开始进行 centos7操作系统的一些配置。

    这一个界面 ,用来配置当前 centos7操作系统选择哪种语言作为系统语言。我们使用默认即 可,也就是 United States 的 English 。然后点击 “continue ”

    图片.png

    17、然后进入到这个界面:

    点击 DATE&TIME来设置时区和时间

    点击 NETWORK&HOSTNAME设置主机名称和网络相关

    后续有详细步骤 。

    图片.png

    18、选择 :DATE&TIME 来设置时区和时间 。时区选择Asia Shanghai

    日期时间 ,按需更改即可 。

    然后点击左上角 “Done ”完成设置

    图片.png

    19、选择 INSTALLATION DESTINATION 选定磁盘 ,可以直接点击DONE 返回来

    图片.png 图片.png

    20、选择 NETWORK&HOSTNAME设置该虚拟机的主名称 hostname:我设置的为mycentos7, 点击右边的 configure来设置 IP地址相关

    图片.png

    21、在点击 configure之后 ,进入到该界面 ,现在“ method”选项中选择“ Manual ”,然后 选择 IPv4 Settings 选项卡 。填入如图所示的 address IP 地址 ,netmask子网掩码 ,gateway网 关地址。还有 DNS Servers设置 DNS服务器 IP地址 。然后点击 “Save”完成设置。

    图片.png

    22、在上面的步骤点击 “save”之后,会进入到如下 的画面。当然记得把右上角为 ON状态 ,意味着该 ens3网卡启用 。开启之后 ,会显示当前你设置的相关信息 ,可 检查是否正确。然后点击右上角的“ Done ”

    图片.png

    23、点击上图步骤中的“ Done ”之后,就回到这个设置页面。然后点击“ Begin Installation” 即可开启安装。

    图片.png

    24、然后进入到 Ins tallation界面 。图中有关于 user settings的选项 ,点击 ROOT PASSWORD设置超级管理员 root用户的密码 ,点击 USER CREATION设置普通用户名和密码。 此先不创建,后续使用命令来创建。

    图片.png

    25、设置 root用户的密码 ,点击右上角的 “Done ”完成设置 。

    图片.png

    26、然后回到该界面。中下位置的 进度条可以显示当前instalation一直在持续进行。等待 完成即可。

    图片.png

    27、当进度条 100 %之后 ,会有 Completee的显示,右下角有 reboot按钮 ,点击一下 ,即重 启系统 。此时 ,centos7操作系统进行重启 ,如果鼠标不见了,请按组合键:ctrl + alt 。事实 上,到此为止,配置和安装 centos7操作系统结束了。

    图片.png

    28、重启结束之后进入如下的界面,根据提示可以看出,输入用户名和密码,即登录操作系统。由于我们现在只有一个root用 户,所以使用 root用户登录即可。

    图片.png

    29、登录成功之后的界面。


    图片.png

    30 、输入 “ip addr ”命令,可以 查看 IP地址 ,如下图所示:

    图片.png

    至此 ,linux操作系统安装成功 。

    Vmware克隆 虚拟机CentOS7

    1、选中 您需要克隆的虚拟机,先关机。 然后 ,右键选择 “管理 ”,再选择 “克隆 ”

    图片.png

    2、进入 到克隆虚拟机引导界面。直接 下一步

    图片.png

    3、在克隆 源中,选择 “当前 状态 ”,当然 ,如果 您需要 从某个快照中进行克隆。这 也是 可以 的。 然后 点击 “下一步 ”

    图片.png

    4、克隆类型 ,选择 完整 克隆。 直接 “下一步 ”

    图片.png

    5、新虚拟机 名称 ,记得更改名称 和 指定 该虚拟机 存放位置 。然后 点击 “完成 ”。

    图片.png

    6、在上一步中,点击 “完成 ”,等待克隆成功即可

    图片.png

    7、当上一步执行完毕之后,也就意味着 成功 克隆出一台虚拟机,和 克隆 源虚拟机当然也是 一模 一样的。但是 必然 需要有些信息是 需要修改的,比如 IP 地址 ,比如 MAC地址 等。所以 , 先按照如下步骤,进行 MAC地址 的修改。

    图片.png

    8、修改 IP 地址 。在上一步修改了 MAC地址 之后,先开机然后正常 使用 root用户登录 , 然后 进行 IP 地址 的修改。命令 为:

    Vi /etc/sysconfig/network -scripts/ifcfg-ens33
    
    图片.png

    9、进入 到如下界面。 更改 IP 地址 即可。其他 的应该都不用更改。

    
    BOOTTYPE= ”static ”
    
    ONBOOT=”yes ”
    
    IPADDR=”192.168.123.152”
    
    图片.png

    10 、更改 完 IP 地址 之后,如果有必要,也需修改主机名称。完了 之后 重启既完成虚拟机 的克隆任务了。

    安装SecureCRT

    安装过程很简单,这里不再上图啦。

    这里讲一下SecureCRT的配置

    点击选项-编辑默认会话

    1.SSH2的配置

    点击SSH2下面的“您要使用这些配置吗”

    图片.png

    本地目录:从centos7上传下载数据的时候,本地·的交互目录

    远程目录:centos7系统的home目录

    2.终端的配置

    终端-仿真 根据自己的喜好调整

    图片.png

    终端-映射键-其它映射的两个勾,勾上

    图片.png

    3.外观的配置

    字符编码:改为UTF8

    图片.png

    4.修改完后,点击确定,点击“只变更默认会话”

    图片.png

    5.点击闪电,设置主机名:您安装虚拟机的主机名,设置用户名,端口号:22,点击连接

    图片.png 图片.png

    点击接受并保存

    图片.png

    输入密码

    图片.png

    可能在你填主机名的时候,显示主机名未知,此时需要你配置一下主机映射

    找到C盘-Windows-drivers-etc-hosts(如果没有hosts文件新建一个)

    在文件中写入以下信息:

    192.168.123.152 bigdata02(这两个以你配置虚拟机为准)

    关于CentOS7的一些必备配置

    1.安装一些必备的软件

    
    yum -y install net-tools
    
    yum -y install ntpdate
    
    yum -y install wget
    
    yum -y install perl
    
    yum -y install vim*
    

    2.修改主机名(这一步不是必须的,根据需要进行修改)

    在root账号下用命令:

    vi /etc/hostname
    

    或者如果配置了bigdata的sudoer 权限,则在bigdata登录情况下使用命令:

    sudo vi /etc/hostname
    

    指定好内容之后保存退出即可:

    bigdata02
    

    或者不使用编辑配置文件的方式,使用命令也可以进行永久更改:

    hostnamectl set-hostname bigdata02
    

    3.设置系统默认启动级别(这一步不是必须的)

    这一步不是必须的,但是考虑到咱们用的是虚拟机,使用了桌面系统会占用相当多内存,而且在企业生产环境中,也都不会开启桌面系统,都是通过远程连接工具去链接使用。所以咱们最好还是要改一改。

    但是好在我们现在使用的是centos7,我们安装的如果是centos7的minimal系统的话,可以不用做任何更改的。centos7的minimal系统的默认级别就是multi-user.target,和centos6的level 3 是一样的意思。

    如果需要更改:

    systemctl set-default multi-user.target
    
    1. 配置bigdata用户 sudoer权限

    创建bigdata用户,并且在bigdata的用户家目录中,创建如下文件夹备用:

    [root@bigdata02 ~]# su bigdata
    
    [bigdata@bigdata02 root]$ ll
    
    ls: cannot open directory .: Permission denied
    
    [bigdata@bigdata02 root]$ cd
    
    [bigdata@bigdata02 ~]$ mkdir ~/apps
    
    [bigdata@bigdata02 ~]$ mkdir ~/bins
    
    [bigdata@bigdata02 ~]$ mkdir ~/data
    
    [bigdata@bigdata02 ~]$ mkdir ~/soft
    
    [bigdata@bigdata02 ~]$ mkdir ~/logs
    

    给用户bigdata02赋予root权限

    [bigdata@bigdata02 ~]$ su root
    
    Password:
    
    [root@bigdata02 bigdata]# vi /etc/sudoers
    

    找到

    root ALL=(ALL) ALL
    

    这一行,然后在他下面添加一行:内容如下

    root ALL=(ALL) ALL
    
    bigdata ALL=(ALL) ALL
    

    该操作表示,把bigdata用户也配置成和root用户一样具有root权限。当然这个操作,只有root用户才能操作。

    图片.png

    5.配置IP(如果已经配好,此步骤略过)

    第一步:进入到ip配置文件目录中:

    cd  /etc/sysconfig/network-scripts
    

    第二步:编辑IP配置文件

    Vi ifcfg-ens33
    

    按需修改或者增加如下内容:

    BOOTPROTO="static"
    
    ONBOOT="yes"
    
    IPADDR="192.168.123.151"
    
    GATEWAY="192.168.123.2"
    
    DNS1="192.168.123.2"
    

    第三步:重启网络服务

    systemctl restart network
    

    6.关闭防火墙/关闭Selinux

    防火墙操作相关

    查看防火墙状态:如果看到avtive(running)就意味着防火墙开启

    systemctl status firewalld
    

    关闭防火墙: 如果看到inactive(dead)就意味着防火墙关闭了

    systemctl stop firewalld
    

    开启防火墙:

    systemctl start firewalld
    

    以上的开启和关闭,都是临时性的。如果重启,则又恢复原样。默认是开启了防火墙的

    查询firewall服务是否开机启动的:

    systemctl list-unit-files | grep firewalld
    

    如果为disabled那么就是开机不启动。

    如果想永久开启或者关闭(跟重启无关)防火墙,则:

    永久关闭防火墙:

    systemctl disable firewalld
    

    永久开启防火墙:

    systemctl enable firewalld
    

    当然如果作为专业的运维人员。其实也可以配置防火墙细则,例如一台机器只作为web服务器的话,就只需要开放80端口即可。

    关闭Selinux

    具体做法是修改/etc/selinux/config配置文件中的SELINUX=disabled

    vi /etc/selinux/config
    

    修改如下配置项:

    SELINUX=disabled
    

    保存退出。

    图片.png

    7.同步服务器时间

    对于一个Hadoop集群来说,每个节点的系统时间,应该要都是一样的。进行时间同步,可以有两种简单的方式,一是手动同步,而是搭建时间服务器进行同步或者从网络定时同步系统时间。推荐最后一种:从网络定时同步时间。

    (1)使用date命令手动简单同步一下

    date -s "2016-10-23 11:11:11"
    

    修改时间后,需要写入硬件bios才能在重启之后依然生效

    hwclock -w
    

    (2)配置 crontab 服务,用ntpdate 定时同步时间(推荐方式)

    */10 * * * * ntpdate ntp.sjtu.edu.cn
    

    请先测试一下ntpdate命令是否可以使用,如果不可以,使用命令安装一下(下面3个有一个能用即可):

    [root@mycentos7 ~]# ntpdate time.nist.gov
    
    [root@mycentos7 ~]# ntpdate 202.120.2.101
    
    [root@mycentos7 ~]# ntpdate ntp.sjtu.edu.cn
    

    进入配置文件

    [root@bigdata02 bigdata]# crontab -e
    

    往文件中写入*/10 * * * * /usr/sbin/ntpdate ntp.sjtu.edu.cn 保存退出

    注:如果类似202.120.2.101这种网络时间服务器无法访问,那么请自行搭建时间服务器

    当然还有一个非常重要的点:不要忘记更改时区,然后再同步时间

    CentOS中时区是以文件形式存在,当前正在使用的时区文件位于/etc/localtime,其他时区文件则位于

    /usr/share/zoneinfo
    

    其中中国时区使用

    /usr/share/zoneinfo/Asia/Shanghai
    

    则,更改时区的话,直接使用如下命令就OK

    cp /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime
    

    如果没有Asia/Shanghai时区文件,请执行tzselect命令按照引导去生成时区文件,生成好的时区文件就在/usr/share/zoneinfo目录下。

    8.配置YUM源

    配置本地yum源

    配置国内远程yum源

    yum -y install wget
    
    wget [http://mirrors.aliyun.com/repo/Centos-7.repo](http://mirrors.aliyun.com/repo/Centos-7.repo)
    
    mv /root/Centos-7.repo /root/Centos-7-aliyun.repo
    
    cp /root/Centos-7-aliyun.repo /etc/yum.repos.d/
    
    yum repolist
    

    9.安装JDK1.8

    切换到SecureCRT,按快捷键Alt+P,进行SFTP的上传,把JDK1.8安装包拖拽到上传界面,上传到centos7中

    或者使用命令:

    put -r "F:\JDK\jdk-8u73-linux-x64.tar.gz"
    

    此时安装包文件在centos7家目录中

    创建java安装目录:

    [root@bigdata02 ~]# mkdir /usr/local/java
    
    [root@bigdata02 ~]# tar  -zxvf  jdk-8u73-linux-x64.tar.gz -C  /usr/local/java/
    
    [root@bigdata02 ~]# vi /etc/profile
    

    文件追加以下内容·:

    export JAVA_HOME=/usr/local/java/jdk1.8.0_73
    
    export PATH=$PATH:$JAVA_HOME/bin
    
    export CLASSPATH=.:/usr/local/java/jdk1.8.0_73/lib/dt.jar:/usr/local/java/jdk1.8.0_73/lib/tools.jar
    

    使命令生效:

    [root@bigdata02 ~]# source /etc/profile
    

    查看java是否安装成功

    [root@bigdata02 scala-2.11.8]# java -version     
    

    java version "1.8.0_73"

    Java(TM) SE Runtime Environment (build 1.8.0_73-b02)

    Java HotSpot(TM) 64-Bit Server VM (build 25.73-b02, mixed mode)

    10.安装Scale

    [root@bigdata02 ~]# mkdir /usr/local/scala
    
    [root@bigdata02 ~]# tar -zxvf scala-2.11.8.tgz -C /usr/local/scala
    
    [root@bigdata02 ~]# vi /etc/profile
    

    文件追加以下内容·:

    export SCALA_HOME=/usr/local/scala/scala-2.11.8
    
    export PATH=$PATH:$SCALA_HOME/bin
    

    使命令生效:

    [root@bigdata02 ~]# source /etc/profile
    

    查看scala是否安装成功

    [root@bigdata02 scala-2.11.8]# scala -version    
    

    Scala code runner version 2.11.8 -- Copyright 2002-2016, LAMP/EPFL

    11.添加主机域名ip映射

    修改配置文件:

    vi /etc/hosts
    

    增加对应的内容:

    192.168.123.151 bigdata01
    
    192.168.123.152 bigdata02
    
    192.168.123.153 bigdata03
    
    192.168.123.154 bigdata04
    
    192.168.123.155 bigdata05
    
    192.168.123.156 bigdata06
    
    192.168.123.157 bigdata07
    
    192.168.123.158 bigdata08
    
    192.168.123.159 bigdata09
    

    修改好之后,保存退出即可。

    克隆虚拟机

    1.先拍摄快照:(选中 您需要克隆的虚拟机-快照-拍摄快照)

    图片.png

    选中 您需要克隆的虚拟机,先关机。 然后 ,右键选择 ,选择 “管理 ”,再选择 “克隆 ”。

    2.选择现有快照,点击下一步

    图片.png

    3.选择完整克隆!!!,点击下一步

    图片.png

    4.设置虚拟机的名称,存放位置;点击完成

    图片.png

    此时虚拟机克隆成功

    需要改动三个地方:

    (1)mac地址

    (2)IP地址

    (3)主机名称

    改mac地址:

    找到“编辑虚拟机设置”

    图片.png

    找到网络适配器-高级-mac地址生成-确定

    图片.png

    改主机名和IP地址

    开启虚拟机,进去命令行:

    Vi /etc/hostname
    

    修改主机名:bigdata03

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

    把UUID整行删掉

    ipaddr设置为:192.168.123.153

    设置完后:重启虚拟机

    同样的步骤克隆第三台虚拟机

    配置SSH免密登录

    对于一个集群来说,节点间的互信是必不可少的。所以一定要给集群的所有节点之间配置免密SSH访

    问。切记,你使用哪个用户搭建Hadoop集群,就给哪个用户配置SSH免密访问。另外需要注意的:所

    有节点的安装Hadoop的用户都一样该一样。我使用的就是bigdata用户。

    1.先把所有节点的.ssh文件删掉

    [bigdata@bigdata02 ~]$ rm -rf ~/.ssh
    
    [bigdata@bigdata03 ~]$ rm -rf ~/.ssh
    
    [bigdata@bigdata04 ~]$ rm -rf ~/.ssh
    

    2.执行命令生成公钥私钥对(一直回车)

    [bigdata@bigdata02 ~]$ ssh-keygen -t rsa
    
    [bigdata@bigdata03 ~]$ ssh-keygen -t rsa
    
    [bigdata@bigdata04 ~]$ ssh-keygen -t rsa
    

    之后你会发现,在.ssh目录下生成了公钥文件

    图片.png
    [bigdata@bigdata02 ~]$ ssh-copy-id bigdata02
    
    [bigdata@bigdata03 ~]$ ssh-copy-id bigdata02
    
    [bigdata@bigdata04 ~]$ ssh-copy-id bigdata02
    
    [bigdata@bigdata02 ~]$ ssh-copy-id bigdata03
    
    [bigdata@bigdata03 ~]$ ssh-copy-id bigdata03
    
    [bigdata@bigdata04 ~]$ ssh-copy-id bigdata03
    
    [bigdata@bigdata02 ~]$ ssh-copy-id bigdata04
    
    [bigdata@bigdata03 ~]$ ssh-copy-id bigdata04
    
    [bigdata@bigdata04 ~]$ ssh-copy-id bigdata04
    

    搭建完全分布式集群环境

    1.集群规划

    由于我电脑是内存8G的,所以我选用3个节点来搭建

    总共有3个datanode节点,设置副本数为1

    图片.png

    整体描述一下Hadoop集群的安装:

    1、准备好3个服务器

    2、在第一个节点中安装Hadoop

    • 解压缩安装
    • 配置Hadoop_env.sh
    • 配置core-sitem.xml
    • 配置hdfs-site.xml
    • 配置mapred-site.xml
    • 配置yarn-site.xml
    • 配置slaves

    3、分发安装包到每个节点

    4、所有节点配置环境变量

    5、初始化Hadoop

    6、启动集群

    7、验证安装,启动是否成功

    第一步:上传安装包(使用我自行编译hadoop安装包),并解压到相关目录

    sftp> cd soft/
    
    sftp> put  "hadoop-2.7.7-centos7.tar.gz"
    
    [bigdata@bigdata02 ~]$ tar -zxvf soft/hadoop-2.7.7-centos7.tar.gz -C apps/
    

    第二步:修改hadoop-env.sh配置文件,添加jdk安装目录配置

    [bigdata@bigdata02 ~]$ cd apps/hadoop-2.7.7/etc/hadoop/
    
    [bigdata@bigdata02 hadoop]$ vi hadoop-env.sh
    

    配置如下内容:

    export JAVA_HOME=/usr/local/jdk1.8.0_151
    

    第三步:修改core-site.xml配置文件

    [bigdata@bigdata02 hadoop]$ vi core-site.xml
    
    <property>
    
    <name>fs.defaultFS</name>
    
    <value>hdfs://bigdata02:9000</value>
    
    <description>HDFS集群的url</description>
    
    </property>
    
    <property>
    
    <name>hadoop.tmp.dir</name>
    
    <value>/home/bigdata/data/hadoopdata</value>
    
    <description>HDFS集群的相关数据存储目录</description>
    
    </property>
    

    第四步:修改hdfs-site.xml配置文件

    [bigdata@bigdata02 hadoop]$ vi hdfs-site.xml
    

    在标签中添加如下内容:

    <property>
    
    <name>dfs.namenode.name.dir</name>
    
    <value>/home/bigdata/data/hadoopdata/name</value>
    
    <description>为了保证元数据的安全一般配置多个不同目录</description>
    
    </property>
    
    <property>
    
    <name>dfs.datanode.data.dir</name>
    
    <value>/home/bigdata/data/hadoopdata/data</value>
    
    <description>datanode的数据存储目录</description>
    
    </property>
    
    <property>
    
    <name>dfs.replication</name>
    
    <value>1</value>
    
    <description>HDFS的数据块的副本存储个数</description>
    
    </property>
    
    <property>
    
    <name>dfs.secondary.http.address</name>
    
    <value>bigdata03:50090</value>
    
    <description>secondarynamenode运行节点的信息,和namenode不同节点</description>
    
    </property>
    

    第五步:修改mapred-site.xml配置文件

    你会发现:集群只有 mapred-site.xml.template,可以从这个文件进行复制,或者直接改名也可

    [bigdata@bigdata02 hadoop]$ cp mapred-site.xml.template mapred-site.xml
    
    [bigdata@bigdata02 hadoop]$ vi mapred-site.xml
    
    <configuration>
    
    <property>
    
    <name>mapreduce.framework.name</name>
    
    <value>yarn</value>
    
    <description>表示所使用得到资源调度是yarn</description>
    
    </property>
    
    </configuration>
    

    第六步:配置yarn-site.xml配置文件

    [bigdata@bigdata02 hadoop]$ vi yarn-site.xml
    

    在 标签中添加如下内容:

    <property>
    
    <name>yarn.resourcemanager.hostname</name>
    
    <value>bigdata04</value>
    
    <description>YARN集群主节点所在节点</description>
    
    </property>
    
    <property>
    
    <name>yarn.nodemanager.aux-services</name>
    
    <value>mapreduce_shuffle</value>
    
    <description>YARN集群为MapReduce程序提供的shuffle服务</description>
    
    </property>
    

    第七步:配置slaves配置文件

    [bigdata@bigdata02 hadoop]$ vi slaves
    
    bigdata02
    
    bigdata03
    
    bigdata04
    

    第八步:分发安装到其他节点

    如果刚才我是在 bigdata02 执行安装的话, 那么我现在要把 hadoop 安装包分发到 bigdata03,

    bigdata04 的相同目录下。

    [bigdata@bigdata02 hadoop]$ cd ..
    
    [bigdata@bigdata02 etc]$ cd ..
    
    [bigdata@bigdata02 hadoop-2.7.7]$ cd ..
    
    [bigdata@bigdata02 apps]$ scp -r hadoop-2.7.7/ bigdata03:~/apps/
    
    [bigdata@bigdata02 apps]$ scp -r hadoop-2.7.7/ bigdata04:~/apps/
    

    第九步:配置环境

    由于我们安装Hadoop 集群使用的是 bigdata 用户,那么我们配置用户变量即可。

    [bigdata@bigdata02 apps]$ cd
    
    [bigdata@bigdata02 ~]$ vim .bashrc 
    
    export HADOOP_HOME=/home/bigdata/apps/hadoop-2.7.7
    
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    
    source .bashrc
    

    需要注意的是:需要每个节点都配置环境变量

    第十步:执行HDFS集群的初始化

    [bigdata@bigdata02 ~]$ hadoop namenode -format
    
    图片.png

    出现如上提示,则说明初始化成功。

    切记:关于初始化操作,是第一次安装Hadoop集群的时候初始化一次就可以了,而不是后面每次使用

    的都需要初始化一次。切记。很多小伙伴在此翻车了。所以做重点提醒。如果你想要把一个旧HDFS集

    群的数据都给删掉,当做一个新集群来使用。那么你可以重新初始化,但是你还是要记得把对应的每个

    节点数据存储目录先行删掉。然后再初始化。这样你就又得到了一个新HDFS集群。

    第十一步:启动HDFS集群

    [bigdata@bigdata02 ~]$ start-dfs.sh
    

    不论在那个节点执行这个命令,都可以启动HDFS集群。

    启动成功的话,会在对应的节点上启动好对应的守护进程,就如前面的集群规划表中所列举一般。

    当然也可能出现部分节点上的对应进程没有启动成功,这个时候,你首先需要排查原因。如果是能正常

    启动的话。那么使用如下命令:

    hadoop-daemon.sh start namenode # 启动
    
    hadoop-daemon.sh stop namenode # 停止
    
    hadoop-daemon.sh restart namenode # 重启
    

    这里列举的是 namenode 进程,当然,datanode 进程,resourcemanager 等进程,也都是同样的道理。只是需要注意的一点就是:那个节点的什么进程没有启动,那就在对应的节点上执行启动命令单独启动。

    在实际企业环境中,stop-dfs.sh 之类的命令不会轻易执行的。所以一般出现了哪个节点宕机,或者服务下线了,都是单独启动。

    第十二步:启动YARN集群

    在 YARN 主节点启动 YARN,要求在YARN主节点进行启动,否则 ResourceManager 主进程会启动不成功,需要额外手动启动

    [bigdata@bigdata04 ~]$ start-yarn.sh
    

    第十三步:检查安装是否成功

    因为 Hadoop 集群,事实上,包含了 HDFS 和 YARN 两个集群,所以两个集群都分别做一次测试

    第十四步:检测web ui启动是否成功

    HDFS集群的web ui地址:

    http://bigdata02:50070
    

    YARN集群的web ui地址:

    http://bigdata04:8088
    

    第十五步:查看集群的状态

    hadoop dfsadmin -report
    
    hdfs dfsadmin -report(推荐用这个)
    

    至此大功告成。

    附:

    分布式集群的开启与关闭:

    停机:

    [bigdata@bigdata02 ~]$ stop-dfs.sh
    
    [bigdata@bigdata05 ~]$ stop-yarn.sh
    

    开机:

    [bigdata@bigdata02 ~]$ start-dfs.sh
    
    [bigdata@bigdata05 ~]$ start-yarn.sh
    

    相关文章

      网友评论

        本文标题:大数据(Hadoop)完全分布式集群安装(全)

        本文链接:https://www.haomeiwen.com/subject/kdqgeltx.html