热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

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

第1章大数据概论1.1大数据概念1.2大数据特点(4V)1.3大数据应用场景1.4大数据发展前景1.5大数据部门业务流程分析1.6大数据部门组织结构(重点)第2章从Hadoop框

第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-1 大数据概念

1.2 大数据特点(4V)

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

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

1.3 大数据应用场景

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

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

1.4 大数据发展前景

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

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

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

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

图1-17 大数据部门业务流程分析图1-17 大数据部门业务流程分析

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

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

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

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

2.1 Hadoop是什么

图2-1 Hadoop是什么图2-1 Hadoop是什么

2.2 Hadoop发展历史

图2-2 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-3 Hadoop1.x与Hadoop2.x的区别

2.5.1 HDFS架构概述

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

图2-4 HDFS架构概述图2-4 HDFS架构概述

2.5.2 YARN架构概述

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

图2-5 YARN架构概述图2-5 YARN架构概述

2.5.3 MapReduce架构概述

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

图2-6 MapReduce架构概述图2-6 MapReduce架构概述

2.6 大数据技术生态体系

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

图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推荐系统项目架构图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包、文档、和官方案例


推荐阅读
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了使用CentOS7.0 U盘刻录工具进行安装的详细步骤,包括使用USBWriter工具刻录ISO文件到USB驱动器、格式化USB磁盘、设置启动顺序等。通过本文的指导,用户可以轻松地使用U盘安装CentOS7.0操作系统。 ... [详细]
  • 近年来,大数据成为互联网世界的新宠儿,被列入阿里巴巴、谷歌等公司的战略规划中,也在政府报告中频繁提及。据《大数据人才报告》显示,目前全国大数据人才仅46万,未来3-5年将出现高达150万的人才缺口。根据领英报告,数据剖析人才供应指数最低,且跳槽速度最快。中国商业结合会数据剖析专业委员会统计显示,未来中国基础性数据剖析人才缺口将高达1400万。目前BAT企业中,60%以上的招聘职位都是针对大数据人才的。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • 在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的步骤和方法
    本文介绍了在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的详细步骤和方法。首先需要下载最新的Java SE Development Kit 9发行版,然后按照给出的Shell命令行方式进行安装。详细的步骤和方法请参考正文内容。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • 本文介绍了在Linux系统中设置文件ACL权限的方法和使用说明,包括在centos7.3和centos6.9中开启ACL权限的两种方法:在挂载时指定打开ACL权限和修改默认的属性信息。同时提供了对ACL权限的详细解释和应用场景。 ... [详细]
  • 本文介绍了在CentOS 6.4系统中更新源地址的方法,包括备份现有源文件、下载163源、修改文件名、更新列表和系统,并提供了相应的命令。 ... [详细]
  • Vagrant虚拟化工具的安装和使用教程
    本文介绍了Vagrant虚拟化工具的安装和使用教程。首先介绍了安装virtualBox和Vagrant的步骤。然后详细说明了Vagrant的安装和使用方法,包括如何检查安装是否成功。最后介绍了下载虚拟机镜像的步骤,以及Vagrant镜像网站的相关信息。 ... [详细]
  • Linux下安装依赖包版本高解决方法
    本文介绍了在Linux系统下,当已安装的依赖包版本高于需要安装的依赖包版本时,解决方法包括欺骗安装程序和修改相关配置文件等操作。针对不同情况,提供了不同的解决方案。 ... [详细]
author-avatar
素材火
优质网页素材http://www.sucaihuo.com/
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有