码迷,mamicode.com
首页 > 其他好文 > 详细

大数据技术之_03_Hadoop学习_01_入门_大数据概论+从Hadoop框架讨论大数据生态+Hadoop运行环境搭建(开发重点)

时间:2019-01-29 20:33:45      阅读:228      评论:0      收藏:0      [点我收藏+]

标签:pre   业务流程   智能   lib   面试   旅游   rgba   关系数据库   deletion   

第1章 大数据概论1.1 大数据概念1.2 大数据特点(4V)1.3 大数据应用场景1.4 大数据发展前景1.5 大数据部门业务流程分析1.6 大数据部门组织结构(重点)第2章 从Hadoop框架讨论大数据生态2.1 Hadoop是什么2.2 Hadoop发展历史2.3 Hadoop三大发行版本2.4 Hadoop的优势(4高)2.5 Hadoop组成(面试重点)2.5.1 HDFS架构概述2.5.2 YARN架构概述2.5.3 MapReduce架构概述2.6 大数据技术生态体系2.7 推荐系统框架图第3章 Hadoop运行环境搭建(开发重点)3.1 虚拟机环境准备3.2 安装JDK3.3 安装Hadoop3.4 Hadoop目录结构


第1章 大数据概论

1.1 大数据概念

大数据概念如图1-1 所示。

技术分享图片图1-1 大数据概念

1.2 大数据特点(4V)

大数据特点如图1-2,1-3,1-4,1-5所示:

技术分享图片图1-2 大数据特点之大量 技术分享图片图1-3 大数据特点之高速 技术分享图片图1-4 大数据特点之多样 技术分享图片图1-5 大数据特点之低价值密度

1.3 大数据应用场景

大数据应用场景如图1-6,1-7,1-8,1-9,1-10,1-11所示。

技术分享图片图1-6 大数据应用场景之物流仓储 技术分享图片图1-7 大数据应用场景之零售 技术分享图片图1-8 大数据应用场景之旅游 技术分享图片图1-9 大数据应用场景之商品广告推荐 技术分享图片图1-10 大数据应用场景之保险、金融及房产 技术分享图片图1-11 大数据应用场景人工智能

1.4 大数据发展前景

大数据发展前景如图1-12,1-13,1-14,1-15,1-16所示

技术分享图片图1-12 大数据发展前景之国家政策 技术分享图片图1-13 大数据发展前景之国际方面 技术分享图片图1-14 大数据发展前景之高校方面 技术分享图片图1-15 大数据发展前景之平均薪资 技术分享图片图1-16 大数据发展前景之整体薪资

1.5 大数据部门业务流程分析

大数据部门业务流程分析如图1-17所示。

技术分享图片图1-17 大数据部门业务流程分析

1.6 大数据部门组织结构(重点)

大数据部门组织结构,适用于大中型企业,如图1-18所示。

技术分享图片图1-18 大数据部门组织结构
补充:
企业数据部-组织架构图1:
技术分享图片图1-19 企业数据部-组织架构图1
企业数据部-组织架构图2:
技术分享图片图1-20 企业数据部-组织架构图2
阿里云-数加:
技术分享图片图1-21阿里云-数加

第2章 从Hadoop框架讨论大数据生态

2.1 Hadoop是什么

技术分享图片图2-1 Hadoop是什么

2.2 Hadoop发展历史

技术分享图片图2-2 Hadoop发展历史 技术分享图片图2-2 Hadoop发展历史

