Hadoop环境安装及HDFS初步使用

一、Hadoop原理

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统( Distributed File System),其中一个组件是HDFS(Hadoop Distributed File System)。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算

Hadoop是一个能够让用户轻松架构和使用的分布式计算平台。用户可以轻松地在Hadoop上开发和运行处理海量数据的应用程序。它主要有以下几个优点:

1.高可靠性。Hadoop按位存储和处理数据的能力值得人们信赖。

2.高扩展性。Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。

3.高效性。Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。

4.高容错性。Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。

5.低成本。与商用数据仓库等数据集市相比,hadoop是开源的,项目的软件成本因此会大大降低。

Hadoop带有用Java语言编写的框架,因此运行在 Linux 生产平台上是非常理想的。Hadoop 上的应用程序也可以使用其他语言编写,比如 C++。

HDFS — — Hadoop 分布式文件系统是世界上最可靠的存储系统,HDFS 文件系统被设计用于海量文件存储,其优点是存储大文件而不是大量的小文件HDFS 容错存储层还提供对 Hadoop 和其它元件的支持,HDFS 的数据复制将帮助我们实现这一特征,它能可靠地存储数据,并且几乎不受硬件故障的影响;HDFS提供高吞吐量数据访问应用程序,提供数据的并行访问。

Hadoop是建立在master-slave关系上 , HDFS 同样有 2 种类型的节点 ,集群中包含NameNode 和 DataNode。

NameNode负责调度客户端的访问,管理从属节点以及将任务指派给它们,NameNode 执行文件系统的 Namespace 操作 , 例如:打开、关闭、重命名文件和目录。NameNode应当部署在相对可靠的硬件环境中。

DataNode数据节点在 Hadoop 分布式文件系统里管理存储的数据,slave (数量 N 可高达 1000)执行节点到节点间的任务和服务的读写请求,还执行来自于NameNode节点的建立、删除、复制指令,一旦一个块被写入 DataNode , 将复制至其他 DataNode 并且继续执行,直到所配置副本的数量。DataNode节点可以部署在廉价的硬件上,并且不需要非常可靠的硬件环境。

HDFS 的进程运行在以下节点上 :

NameNode: 运行在所有的Master上,用来存放元数据,如文件名存储 、块的数量、副本的数量、位置块、块 ID 等,为了使用的可持续性,本地磁盘中还存放元数据副本,这种元数据放在内存中可更快速地检索数据,所以NameNode机器应该配置较高的内存。

DataNode :运行在所有的DataNode上,这些是存储数据的实际工作节点。

当任何文件被写入到 HDFS 中时 , 将被分成小块 , 称为块数据,默认块的大小为128 MB,可以根据要求增加。

这些块以分布式方式存储在集群的不同节点上,这为 Mapreduce 提供了一种在群集中并行处理数据的机制。

每个块的多个副本存储在不同节点上的群集中。

这就是数据的复制,默认情况下, HDFS 复制数量为3。它提供容错、可靠性和高可用性,大文件被拆分为 n 个小块,这些块以分布式方式存储在群集中的不同节点上,每个块都被复制并存储在群集中的不同节点上。

Hadoop 在一组计算机上运行,这些计算机通常分布在许多机架上,NameNode 将块的副本放置在多个机架上, 以提高容错能力。NameNode 尝试在每个机架中至少放置一个块的副本,目的是提高数据可靠性和网络带宽利用率,以便在整个机架出现故障后,系统也将具有高度可用性。

NameNode 存储元数据,DataNode 存储实际数据。集群环境中,客户端使用NameNode 执行交互任务。集群中的一些DataNode节点将 HDFS 数据存储在本地磁盘中,DataNode 定期向NameNode发送心跳消息以指示它处于活动状态,并且根据复制数量(默认值3),复制数据到其他数据节点。

1、hadoop基本命令

1)    ls 显示目录下的所有文件或者文件夹

使用方法: hadoop fs -ls [uri形式目录]

示例: hadoop fs –ls

  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值