大数据按照功能来划分:
海量数据存储:HDFS、HBASE数据库、hive
海量数据分析:MapReduce、spark、SQL
Hadoop起源:google的三篇论文
GFS -》开源版本 Hadoop HDFS
MapReduce -》Hadoop MapReduce
BigTable ->开源HBase
MapReduce的思想
分而治之
主要思想是将任务分解然后在多台处理能力较弱的计算节点中同时处理,然后将结果合并从而完成大数据处理。
hadoop 1.X:
Common
HDFS
MapReduce
Hadoop 2.X 4个组件:
Common
HDFS
YARN
MapReduce
hadoop介绍:
大数据绝大多数框架,都是Apache顶级项目
Hadoop官网:
hadoop.apache.org
分布式:
相对于集中式
需要多台机器,协调完成任务
架构:
主节点Master
老大,管理者
从节点slave
从节点,从属,奴隶,被管理者
HDFS:Hadoop Distributed File System
主节点:nameNode
一个,活跃的一个(active),有一个备胎(standby)
作用:决定数据存储到那个DataNode上
从节点:DataNode --多个
作用:存储数据,管理数据
MapReduce:
分而治之
将海量的数据划分为多部分,对每一部分进行单独的处理,
最后对处理的结果进行合并
- map map task
单独处理每一部分的数据,
对于Java oop,就是对应一个方法
- rdudce reduce task
合并所有map taskd 结果
YARN:分布式资源管理框架
负责管理 集群各个机器的 资源(CPU、memory),
并且合理调度分配给各个程序使用(MapReduce程序)
主节点:ResourceManager
作用:管理集群的资源
从节点:NadeManager
作用:管理当前NadeManager所在的节点
总结:
Hadoop框架的安装部署,
都是属于JAVA进程,启动了JVM进程,运行服务
Hdfs:存储数据,为分析提供数据
NameNode/dataNode
Yarn:提供程序运行的资源
ResouceManager/NodeManager
安装前的准备
伪分布式安装
在一台机器上安装上述所说的HDFS、YARN所有进程
规划linux系统目录结构
(1)/opt
/datas:测试数据
/modules:软件安装目录
/tools:开发工具IDE
/software:存放软件包
(2)将上述目录的所属者和所有者改成huadian
chown huadian:huadian datas
chown huadian:huadian modules
chown huadian:huadian tools
chown huadian:huadian software
安装JDK:
(1)卸载系统自带JDK
查看:sudo rpm -qa |grep java
卸载:
sudo rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.x86_64 tzdata-java-2012j-1.el6.noarch java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.x86_64
(2)linux系统自带上传下载软件
安装:sudo yum install -y lrzsz
...看到Complete表示成功
上传:rz
下载:sz
(3)JDK安装
a、使用rz上传到software
b、解压
tar -zxvf jdk-8u91-linux-x64.tar.gz -C /opt/modules/
c、配置系统环境变量
sudo vi /etc/profile
追加
#JAVA_HOME
export JAVA_HOME=/opt/modules/jdk1.8.0_91
export PATH=${PATH}:${JAVA_HOME}/bin
d、使其生效
source /etc/profile
e、验证
java -version
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)