大数据基础之Hadoop和Spark

大数据基础

第一节:什么是大数据,本质?
    (1)数据的存储:分布式文件系统(分布式存储)    
    (2)数据的计算:分布式计算

第二节:JAVA和大数据是什么关系?
    1、HADOOP:基于JAVA语言开发
    2、SPARK: 基于SCALA语言,SCALA基于JAVA语言

第三节:学习大数据需要的基础和路线
    1、学习大数据需要的基础:JAVA基础(JAVASE)---> 类、继承、I/O、反射、泛型*****
                             LINUX基础(LINUX的操作)  ---> 创建文件、目录、VI编辑器***
                             
    2、学习路线:
        (1)JAVA基础和LINUX基础
        (2)HADOOP的学习:体系结构、原理、编程
                (*)第一阶段:HDFS、MAPREDUCE、HBASE(NOSQL数据库)
                (*)第二阶段:数据分析引擎 ---> HIVE、PIG
                               数据采集引擎 ---> SQOOP、FLUME
                (*)第三阶段:HUE:WEB管理工具
                               ZOOKEEPER:实现HADOOP的HA
                               OOZIE:    工作流引擎
        (3)SPARK的学习
                (*)第一个阶段:SCALA编程语言
                (*)第二个阶段:SPARK CORE-----> 基于内存,数据的计算
                (*)第三个阶段:SPARK SQL -----> 类似ORACLE中的SQL语句
                (*)第四个阶段:SPARK STREAMING ---> 进行实时计算(流式计算):比如:自来水厂
                
        (4)APACHE STORM:类似SPARK STREAMING ---> 进行实时计算(流式计算):比如:自来水厂
                (*)NOSQL:REDIS基于内存的数据库

Hadoop背景起源一 HDFS

一、什么是大数据,本质?
    (1)数据的存储:分布式文件系统(分布式存储)-----> HDFS: Hadoop Distributed File System
    (2)数据的计算:分布式计算
    
二、如何解决大数据的存储?----> 分布式文件系统(HDFS,来源于GFS)
    举例:网盘
    (1) GFS: 没有硬盘的,数据只能存在内存中
    (2) Hadoop的安装模式
        (*)本地模式  :1台
        (*)伪分布模式:1台
        (*)全分布模式:3台
HDFS存储介绍

Hadoop背景起源二 MapReduce

一、如何解决大数据的计算?分布式计算
    (1)什么是PageRank(MapReduce的问题的来源)
        (*) 搜索排名
    
    (2)MapReduce(Java语言实现)基础编程模型: 把一个大任务拆分成小任务,再进行汇总
        (*) 更简单一点例子
MapReduce模型

Hadoop背景起源三 BigTable

第一节:关系型数据库(Oracle、MySQL、SQL Server)的特点
1、什么是关系型数据库?基于关系模型(基于二维表)所提出的一种数据库
2、ER(Entity-Relationalship)模型:通过增加外键来减少数据的冗余
3、举例:学生-系

第二节:什么是BigTable?: 把所有的数据保存到一张表中,采用冗余 ---> 好处:提高效率
1、因为有了bigtable的思想:NoSQL:HBase数据库
2、HBase基于Hadoop的HDFS的
3、描述HBase的表结构
关系型数据库描述
HBase描述

Hadoop安装

准备实验的环境:
1、安装Linux、JDK
2、配置主机名、免密码登录
3、约定:安装目录:/root/training

安装:
1、解压 : tar -zxvf hadoop-2.4.1.tar.gz -C /root/training/
2、设置环境变量: vi ~/.bash_profile
        HADOOP_HOME=/root/training/hadoop-2.4.1
        export HADOOP_HOME

        PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
        export PATH
        
    生效环境变量: source ~/.bash_profile

第一节:Hadoop的目录结构

第二节:Hadoop的本地模式
    1、特点:不具备HDFS,只能测试MapReduce程序
    2、修改hadoop-env.sh
    
       修改第27行:export JAVA_HOME=/root/training/jdk1.7.0_75
       
    3、演示Demo: $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.4.1.jar
        命令:hadoop jar hadoop-mapreduce-examples-2.4.1.jar wordcount /root/data/input/data.txt  /root/data/output/wc
        日志:17/08/04 23:28:38 INFO mapreduce.Job:  map 100% reduce 100%
    
        注意:MR有一个默认的排序规则

第三节:Hadoop的伪分布模式
    1、特点:具备Hadoop的所有功能,在单机上模拟一个分布式的环境
             (1)HDFS:主:NameNode,数据节点:DataNode
             (2)Yarn:容器,运行MapReduce程序
                        主节点:ResourceManager
                        从节点:NodeManager
                        
    2、步骤:
    (1)hdfs-site.xml
        
        
          dfs.replication
          1
        

        
        
          dfs.permissions
          false
         

    (2)core-site.xml
        
        
          fs.defaultFS
          hdfs://192.168.88.11:9000
        

        
        
          hadoop.tmp.dir
          /root/training/hadoop-2.4.1/tmp
             
        
        
    (3) mapred-site.xml
        
        
          mapreduce.framework.name
          yarn
             
        
    (4) yarn-site.xml
        
        
          yarn.resourcemanager.hostname
          192.168.88.11
        

        
        
          yarn.nodemanager.aux-services
          mapreduce_shuffle
             
        
    (5) 格式化NameNode
        hdfs namenode -format
        日志:Storage directory /root/training/hadoop-2.4.1/tmp/dfs/name has been successfully formatted.
        
        
    (6) 启动:start-all.sh
               (*) HDFS: 存储数据
               (*) Yarn:执行计算
               
    (7) 访问:(*)命令行
              (*)Java API
              (*)Web Console:
                    HDFS:http://192.168.88.11:50070
                    Yarn:http://192.168.88.11:8088
本地模式配置
伪分布模式配置
Hadoop的目录结构.png

你可能感兴趣的:(大数据基础之Hadoop和Spark)