Hadoop入门与集群搭建

作者: 大数据阶梯之路 | 来源:发表于2019-07-14 01:23 被阅读2次

    一、Hadoop是什么?

    从狭义来说,Hadoop指的是Apache下的一款开源框架,目前常用的是Hadoop2版本。

    Hadoop2主要包含以下3个组件:
    与Hadoop1区别在于1版本把资源管理和海量数据计算的任务都丢给MapReduce,即Hadoop1只有一个HDFS和MapReduce组成。

    • HDFS:一个Hadoop的分布式文件系统,支持NameNode横向扩展,解决海量数据的存储。
    • YARN:一个负责作业调度和集群资源管理的框架,解决资源任务调度。
    • MapReduce:一个分布式运算编程框架,运行在YARN上,用来解决海量数据的计算。

    从广义来说,Hadoop类似于Spring,已经形成了一个Hadoop生态圈,许多技术都和Hadoop进行集成使用起来。
    总结:Hadoop的应用场景并不会跟某些行业或某些业务挂钩在一起,它只是一款海量数据分析处理的软件平台,提供HDFS、MapReduce、YARN这些模块来对外提供帮助。

    二、Hadoop2集群理论

    搭建使用目前稳定版本:Hadoop2.7.4

    Hadoop集群一般指的是HDFS集群和YARN集群,两者在逻辑上分离,物理上在一起,如下图:

    图片.png Hadoop部署主要有3种模式:前两种主要用于调试,属于单机部署,后面一种才是生产环境部署。
    • Standalone mode(独立模式):仅在一个机器运行一个java进程。
    • Pseudo-Distributed(伪分布式模式):仅在一个机器上HDFS的NameNode和DataNode、YARN的ResourceManager和NodeManager,但分别启动单独的java进程。
    • Cluster mode(群集模式):会使用N台主机组成一个Hadoop集群,这种部署方式下,主节点和从节点会公开部署在不同的机器上。

    三、实际操作搭建hadoop集群

    • 1、在VMware14虚拟机中安装centos7操作系统,并命名为master,我全程按这个教程装的,很详细。
      附带安装教程:https://blog.csdn.net/babyxue/article/details/80970526
    • 2、安装好虚拟机系统之后,通过xshell这个软件来在windows系统上远程连接到虚拟机的linux系统进行操作更加方便,并且通过xftp这个软件来把jdk和hadoop上传到linux系统中,很实用这2款软件,服务器必备利器,学生可以通过邮箱注册进行免费下载。/11783601-711ad6c18f744313.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
    • 3、注意:以下操作都是基于root用户来进行的,否则你可能会因为权限不够而无法修改配置文件。
      配置ip地址,敲命令vi /etc/sysconfig/network-scripts/ifcfg-ens33修改指定文件配置,复制下面的内容进去替换掉原来的内容,#后面是注释可以删掉
    TYPE="Ethernet"   # 网络类型为以太网
    BOOTPROTO="static"  # 手动分配ip
    NAME="ens33"  # 网卡设备名,设备名一定要跟文件名一致
    DEVICE="ens33"  # 网卡设备名,设备名一定要跟文件名一致
    ONBOOT="yes"  # 该网卡是否随网络服务启动
    IPADDR="10.14.28.100" # 该网卡ip地址就是你要配置的固定IP,如果你要用xshell等工具连接,220这个网段最好和你自己的电脑网段一致,否则有可能用xshell连接失败
    GATEWAY="10.14.28.2"  # 网关
    NETMASK="255.255.255.0"   # 子网掩码
    DNS1="8.8.8.8"    # DNS,8.8.8.8为Google提供的免费DNS服务器的IP地址
    

    接着配置网络工作,敲命令vi /etc/sysconfig/network进行配置

    NETWORKING=yes # 网络是否工作,此处一定不能为no
    

    配置公共DNS服务(可选),在/etc/resolv.conf文件里增加如下配置

    nameserver 8.8.8.8
    

    最后关闭防火墙和重启网络服务

    systemctl stop firewalld         # 临时关闭防火墙
    systemctl disable firewalld      # 禁止开机启动
    
    service network restart      #重启网络服务
    

    克隆步骤1新建的虚拟机master,克隆3个新的虚拟机,并分别命名为slave1、slave2、slave3,克隆操作:把当前新建好的虚拟机关闭掉,因为在开启状态是不能克隆的,然后右键虚拟机-->选择管理-->克隆-->完成克隆副本-->选择保存的位置。
    我们要完成的集群是这样的架构。

    图片.png 不过注意:克隆master的话,这个克隆出来的虚拟机和原虚拟机各个配置都是一样的,我们接下来要对网络、主机名等进行配置。
    和上面一样的配置,只是修改了主机ip而已,不固定,在同一个网段就好,然后重启网络服务,命令和上面一样就省略掉了。
    然后,修改主机名,敲命令hostnamectl set-hostname slave1(你要的主机名字)
    之后敲命令vi /etc/hosts修改hosts文件,将名字和IP建立联系,然后重启reboot命令。
    最后这是关键,4台虚拟机都同样的操作都修改好后,互相ping一下看看通不通,比如在windows使用cmd命令行ping4台虚拟机试试,4台虚拟机互相ping下或者ping下windows。最后4台虚拟机就如下图配置好了。
    最后集群机子图片.png
    • 4、之后使用xshell这个软件远程连接4台虚拟机,步骤如下: 图片.png 最后模式如下图: 图片.png
    • 5、上图的master相当于namenode,存储着文件名,记录文件存放的位置,其他3台slave相当于datanode,存储着真实的数据。外部访问都是通过namenode来间接访问datanode,namenode相当于管理者,datanode相当于数据提供者。
    • 6、cd进入到/usr/local/hadoop/etc/hadoop目录下,显示所有文件会看到有个core-site.xml文件,这个文件是告诉master在哪里,slave被谁管理。修改此文件,在里面的configuration标签里写下述内容,4台虚拟机都要写:
    <property>
            <name>fs.defaultFS</name>
            <value>hdfs://master:9000</value>
    </property>
    
    • 7、经过上面的文件配置,就可以启动hadoop了,namenode与datanode默认是装在一起的,所以得分开输入命令分别启动。
      先格式化下namenode,敲命令hdfs namenode -format,然后4台虚拟机都配置下主机名与主机ip的关联,敲命令vi /etc/hosts编辑一个文件来配置主机。输入以下内容
    10.14.28.100 master
    10.14.28.101 slave1
    10.14.28.102 slave2
    10.14.28.103 slave3
    

    然后就可以敲命令hadoop-daemon.sh start namenode启动namenode,再输入jps命令查看java进程,可看看namenode进程是否启动。如下图:

    图片.png 最后这样就完成了基本的hadoop环境搭建了,此时通过hdfs协议进行关联,namenode是管理着其余的3个datanode的。

    相关文章

      网友评论

        本文标题:Hadoop入门与集群搭建

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