热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

篇首语:本文由编程笔记#小编为大家整理,主要介绍了大数据技术之_03_Hadoop学习_01_入门_大数据概论+从Hadoop框架讨论大数据生态+Hadoop运行环境搭建(开发重点)相关的知识,

篇首语:本文由编程笔记#小编为大家整理,主要介绍了大数据技术之_03_Hadoop学习_01_入门_大数据概论+从Hadoop框架讨论大数据生态+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.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权限,命令:[[email protected] ~]# vim /etc/sudoers
技术分享图片
至此准备工作完成!!!

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

[[email protected] opt]$ sudo mkdir module
[[email protected] opt]$ sudo mkdir software
[[email protected] opt]$ sudo rm -rf rh/

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

[[email protected] opt]$ sudo chown atguigu:atguigu modulesoftware/
[[email protected] 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软件:

[[email protected] opt]$ rpm -qa | grep java
或者
[[email protected] opt]$ rpm -qa | grep jdk

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

[[email protected] opt]$ sudo rpm -e --nodeps 软件包

(3)查看JDK安装路径:

[[email protected] ~]$ which java

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

[[email protected] opt]$ cd software/
[[email protected] 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目录下

[[email protected] software]$ tar -zxvf jdk-8u144-linux-x64.tar.gz -C /opt/module/

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

[[email protected] jdk1.8.0_144]$ pwd
/opt/module/jdk1.8.0_144

(2)打开/etc/profile文件

[[email protected] 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)让修改后的文件生效

[[email protected] jdk1.8.0_144]$ source /etc/profile

6、测试JDK是否安装成功

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

[[email protected] jdk1.8.0_144]$ sync
[[email protected] 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安装包路径下

[[email protected] ~]$ cd /opt/software/

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

[[email protected] software]$ tar -zxvf hadoop-2.7.2.tar.gz -C /opt/module/

4、查看是否解压成功

[[email protected] software]$ ls /opt/module/
hadoop-2.7.2

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

[[email protected] hadoop-2.7.2]$ pwd
/opt/module/hadoop-2.7.2

(2)打开/etc/profile文件

[[email protected] 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)让修改后的文件生效

[[email protected] hadoop101 hadoop-2.7.2]$ source /etc/profile

6、测试是否安装成功

[[email protected] hadoop-2.7.2]$ hadoop version
Hadoop 2.7.2

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

[[email protected] hadoop101 hadoop-2.7.2]$ sync
[[email protected] hadoop101 hadoop-2.7.2]$ sudo reboot

3.4 Hadoop目录结构

1、查看Hadoop目录结构

[[email protected] 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包、文档、和官方案例



推荐阅读
  • 流处理中的计数挑战与解决方案
    本文探讨了在流处理中进行计数的各种技术和挑战,并基于作者在2016年圣何塞举行的Hadoop World大会上的演讲进行了深入分析。文章不仅介绍了传统批处理和Lambda架构的局限性,还详细探讨了流处理架构的优势及其在现代大数据应用中的重要作用。 ... [详细]
  • 大数据领域的职业路径与角色解析
    本文将深入探讨大数据领域的各种职业和工作角色,帮助读者全面了解大数据行业的需求、市场趋势,以及从入门到高级专业人士的职业发展路径。文章还将详细介绍不同公司对大数据人才的需求,并解析各岗位的具体职责、所需技能和经验。 ... [详细]
  • Hadoop 2.6 主要由 HDFS 和 YARN 两大部分组成,其中 YARN 包含了运行在 ResourceManager 的 JVM 中的组件以及在 NodeManager 中运行的部分。本文深入探讨了 Hadoop 2.6 日志文件的解析方法,并详细介绍了 MapReduce 日志管理的最佳实践,旨在帮助用户更好地理解和优化日志处理流程,提高系统运维效率。 ... [详细]
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • Zookeeper作为Apache Hadoop生态系统中的一个重要组件,主要致力于解决分布式应用中的常见数据管理难题。它提供了统一的命名服务、状态同步服务以及集群管理功能,有效提升了分布式系统的可靠性和可维护性。此外,Zookeeper还支持配置管理和临时节点管理,进一步增强了其在复杂分布式环境中的应用价值。 ... [详细]
  • HBase在金融大数据迁移中的应用与挑战
    随着最后一台设备的下线,标志着超过10PB的HBase数据迁移项目顺利完成。目前,新的集群已在新机房稳定运行超过两个月,监控数据显示,新集群的查询响应时间显著降低,系统稳定性大幅提升。此外,数据消费的波动也变得更加平滑,整体性能得到了显著优化。 ... [详细]
  • 深入理解云计算与大数据技术
    本文详细探讨了云计算与大数据技术的关键知识点,包括大数据处理平台、社会网络大数据、城市大数据、工业大数据、教育大数据、数据开放与共享的应用,以及搜索引擎与Web挖掘、推荐技术的研究及应用。文章还涵盖了云计算的基础概念、特点和服务类型分类。 ... [详细]
  • 本文介绍了Hadoop的核心组件,包括高可靠性和高吞吐量的分布式文件系统HDFS、分布式的离线并行计算框架MapReduce、作业调度与集群资源管理框架YARN以及支持其他模块的工具模块Common。 ... [详细]
  • 本文详细介绍了 Spark 中的弹性分布式数据集(RDD)及其常见的操作方法,包括 union、intersection、cartesian、subtract、join、cogroup 等转换操作,以及 count、collect、reduce、take、foreach、first、saveAsTextFile 等行动操作。 ... [详细]
  • 本文介绍了如何使用Flume从Linux文件系统收集日志并存储到HDFS,然后通过MapReduce清洗数据,使用Hive进行数据分析,并最终通过Sqoop将结果导出到MySQL数据库。 ... [详细]
  • 构建高可用性Spark分布式集群:大数据环境下的最佳实践
    在构建高可用性的Spark分布式集群过程中,确保所有节点之间的无密码登录是至关重要的一步。通过在每个节点上生成SSH密钥对(使用 `ssh-keygen -t rsa` 命令并保持默认设置),可以实现这一目标。此外,还需将生成的公钥分发到所有节点的 `~/.ssh/authorized_keys` 文件中,以确保节点间的无缝通信。为了进一步提升集群的稳定性和性能,建议采用负载均衡和故障恢复机制,并定期进行系统监控和维护。 ... [详细]
  • 在Hive中合理配置Map和Reduce任务的数量对于优化不同场景下的性能至关重要。本文探讨了如何控制Hive任务中的Map数量,分析了当输入数据超过128MB时是否会自动拆分,以及Map数量是否越多越好的问题。通过实际案例和实验数据,本文提供了具体的配置建议,帮助用户在不同场景下实现最佳性能。 ... [详细]
  • 大数据深度解读系列官网资源分享 ... [详细]
  • hive和mysql的区别是什么[mysql教程]
    hive和mysql的区别有:1、查询语言不同,hive是hql语言,MySQL是sql语句;2、数据存储位置不同,hive把数据存储在hdfs上,MySQL把数据存储在自己的系统 ... [详细]
  • 安装hadoop2.9.2jdk1.8centos7
    安装JDK1.8查看JDK1.8的安装https:www.cnblogs.comTJ21p13208514.html安装hadoop上传hadoop下载hadoop地址http:m ... [详细]
author-avatar
圣友家具简章da
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有