2.3 Hadoop三大发行版本

  • Hadoop(哈道普)三大发行版本:Apache、Cloudera、Hortonworks。
      Apache版本最原始(最基础)的版本,对于入门学习最好。
      Cloudera在大型互联网企业中用的较多。(简称:CDH版,收费)
      Hortonworks文档较好。

  • 1、Apache Hadoop
    官网地址:http://hadoop.apache.org/releases.html
    下载地址:https://archive.apache.org/dist/hadoop/common/

  • 2、Cloudera Hadoop
    官网地址:https://www.cloudera.com/downloads/cdh/5-10-0.html
    下载地址:http://archive-primary.cloudera.com/cdh5/cdh/5/

    • (1)2008年成立的Cloudera是最早将Hadoop商用的公司,为合作伙伴提供Hadoop的商用解决方案,主要是包括支持、咨询服务、培训。
    • (2)2009年Hadoop的创始人Doug Cutting也加盟Cloudera公司。Cloudera产品主要为CDH,Cloudera Manager,Cloudera Support。
    • (3)CDH是Cloudera的Hadoop发行版,完全开源,比Apache Hadoop在兼容性,安全性,稳定性上有所增强。
    • (4)Cloudera Manager是集群的软件分发及管理监控平台,可以在几个小时内部署好一个Hadoop集群,并对集群的节点及服务进行实时监控。Cloudera Support即是对Hadoop的技术支持。
    • (5)Cloudera的标价为每年每个节点4000美元。Cloudera开发并贡献了可实时处理大数据的Impala项目。
  • 3、Hortonworks Hadoop
    官网地址:https://hortonworks.com/products/data-center/hdp/
    下载地址:https://hortonworks.com/downloads/#data-platform

    • (1)2011年成立的Hortonworks是雅虎与硅谷风投公司Benchmark Capital合资组建。
    • (2)公司成立之初就吸纳了大约25名至30名专门研究Hadoop的雅虎工程师,上述工程师均在2005年开始协助雅虎开发Hadoop,贡献了Hadoop80%的代码。
    • (3)雅虎工程副总裁、雅虎Hadoop开发团队负责人Eric Baldeschwieler出任Hortonworks的首席执行官。
    • (4)Hortonworks的主打产品是Hortonworks Data Platform(HDP),也同样是100%开源的产品,HDP除常见的项目外还包括了Ambari,一款开源的安装和管理系统。
    • (5)HCatalog,一个元数据管理系统,HCatalog现已集成到Facebook开源的Hive中。Hortonworks的Stinger开创性的极大的优化了Hive项目。Hortonworks为入门提供了一个非常好的,易于使用的沙盒。
    • (6)Hortonworks开发了很多增强特性并提交至核心主干,这使得Apache Hadoop能够在包括Window Server和Windows Azure在内的Microsoft Windows平台上本地运行。定价以集群为基础,每10个节点每年为12500美元。

2.4 Hadoop的优势(4高)

技术分享图片

2.5 Hadoop组成(面试重点)

技术分享图片图2-3 Hadoop1.x与Hadoop2.x的区别

2.5.1 HDFS架构概述

HDFS(Hadoop Distributed File System)的架构概述,如图2-4所示。

技术分享图片图2-4 HDFS架构概述

2.5.2 YARN架构概述

YARN架构概述,如图2-5所示。

技术分享图片图2-5 YARN架构概述

2.5.3 MapReduce架构概述

MapReduce将计算过程分为两个阶段:Map和Reduce,如图2-6所示。
1)Map阶段并行处理输入数据
2)Reduce阶段对Map结果进行汇总

技术分享图片图2-6 MapReduce架构概述

2.6 大数据技术生态体系

大数据技术生态体系如图2-7所示。

技术分享图片图2-7 大数据技术生态体系

图中涉及的技术名词解释如下:
1)Sqoop:Sqoop(斯库伯)是一款开源的工具,主要用于在Hadoop、Hive与传统的数据库(MySql)间进行数据的传递,可以将一个关系型数据库(例如 :MySQL,Oracle等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
2)Flume:Flume(弗鲁姆)是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。
3)Kafka:Kafka是一种高吞吐量的分布式发布订阅消息系统,有如下特性:
  (1)通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。
  (2)高吞吐量:即使是非常普通的硬件Kafka也可以支持每秒数百万的消息。
  (3)支持通过Kafka服务器和消费机集群来分区消息。
  (4)支持Hadoop并行数据加载。
4)Storm:Storm用于“连续计算”,对数据流做连续查询,在计算时就将结果以流的形式输出给用户。
5)Spark:Spark是当前最流行的开源大数据内存计算框架。可以基于Hadoop上存储的大数据进行计算。
6)Oozie:Oozie是一个管理Hdoop作业(job)的工作流程调度管理系统。
7)Hbase:HBase是一个分布式的、面向列的开源数据库。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。
8)Hive:Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
10)R语言:R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。
11)Mahout:Apache Mahout(麦浩特)是个可扩展的机器学习和数据挖掘库。
12)ZooKeeper:Zookeeper是Google的Chubby一个开源的实现。它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、 分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

2.7 推荐系统框架图

推荐系统项目架构如图2-8所示。

技术分享图片图2-8推荐系统项目架构

第3章 Hadoop运行环境搭建(开发重点)

3.1 虚拟机环境准备

