第一章.大数据概论

1.大数据概念

大数据(Big Data) : 指无法在一定时间范围内用常规软件工具进行捕捉,管理和处理的数据集合,是需要新处理模式才能具有更强的决策力,洞察发现力和流程优化能力的海量,高增长率和多样化的信息资产

主要解决海量数据的存储和海量数据的分析计算问题

按顺序给出数据存储单位: bit,Byte,KB,MB,GB,TB,PB,EB

2.大数据特点

  1. /*
  2. 1.volume(大量)
  3. 2.velocity(高速)
  4. 3.variety(多样)
  5. 4.value(低价值密度)
  6. /

3.大数据应用场景

  1. 物流仓储:大数据分析系统助力商家精细化经营,提升销量,节约成本.京东物流:上午下单下午送达,下午下单次日上午送达
  2. 零售:分析用户消费习惯,为用户购买商品提供方便,从而提升商品销量
  3. 旅游:深度结合大数据能力与旅游行业需求,共建旅游产业智慧管理,智慧服务和智慧营销的未来
  4. 商品广告推荐:给用户推荐可能喜欢的商品
  5. 保险:海量数据挖掘及风险预测,助力保险行业精准营销,提升精细化定价能力
  6. 金融:多维度体现用户特征,帮助金融机构推荐优质客户,防范欺诈风险
  7. 房产:大数据全面助力房地产行业,打造精准投策与营销,选出更合适的地,建造更合适的楼,卖给更合适的人
  8. 人工智能

第二章.Hadoop介绍

1.Hadoop是什么

  1. Hadoop是一个由Apache基金会所开发的分布式系统基础架构
  2. 主要解决海量数据的存储和分析计算问题
  3. 广义上来讲,Hadoop通常是指一个更广泛的概念—Hadoop生态圈
  4. 官网: http://hadoop.apache.org/

2.Hadoop三大发行版本

3.Hadoop的优势

  1. 高可靠性: Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失
  2. 高扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点
  3. 高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度
  4. 高容错性:能够自动将失败的任务重新分配

4.Hadoop的组成

$01[Hadoop入门(上)] - 图1

  1. /*
  2. 在Hadoop1.x 时代,Hadoop中的MapReduce同时处理业务逻辑运算和资源的调度,耦合性较大
  3. 在Hadoop2.x时代,增加了Yarn,Yarn只负责资源的调度,MapReduce只负责运算
  4. /

4.1.HDFS架构概述

  1. NameNode: 存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间,副本数,文件权限),以及每个文件的块列表和块所在的DateNode等
  2. DateNode:在本地文件系统存储文件块数据,以及块数据的校验和
  3. SecondaryNameNode:每隔一段时间对NameNode元数据备份

4.2.Yarn架构概述

$01[Hadoop入门(上)] - 图2

  1. ResourceManager(RM)主要作用如下:
  1. 处理客户端请求
  2. 监控NodeManager
  3. 启动或监控ApplicationMaster
  4. 资源的分配与调度
  1. NodeManager(NM)主要作用如下
  1. 管理单个节点上的资源
  2. 处理来自ResourceManager的命令
  3. 处理来自ApplicationMaster的命令
  1. ApplicationMaster(AM)作用如下
  1. 负责数据的切分
  2. 为应用程序申请资源并分配给内部的任务
  3. 任务的监控与容错
  1. Container

Container是YARN中的资源抽象,它封装了某个节点上的多维度资源,如内存,CPU,磁盘网络等

4.3.Mapreduce架构概述

MapReduce将计算过程分为两个阶段:Map和Reduce

  1. Map阶段并行处理输入数据
  2. Reduce阶段对Map结果进行汇总

$01[Hadoop入门(上)] - 图3

第三章.Hadoop运行环境搭建

1.虚拟机环境准备

  1. 先安装一台虚拟机(最小化安装)
  2. 配置ip地址

    1. vi /etc/sysconfig/network-scripts/ifcfg-ens33
    1. 将BOOTPROTO=dhcp 修改成BOOTPROTO=static
    2. 将ONBOOT=no修改成ONBOOT=yes
    3. 添加
    4. IPADDR=192.168.1 or 10(根据自己的设置).102
    5. GATEWAY=192.168.1 or 10(根据自己的设置).2
    6. DNS1=114.114.114.114
    7. 注意!!!!!!!单词别写错
    1. systemctl restart network
  3. 检查是否和Windows可以通信,如果可以使用xshell连接

  4. 安装插件

    1. yum install -y epel-release psmisc nc net-tools rsync vim lrzsz ntp libzstd openssl-static tree iotop git
  5. 修改hostname中的值,修改成hadoop001

    1. vi /etc/hostname
  6. 修改hosts文件(linux)

    1. vim /etc/hosts
#添加如下内容
192.168.10.102 hadoop102
192.168.10.103 hadoop103
192.168.10.104 hadoop104
192.168.10.105 hadoop105
192.168.10.106 hadoop106
  1. 修改hosts文件(Windows)

    C:\Windows\System32\drivers\etc
    
    #添加如下内容
    192.168.10.102 hadoop102
    192.168.10.103 hadoop103
    192.168.10.104 hadoop104
    192.168.10.105 hadoop105
    192.168.10.106 hadoop106
    
  2. 添加用户

    useradd atguigu #添加用户
    passwd atguigu #设置密码(321074)
    
  3. 让atguigu可以借用root权限

    (1)终端输入visudo
    (2)搜索"/root"并在下面添加如下内容
    atguigu ALL=(ALL)       NOPASSWD:ALL
    
  4. 在opt下创建两个目录

    mkdir /opt/software  #后面用来存放需要的软件包
    mkdir /opt/module   #后面用来存放需要使用的软件
    
  5. 将/opt/module和/opt/software的所属主和所属组全改成atguigu

    chown atguigu:atguigu /opt/module
    chown atguigu:atguigu /opt/software
    
  6. 将防火墙关掉

    systemctl stop firewalld  #关掉防火墙
    systemctl disable firewalld #禁止开机自启
    
  7. 重新用xshell进行连接,用atguigu登录

2.安装JDK和Hadoop

  1. 卸载原有JDK(没有可忽略)

    rpm -qa | grep -i java | xargs -n1 sudo rpm -e --nodeps
    
  2. 用文件上传工具(Xftp)将JDK和Hadoop的压缩文件导入到opt目录下的software文件夹下面

$01[Hadoop入门(上)] - 图4

  1. 分别将JDK和Hadoop的压缩文件解压到/opt/module目录下

    tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/
    tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/
    
  2. 配置环境变量

    #1.新建/etc/profile.d/my_env.sh文件
    sudo vim /etc/profile.d/my_env.sh
    #2.添加如下内容
    #JAVA_HOME
    export JAVA_HOME=/opt/module/jdk1.8.0_212
    #HADOOP_HOME
    export HADOOP_HOME=/opt/module/hadoop-3.1.3
    export PATH=$PATH:$JAVA_HOME/bin
    export PATH=$PATH:$HADOOP_HOME/bin
    export PATH=$PATH:$HADOOP_HOME/sbin
    
  3. 保存后退出 :wq

  4. 让修改后的文件生效

    source /etc/profile.d/my_env.sh
    
  5. 测试安装是否成功

    java -version
    hadoop version