大数据主要解决海量数据(TB、PB或EB)的存储和海量数据的分析计算问题
大数据的特点:
- Volume(大量)
- Velocity(高速)
- Variety(多样)
- Value(低价值密度)
大数据部门组织结构
Hadoop
Apache基金会开发的分部式系统基础架构
- GFS ---> HDFS
- Map-Reduce ---> MR
- BigTable ---> HBase
Hadoop三大发行版本
- Apache:最基础的版本,对入门学习最好
- Cloudera:在大型互联网且企业中用的较多(CDH版)
- Hortonworks:文档较好
Hadoop1.x和Hadoop2.x的区别
HDFS
-
NameNode(nn)
:存储文件的元数据,例如:文件名、文件目录结构、文件属性(生成时间、副本数和文件权限等)和每个文件的块列表和块所在的DataNode等。 目录 -
DataNode(dn)
:在本地文件系统存储文件块数据,以及块数据的校验和。实实在在的数据 -
Secondary NameNode(2nn)
:用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。辅助nn工作的
YARN
-
ResourceManager(RM)
:所有节点资源的老大 -
NodeManager(NM)
:单个节点资源的老大
MapReduce
MapReduce
将计算过程分为两个阶段:Map
和Reduce
-
Map
阶段并行处理输入数据 -
Reduce
阶段对Map结果进行汇总
大数据技术生态体系
Hadoop安装
- 下载安装包:http://mirror.bit.edu.cn/apache/hadoop/common/(官网太慢,我在国内镜像下的,速度很快)
- 解压安装包,并配置环境变量
export HADOOP_HOME=/解压后的目录
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
Hadoop目录介绍
-
bin
:存放了hadoop、hdfs和yarn的管理命令 -
etc
:存放了各种配置文件 -
include
:其它文件的头文件 -
lib
:存放本地库 -
sbin
:存放了集群启动和停止的脚本 -
share
:存放说明文档和开发案例
Hadoop运行模式
Hadoop运行模式包括本地模式、伪分布模式和完全分布模式。
本地模式:Hadoop默认为单分布模式,是一个单独的java进程。本地模式适合于degugging。
伪分布式模式:所有的配置和完全分布式模式一致,只是有一台服务器。
WordCount案例
WrodCount是一个非常经典的案例,本意是统计单词的个数。在后续的开发中,任何有关统计的需求都可以借鉴该案例。
步骤:
- 在hadoop-x.x.x文件夹下创建一个wcinput文件夹
$ mkdir wcinput
- 在wcinput文件下创建一个wc.input文件
$ cd wcinput
$ touch wc.input
- 编辑wc.input文件
$ vim wc.input
输入任意内容(实例):
hadoop yarn
hadoop mapreduce
ubuntu
ubuntu
- 回到hadoop-x.x.x目录下
- 执行程序
$ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-x.x.x.jar wrodcount wcinput wcoutput
- 查看结果
$ cat wcoutput/part-r-0000
网友评论