大数据处理及时Hadoop
一、Hadoop简介
Hadoop是apache下的一个开源分布式计算平台,为用户提供了系统底层透明的分布式基础架构。Hadoop是Java语言开发,具有很好的跨平台特性,其核心是分布式文件系统HDFS(Hadoop Distributed File System)和MapReduce。
Hadoop是一个能够对大量数据进行分布式处理的软件框架,并且提供一个高可靠、高效、可伸缩的方式进行处理,具有的特点是:
高可靠性
高效性
高扩展性
高容错性
低成本
支持多语言
运行在Linux上
二、Hadoop的应用现状
1、大数据在企业中最主要的应用是:数据分析、数据实时查询和数据挖掘。
2、Hadoop的版本
Hadoop版本分为两代,第一代版本分别是0.20.x,0.21.x和0.22.x,其中0.20.x最终演化成1.0.x;第二代包含两个版本,分别是0.23.x和2.x,他们是完全不同于Hadoop1.0的,是一套全新的架构,均包含HDFS Fedreation和YARN两个系统,2.x还增加了NameNode HA 和Write-compatibility两大特性。YARN框架主要管理系统资源的,所以二代的Hadoop中MapReduce只是做数据处理的,资源调度交给了YARN。Hadoop的不同分支:
Apache Hadoop
Hortonworks
Cloudera
MapR
星环
三、Hadoop的项目结构
四、安装Hadoop
包括步骤:
创建Hadoop用户
SSH登录权限设置。因为NameNode需要启动集群中所有机器的Hadoop守护进程,这个过程通过SSH登录来实现。
安装Java环境。
下载Hadoop安装文件
Hadoop默认为非分布式模式,无需进行其他配置就可运行。而位分布式的Hadoop是分离Java进程来实现的。
hadoop fs 适用于任何不同的文件系统
hadoop dfs 只是用于HDFS文件系统
hdfs dfs 只是用于HDFS系统
五、hsdoop集群的部署和使用
hadoop集群中的节点:
NameNode:负责协调集群中的数据存储
DataNode:存储被拆分的数据块
JobTracker:协调数据计算任务
TaskTracker:负责执行由JobTracker指派的任务
SecondaryNameNode:帮助NameNode收集文件系统的运行状态信息。