演示以CentOS6X为例:
1、完整克隆虚拟机或者复制虚拟机均可
  (注意:完整克隆虚拟机和复制虚拟机文件的区别:二者没什么区别,本质一样。只是在开机的时候,复制的虚拟机需要选择【我已复制该虚拟机】)
2、修改虚拟机的静态IP
  (注意:复制的虚拟机会新生成一张网卡,即虚拟出一张网卡:eth1,我们可以使用该网卡,也可以不使用而继续使用eth0,但是需要配置,即修改MAC地址即可。虚拟技术的精髓!
3、修改主机名
  (配置Linux系统中ip地址与主机名映射,还需要配置Windows系统中Linux的ip地址与主机名映射,这样为了方便后续操作。注意:CentOS6X和CenOS7X的主机名配置的区别)
4、永久关闭防火墙
  (实际开发中不建议永久关闭防火墙,需要使用什么端口,开放即可。注意:CentOS6X和CenOS7X的防火墙配置的区别)
5、创建atguigu用户
  (注意:创建用户后要及时设置用户密码,这是一个好习惯!)
6、配置atguigu用户具有root权限
  (并非所有用户都能够执行sudo,因为有权限的用户需要在/etc/sudoers中进行配置后才可以使用,注意:sudoers的权限是0440,即只有root才能读。在你用root或sudo编辑后强行保存并退出(wq!)即可。)

以上六步骤完成后,建议重启虚拟机。
步骤如下:
完整克隆虚拟机

技术分享图片
 
技术分享图片
 
技术分享图片
 
技术分享图片
 
技术分享图片
 
技术分享图片

打开克隆的虚拟机,进行如下配置:
修改虚拟机的静态IP

技术分享图片
 
技术分享图片
 
技术分享图片
 
技术分享图片

修改主机名

技术分享图片
 
技术分享图片
 
技术分享图片

永久关闭防火墙

技术分享图片

重启虚拟机,测试一下,是否以上配置成功,没有问题

技术分享图片
 
技术分享图片

配置成功后,我们使用远程终端链接上Linux,进行以下操作:

技术分享图片
创建atguigu用户并设置用户密码,已创建,简单,不在赘图!
配置atguigu用户具有root权限,命令:[root@hadoop101 ~]# vim /etc/sudoers
技术分享图片
至此准备工作完成!!!

7、在/opt/目录下创建文件夹
(1)在/opt目录下创建module、software文件夹,由于rh是空文件夹,我们将其删除掉,这样清爽!

[atguigu@hadoop101 opt]$ sudo mkdir module
[atguigu@hadoop101 opt]$ sudo mkdir software
[atguigu@hadoop101 opt]$ sudo rm -rf rh/

(2)修改module、software文件夹的所有者和所在组为atguigu

[atguigu@hadoop101 opt]$ sudo chown atguigu:atguigu modulesoftware/
[atguigu@hadoop101 opt]$ ll
总用量 8
drwxr-xr-x. 2 atguigu atguigu 4096 1月  17 14:37 module
drwxr-xr-x. 2 atguigu atguigu 4096 1月  17 14:38 software

如下图所示:

技术分享图片

3.2 安装JDK

1、卸载现有JDK
(1)查询是否安装Java软件:

[atguigu@hadoop101 opt]$ rpm -qa | grep java
或者
[atguigu@hadoop101 opt]$ rpm -qa | grep jdk

(2)如果安装的版本低于1.7,卸载该JDK:

[atguigu@hadoop101 opt]$ sudo rpm -e --nodeps 软件包

(3)查看JDK安装路径:

[atguigu@hadoop101 ~]$ which java

2、用SecureCRT工具或者Xshell6将JDK导入到opt目录下面的software文件夹下面。
3、在Linux系统下的opt目录中查看软件包是否导入成功

[atguigu@hadoop101 opt]$ cd software/
[atguigu@hadoop101 software]$ ll
总用量 374196
-rw-r--r--. 1 root root 197657687 1月  29 17:10 hadoop-2.7.2.tar.gz
-rw-r--r--. 1 root root 185515842 1月  29 17:10 jdk-8u144-linux-x64.tar.gz

4、解压JDK到/opt/module目录下

[atguigu@hadoop101 software]$ tar -zxvf jdk-8u144-linux-x64.tar.gz -C /opt/module/

5、配置JDK环境变量
(1)先获取JDK路径

[atguigu@hadoop101 jdk1.8.0_144]$ pwd
/opt/module/jdk1.8.0_144

(2)打开/etc/profile文件

[atguigu@hadoop101 software]$ sudo vim /etc/profile
在profile文件末尾添加JDK路径(Shift+G),有两种格式:
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin

或者

#JAVA_HOME
JAVA_HOME=/opt/module/jdk1.8.0_144
JRE_HOME=/opt/module/jdk1.8.0_144/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH

(3)保存后退出

:wq

(4)让修改后的文件生效

[atguigu@hadoop101 jdk1.8.0_144]$ source /etc/profile

6、测试JDK是否安装成功

[atguigu@hadoop101 jdk1.8.0_144]# java -version
java version "1.8.0_144"
注意:重启(如果java -version可以用就不用重启)

[atguigu@hadoop101 jdk1.8.0_144]$ sync
[atguigu@hadoop101 jdk1.8.0_144]$ sudo reboot

3.3 安装Hadoop

0、Hadoop下载地址:
  https://archive.apache.org/dist/hadoop/common/hadoop-2.7.2/
1、用SecureCRT工具将hadoop-2.7.2.tar.gz导入到opt目录下面的software文件夹下面
切换到sftp连接页面,选择Linux下编译的hadoop jar包拖入。
2、进入到Hadoop安装包路径下

[atguigu@hadoop101 ~]$ cd /opt/software/

3、解压安装文件到/opt/module下面

[atguigu@hadoop101 software]$ tar -zxvf hadoop-2.7.2.tar.gz -C /opt/module/

4、查看是否解压成功

[atguigu@hadoop101 software]$ ls /opt/module/
hadoop-2.7.2

5、将Hadoop添加到环境变量
(1)获取Hadoop安装路径

[atguigu@hadoop101 hadoop-2.7.2]$ pwd
/opt/module/hadoop-2.7.2

(2)打开/etc/profile文件

[atguigu@hadoop101 hadoop-2.7.2]$ sudo vim /etc/profile
在profile文件末尾添加JDK路径:(shitf+g)

#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

(3)保存后退出

:wq

(4)让修改后的文件生效

[atguigu@ hadoop101 hadoop-2.7.2]$ source /etc/profile

6、测试是否安装成功

[atguigu@hadoop101 hadoop-2.7.2]$ hadoop version
Hadoop 2.7.2

7、重启(如果Hadoop命令不能用再重启)

[atguigu@ hadoop101 hadoop-2.7.2]$ sync
[atguigu@ hadoop101 hadoop-2.7.2]$ sudo reboot

3.4 Hadoop目录结构

1、查看Hadoop目录结构

[atguigu@hadoop101 hadoop-2.7.2]$ ll
总用量 52
drwxr-xr-x. 2 atguigu atguigu  4096 5月  22 2017 bin
drwxr-xr-x. 3 atguigu atguigu  4096 5月  22 2017 etc
drwxr-xr-x. 2 atguigu atguigu  4096 5月  22 2017 include
drwxr-xr-x. 3 atguigu atguigu  4096 5月  22 2017 lib
drwxr-xr-x. 2 atguigu atguigu  4096 5月  22 2017 libexec
-rw-r--r--. 1 atguigu atguigu 15429 5月  22 2017 LICENSE.txt
-rw-r--r--. 1 atguigu atguigu   101 5月  22 2017 NOTICE.txt
-rw-r--r--. 1 atguigu atguigu  1366 5月  22 2017 README.txt
drwxr-xr-x. 2 atguigu atguigu  4096 5月  22 2017 sbin
drwxr-xr-x. 4 atguigu atguigu  4096 5月  22 2017 share

2、重要目录
(1)bin目录:存放对Hadoop相关服务(HDFS,YARN,Hadoop)进行操作的脚本
(2)etc目录:Hadoop的配置文件目录,存放Hadoop的配置文件
(3)lib目录:存放Hadoop的本地库(对数据进行压缩解压缩功能)
(4)sbin目录:存放启动或停止Hadoop相关服务的脚本
(5)share目录:存放Hadoop的依赖jar包、文档、和官方案例

大数据技术之_03_Hadoop学习_01_入门_大数据概论+从Hadoop框架讨论大数据生态+Hadoop运行环境搭建(开发重点)

标签:pre   业务流程   智能   lib   面试   旅游   rgba   关系数据库   deletion   

原文地址:https://www.cnblogs.com/chenmingjun/p/10335265.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!