大数据之Hadoop2.0入门
1.大数据概念介绍
大数据特性与应用
-
特性:多,快,繁;
-
大数据起源于社交网络,发展于电商平台,
-
大数据的特征:快速的数据流转(Velocity),多样的数据类型(Variety),海量的数据规模(Volume),发现数据价值(Value)。
-
- Volume:数据量大 TB,PB
- Variety:数据多种多样,
- Veracity:真实性,数据的准确性和可信赖度比较高
- Velocity:数据处理熟读快
- Value:数据的价值密度低
-
大数据应用分析
-
- 统计—数据仓库(面向主题)
- 个性化推荐
- 机器学习,图形计算
- 人工智能
-
需要的基础:Java,SQL,Linux,Hadoop,Spark,Zookeeper,Hive,Storm,HBase。
-
起源:Google三大论文,
Google三大论文 | Hadoop |
---|---|
GFS | HDFS |
Mapreduce | Mapreduce |
BigTable | HBase(NoSQL) |
2.企业大数据平台架构
大数据平台架构概述
ETL,Extraction-Transformation-Loading的缩写,中文名为数据抽取、转换和加载。ETL负责将分布的、异构数据源中的数据如关系数据、平面数据文件等抽取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘的基础。ETL是BI项目最重要的一个环节,通常情况下ETL会花掉整个项目的1/3的时间,ETL设计的好坏直接关接到BI项目的成败。ETL也是一个长期的过程,只有不断的发现问题并解决问题,才能使ETL运行效率更高,为项目后期开发提供准确的数据。
数据来源:
- 企业内部:1. 日志记录:Nginx,Apache,Hadoop;2.关系型数据库:MySql,Oracle;
- 外部渠道:1.爬虫:Python数据爬取,Java数据爬取;2.用户行为数据:搜索记录,消费记录,API(网站埋点技术:jssdk,javasdk);
3.Hadoop2.0概述
- 存储海量数据;
- 快速处理海量数据;
- 从海量数据中进行分析以产生价值。
Hadoop的三大发行版本:
- apache:软件下载仓库:archive.apache.org/dist/
- cdh
- hdp
Apache™Hadoop®项目为可靠的、可伸缩的分布式计算开发开源软件。
Apache Hadoop软件库是一个Java框架,它允许使用简单的编程模型跨计算机集群分布式处理大型数据集。它被设计成从单个服务器扩展到数千台机器,每台机器都提供本地计算和存储。库本身不是依赖硬件来提供高可用性,而是设计用于在应用程序层检测和处理故障,因此在计算机集群之上提供高可用性服务,而集群中的每台计算机都可能容易发生故障。
由大量廉价的计算机组成的集群运行海量数据的分布式并行计算框架。它可以让应用程序支持上千个节点和PB级别数据。
由分布式文件存储系统hdfs,分布式并行计算模式Mapreduce,yarn组成
项目包括这些模块:
- Hadoop Common: 支持其他Hadoop模块的公共实用程序,公共模块(支持Hadoop生态圈其他模块的公共工具,包括hdfs,rpc和序列化库 API).
- Hadoop Distributed File System (HDFS™): 存储数据,提供对应用程序数据的高吞吐量访问的分布式文件系统.
- Hadoop YARN:作业调度和集群资源管理框架,一个全局的工作调度与资源分配.
- Hadoop MapReduce:基于YARN的分布式并行计算框架.
- Hadoop Ozone: An object store for Hadoop.
- Hadoop Submarine: A machine learning engine for Hadoop.
并行:
分布式:把一个业务拆分成多个子业务,部署在多个服务器上。分开的分散的部署或者布置多个不同功能组成一个完整系统,不同的功能或组件搭建或部署在不同节点上。分布式在大型业务系统中使用。
4.Hadoop实验环境搭建部署于测试
Hadoop单节点安装的启动模式:
- Local (Standalone) Mode:单机模式,所有程序都在单个jvm上运行,测试用;
- Pseudo-Distributed Mode:伪分布式,所有的守护进程都在一台机器上
- Fully-Distributed Mode:完全分布式,只有一个主节点
-
- HA:主节点崩溃,系统将完全不可用
- 联盟:
Hadoop伪分布式的安装
禁用防火墙和Selinux
vi /etc/selinux/config
#--------------------------------------------------------------------------------------------------
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
#--------------------------------------------------------------------------------------------------
#重启后将永久关闭Selinux
#查看Selinux状态
sestatus -v
#禁用防火墙
service iptables stop
chkconfig iptables off
Hadoop下载地址:http://mirror.bit.edu.cn/apache/hadoop/common/
(1)前期准备工作
修改主机名,映射,网络防火墙安全子系统
卸载系统原有jdk,安装jdk
在opt目录下新建两个文件夹:
-
modules:用来存放安装包的解压文件;
-
software:用来存放安装包的压缩文件。
-
mkdir modules mkdir software
-
在modules下新建两个文件夹:
-
apache:存放apache软件包
-
cdh:存放cdh软件包
-
mkdir apache cdh
-
把jdk安装包解压到/opt/modules
-
tar -zxf jdk-7u67-linux-x64.tar.gz -C /opt/modules/
-
把Hadoop的安装包解压到/opt/modules/apache/下
-
tar -zxf hadoop-2.7.3.tar.gz -C /opt/modules/apache/
-
24 # The java implementation to use. 25 export JAVA_HOME=/usr/java/jdk1.8.0_211-amd64
-
16 export JAVA_HOME=/usr/java/jdk1.8.0_211-amd64
-
23 export JAVA_HOME=/usr/java/jdk1.8.0_211-amd64
-
配置core-site.xml
-
<configuration> <!--namenode(主节点)访问入口--> <property>