leo_logic

Hadoop学习
一、了解Hadoop与大数据生态1.1Hadoop是什么?Hadoop是由Apache基金开发的分布式系统基础架构...
扫描右侧二维码阅读全文
17
2019/03

Hadoop学习

一、了解Hadoop与大数据生态

1.1Hadoop是什么?

  • Hadoop是由Apache基金开发的分布式系统基础架构
  • 主要解决海量数据的储存(HDFS文件系统)和分析计算(MapReduce)
  • Hadoop通常指更广泛的一个概念,Hadoop生态圈

1.2Hadoop优势:

  • 高可靠性:当计算单元出现故障时,它维护多个工作副本,在失败时刻可以对工作副本进行重新分布处理。
  • 高扩展性:在集群间分配任务数据,可以方便的扩展数以千计的节点。(同时可以退出)
  • 高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度。

           Map中并行处理(快)  Reduce中串行
  • 高容错性:自动保存多份备份数据,并且能够自动将失败任务重新分配。

1.3Hadoop组成:
1.3.1概述

  • 1)Hadoop HDFS:一个高可靠、高吞吐量的分布式文件系统。
1)NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等。
2)DataNode(dn):在本地文件系统存储文件块数据,以及块数据的校验和。
3)Secondary NameNode(2nn):用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。
  • 2)Hadoop YARN:作业调度与集群资源管理的框架。
1)ResourceManager(rm):处理客户端请求、启动/监控ApplicationMaster、监控NodeManager、资源分配与调度;
2)NodeManager(nm):单个节点上的资源管理、处理来自ResourceManager的命令、处理来自ApplicationMaster的命令;
3)ApplicationMaster:数据切分、为应用程序申请资源,并分配给内部任务、任务监控与容错。
4)Container:对任务运行环境的抽象,封装了CPU、内存等多维资源以及环境变量、启动命令等任务运行相关的信息。
  • 3)Hadoop MapReduce:一个分布式的离线并行计算框架。
1)Map阶段并行处理输入数据
2)Reduce阶段对Map结果进行汇总
  • 4)Hadoop Common:支持其他模块的工具模块。

1.4Hadoop生态:
1.4.1Hadoop生态体系:
TIM截图20190317093738.png

二、Hadoop环境搭建

1.安装概要
提示①:必须掌握的地方:修改为静态ip、修改主机名、关闭防火墙
提示②:centos6赋予用户权限命令运行:vi /etc/sudoers
TIM截图20190317095715.png
提示③:修改文件所有权给另一个用户:

模板:sudo chown 用户:文件主人 文件1 文件2
例子:sudo chown leo:leo software

提示④:查看IP地址:ifconfig -a查看
2.运行模式介绍:
2.1①本地模式:不需要启用单独进程,直接可以运行,测试和开发时使用。
2.2②伪分布模式:等同于完全分布式,只有一个节点。
2.3③完全分布:多个节点一起运行。
①本地模式例子:
案例1,官方grep案例:
1)创建在hadoop-2.7.2文件下面创建一个input文件夹:mkdir input
2)将hadoop的xml配置文件复制到input:cp etc/hadoop/*.xml input
3)执行share目录下的mapreduce程序:bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep input output 'dfs[a-z.]+'
4)查看输出结果:cat output/*
案例2,官方wordcount案例:
1)创建在hadoop-2.7.2文件下面创建一个wcinput文件夹:mkdir wcinput
2)在wcinput文件下创建一个wc.input文件:

[[email protected]_0_17_centos hadoop-2.7.5]$cd wcinput
[[email protected]_0_17_centos hadoop-2.7.5]$touch wc.input

3)编辑wc.input文件
[[email protected]_0_17_centos hadoop-2.7.5]$vim wc.input

    在文件中输入如下内容:
    hadoop
    leo leo
    zhangyixing zhangyixing lay
    hanhong
    luhan
    song
    保存退出::wq

4)回到hadoop目录/opt/module/hadoop-2.7.2
5)执行程序:[[email protected]_0_17_centos hadoop-2.7.5]# hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.5.jar wordcount wcinput/ wcoutput
6)查看结果:

    [[email protected]_0_17_centos hadoop-2.7.5]# cd wcoutput
    [[email protected]_0_17_centos wcoutput]# cat part-r-00000
    hadoop    1
    hanhong    1
    lay    1
    leo    2
    luhan    1
    song    1
    zhangyixing    2

提示,服务器最小化:

2.1 虚拟机网络模式设置为NAT
2.2 克隆虚拟机
    2.3 修改为静态ip
        (1)[[email protected] /]#vim /etc/udev/rules.d/70-persistent-net.rules
        删除eth0,升级eth1为eth0;
        复制物理ip地址。
        (2)[[email protected] /]#vim /etc/sysconfig/network-scripts/ifcfg-eth0    
        粘贴复制的物理ip地址
        IPADDR=192.168.1.101
    2.4修改主机名
        (1)#vi /etc/sysconfig/network
        修改主机名称
        (2)vim /etc/hosts
        192.168.1.100 hadoop100
        192.168.1.101 hadoop101
        192.168.1.102 hadoop102
    --------------------------------------
    重启:    sync   reboot
    2.5 关闭防火墙
        chkconfig iptables --list

②伪分布模式例子:
伪分布配置不同部分6、7、8
TIM截图20190317151715.png
提示:重启是:reboot

Last modification:March 17th, 2019 at 04:16 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment