hadoop ViewFS

本文固定链接为:https://www.askmac.cn/archives/hadoop-federation.html

本文是官方文档的翻译,原文链接:http://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-hdfs/ViewFs.html

1简介

 

文件系统视图(viewFS)提供了一个管理多个hadoop文件系统命名空间(或者命名空间卷组)的途径。特别是在集群中HDFS Federation有多个namenodes,因此有多个命名空间时很有用。ViewFS类似于在一些 Unix/Linux系统中的客户端挂载表。ViewFs可以用来创建个性化的命名空间视图和为每个机器自定义视图。

本指南是在Hadoop系统有多个集群背景下提出的,每个集群可能联合多个namespace。也描述了如何在联合HDFS中使用ViewFS来为每个集群全局命名空间,使得应用程序可以以类似于之前每个-联合方式来运行。

 

 

2.旧的方式(之前的 Federation):

 

2.1 独立的namenode 集群

 

在之前旧的HDFS Federation方式中,一个集群有一个单独的namenode,为集群提供单独的文件系统命名空间。假设这里有多个集群。每个集群的文件系统命名空间是完全独立和不相交的。此外,物理存储在集群中时非共享访问的(例如,Datanode不能通过集群共享)

 

每个集群的core-site.xml有一个配置属性,为集群中的namenode设置默认文件系统:

 

<property>

<name>fs.default.name</name>

<value>hdfs://namenodeOfClusterX:port</value>

</property>

 

这样的配置属性,运行使用相对名称来解析路径连接到namenode。例如,/foo/bar指的是 hdfs://namenodeOfClusterX:port/foo/bar。这个配置属性在集群每个网关上设置,并且在每个关键集群服务例如 JOBTracker和Oozie上设置。

[Read more…]

hadoop 双NameNode Federation 实验

本文固定链接:https://www.askmac.cn/archives/hadoop-federation-test.html

 

1.实验环境

虚拟机环境 VMBOX 5.0 ubuntu 15

java 1.80 hadoop 2.7.1

之前安装好的单机hadoop 虚拟机 *7

设置好各个主机的ip地址和主机名(/etc/hosts)

 

 

 

 

各个节点分布如下:

 

10.0.0.22                   dbdao  #NameNode

10.0.0.23             dbdao2      #ResourceManager

10.0.0.24         dbdao3       # web app proxy and MR Jobhistory server

10.0.0.25            dbdao4  #DataNode

10.0.0.26            dbdao5  #DataNode

10.0.0.27          dbdao6  #DataNode

10.0.0.28    dbdao08  #NameNode

 

 

2.先决条件:

  • 安装JAVA
  • 从apache镜像上下载稳定的hadoop版本

请参考hadoop集群安装

 

hadoop 集群是关闭状态

 

3. Federation配置:

 

在原本HA集群的基础上,增加一个Namenode节点配置。

 

[Read more…]

hadoop Federation

本文固定链接为:https://www.askmac.cn/archives/hadoop-federation.html

本文是官方文档的翻译,原文链接:http://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-hdfs/Federation.html

1.目的

 

这个文档给出了HDFS Federation特性的概述,以及如何管理和配置Federation集群

 

2.背景:

HDFS 主要有2个层面:

  • 命名空间:

包含目录,文件和块

它支持所有的名称空间相关的文件系统操作,如创建、删除、修改和列出文件和目录

 

  • 块存储服务,包含2个层面:

块管理(在Namenode实现)

-通过保持注册和周期性的心跳提供DataNode注册资格。

-进程块的报表和维护块的位置。

-提供一些块的相关操作,例如创建,删除,修改和获取块位置。

-管理副本放置位置,在复制块下的块复制,和删除那些已经复制过的块

存储

-在DataNodes本地文件系统上能够存储块,并且是可读/写的。

 

当前的HDFS构架,在整个集群中只允许单一的命名空间。在这种配置下,一个独立的NameNode管理着命名空间。HDFS Federation解决这个限制,对HDFS中多个NameNode/namespaces 增加了支持。

[Read more…]

hadoop HDFS 使用QJM完成HA

本文是官方文档的翻译  本文固定链接是:https://www.askmac.cn/archives/hadoop-hdfs-ha-qjm.html

原文链接:http://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html

1.目的

 

这个指南提供一个关于HDFS 高可用特性的概述,并且描述了如何使用Quorum Journal Manager(QJM)来管理和配置 HA HDFS集群。

 

这个文档的假设读者对在HDFS集群中的节点类型和一般组件有一定的理解。更详细的信息请参考HDFS构架指南。

 

2.备注:使用QJM或者使用常规存储

 

这个指南讨论了如何使用QJM来配置和使用HDFS HA,在活动的NameNodes和备份NameNodes之间共享edit 日志。如何使用NFS来配置HDFS来进行共享存储代替QJM,请参考HDFS HA

(http://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithNFS.html)

 

3.背景

在 hadoop 2.0.0之前,NameNode在HDFS集群中是一个单独的故障点。每个集群有一个NameNode,一旦这个机器或进程不可用,整个集群就将全部不可用,直到NameNode重新启动或者在另外的机器上完成启动。

 

影响HDFS集群总体高可用的问题主要有以下2点:

 

  • 在一些意外事件,例如机器崩溃的情况下,集群将不可用,直到NameNode完成一个重启操作。
  • 计划的维护事件,例如NameNode上的软硬件的升级,导致需要集群停机的时间窗口。

 

HDFS HA特性解决了上述问题,提供一些选择在一个相同集群中运行2个冗余的NameNode,在主动/被动的配置中,具有热备份。这将允许在一个机器崩溃的情况下,或者在有计划维护的目的中,进行快速切换到一个新的NameNode。

[Read more…]

hadoop HDFS command 指南

本文是官方文档的翻译  本文固定链接是:https://www.askmac.cn/archives/hadoop-hdfs-user-guide.html

原文链接:http://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-hdfs/HDFSCommands.html

1.综述:

 

所有的HDFS 命令被 bin/hdfs脚本调用,运行这个脚本不带任何参数会打印所有命令。

用法:hdfs [SHELL_OPTIONS] COMMAND [GENERIC_OPTIONS] [COMMADN_OPTIONS]

hadoop有选项解析框架,采用解析通用选项和运行类。

命令选项 描述
–config–loglevel 这个命令设置shell选项,详细文档可以参考手动命令页面(Hadoop Commands Reference)
GENERIC_OPTIONS 这个命令设置选项支持多个命令
COMMAND COMMAND_OPTIONS 下列各节中描述的各种命令

 

 

2.用户命令:

hadoop集群用户的常用命令

 

2.1 classpath

用法:hdfs classpath

打印得到hadoop jar和所需类库的class路径

[Read more…]

hadoop HDFS 用户指南

本文是官方文档的翻译  本文固定链接是:https://www.askmac.cn/archives/hadoop-hdfs-user-guide.html

原文链接:http://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-hdfs/HdfsUserGuide.html

1.目的

这个文档的出发点是为了那些使用HDFS的用户,不管是集群环境或者是作为独立的通用分布式文件系统。当在许多环境中使用HDFS时,HDFS的工作知识帮助对一个特定的群集上的配置进行改进和诊断

2.综述:

 

HDFS是Hadoop应用程序使用的主要分布式存储。一个HDFS集群只要包括一个NameNode 来管理文件系统的元数据,dataNode来存储实际数据。HDFS构架指导详细的描述了HDFS。这个用户指导主要用于处理HDFS集群中的用户和管理者的交互。HDFS构架图标描述了NameNode,DataNode和客户端之间的基本交互。客户端为了文件远数据或者修改文件描述而联系nameNode,直接通过DataNode来执行实际的文件I/O。

下面的一些特征,很多用户可能会感兴趣。

  • Hadoop,包括HDFS,非常适用于使用标准硬件来进行分布式存储和分布式处理。它是容错的,可扩展的,并且扩展非常简单。分布式计算(MapReduce),众所周知,它非常简单的适用于大型分布式应用程序,它是hadoop的一个组成部分。
  • HDFS是高度可配置的,作为默认的配置对于很多安装来说是非常合适的。大多数时候,仅仅对于大型集群需要对配置进行调整。
  • Hadoop是JAVA写的,支持所有的平台。
  • Hadoop支持类型shell的命令来直接和HDFS进行交互。
  • NameNode和Datanode内置web服务器,这样便于检查集群当前状态。
  • 在HDFS中会定期的实施新特性和改进。以下是HDFS的一个有用功能的子集:

.文件权限和验证。

. 构架意识(rack awareness):在调度任务和分配存储时,将节点的物理位置考虑在内。

.安全模块(safemode):一个维护的管理模块。

.fsck:一个诊断文件系统健康的工具,用来找出丢失的文件或块。

.fetchd:一个获得Delegation token的工具,并且存储到本地文件系统的一个文件中。

.平衡(blancer):当DataNodes中的数据是不均衡分布时,一个平衡集群的工具。

.第二个 NameNode(secondary namenode):执行定期的命名空间检查点,并且在NameNode中,有助于保持HDFS修改日志文件大小在一定限额内。

.检查点节点(checkpoint node): 执行定期的命名空间检查点,并且在NameNode中,有助于保持HDFS修改日志的最小的大小。以往这个角色由secondary namenode所替代,虽然它还没有被增强。NameNode允许同时多个检查点节点,只要没有备份的节点注册到系统中。

.备份节点(backup node):检查点节点的延伸。除此之外,它也从NameNode接受编辑流,并且维护自己再命名空间的内存副本,其总是与活跃的NameNode命名空间状态一致。只有一个备份节点可以与NameNode进行一次注册。

 

[Read more…]

hadoop 集群安装

本文固定链接:https://www.askmac.cn/archives/hadoop-cluster-installation.html

 

此文是官方文档翻译,原文链接:http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/ClusterSetup.html

1.目的

这个文档描述了如何安装和配置hadoop集群,从小范围节点拓展到上千个节点。要玩hadoop,你先要再单机上安装上它(参考单机安装hadoop)

 

2.先决条件:

  • 安装JAVA
  • 从apache镜像上下载稳定的hadoop版本

 

 

3.安装:

 

安装一个hadoop集群,通常是在集群内所有集群上解压软件,或者根据你的操作系统通过包系统来安装。重点是在于分配硬件的功能。

通常在集群中一个集群被指定为NameNode,另外一个集群作为资源管理器,唯一地。这些都是主要的机器。其他的服务(例如WEB app 代理服务器和 mapreduce 任务历史服务器)通常根据负载,运行在专有的硬件模块上或共享基础。

其余的在集群中的机器,充当数据节点(DataNode)和节点管理者(NodeManager)。这些都是从属的。

 

 

4.在非安全模式下配置hadoop

 

Hadoop的Java配置是由两种类型的重要配置文件驱动:

  • 只读的默认配置 -core-default.xml, hdfs-default.xml, yarn-default.xml and mapred-default.xml.
  • 具体配置- etc/hadoop/core-site.xml, etc/hadoop/hdfs-site.xml, etc/hadoop/yarn-site.xml and etc/hadoop/mapred-site.xml.

 

此外,你可以通过设置etc/hadoop/hadoop-env.sh  etc/hadoop/yarn-env.sh特定参数的值来控制hadoop查找bin/ 路径下的脚本。

 

HDFS(分布式系统)守护进程是 nameNode,SecondaryNameNode和DataNode。YARN守护进程是ResourceManager, NodeManager,和 WebAppProxy。如果Mapreduce被使用,那么 mapreduce 任务历史服务器也被运行。对于大型设施,这些通常是在单独的机器上运行。

[Read more…]

hadoop单节点安装文档

1.目的

这个文档描述了如何安装和配置hadoop,这样很快的你就可以使用hadoop mapreduce 和 HDFS(hadoop文件系统)进行简单操作。

 

2.先决条件:

2.1平台支持

.支持GUN/Linux 作为开发和生产的平台。hadoop 展示过在GUN/Linux 上的 2000节点的集群。

.也支持windows 平台,但是下面的步骤只适用于linux。windows 上安装页面,参考wiki.

http://wiki.apache.org/hadoop/Hadoop2OnWindows

2.2所需软件:

在linux 上需要安装下列软件:

1.java 必须安装 可以参考:http://wiki.apache.org/hadoop/HadoopJavaVersions

2.ssh 必须安装,并且sshd 必须用hadoop 脚本来运行,这样就可以管理远程hadoop后台进程。

 

3.软件安装:

如果你的集群节点没有所需的软件,你需要安装,例如在乌班图上:

sudo apt-get install ssh

sudo apt-get install rsync

 

3.1下载

可以从http://www.apache.org/dyn/closer.cgi/hadoop/common/相关页面找到下载地址。

[Read more…]

hadoop单节点安装实验

 

1.     实验环境

虚拟机环境 ubuntu 15(桌面版)

hadoop2.7.1

JDK1.8.0_51

o1

sudo apt-get install ssh

sudo apt-get install rsync

sudo apt-get install vim

 

2.实验及其结果

 

2.1安装hadoop

将文件上传到机器上,解压。并进入hadloop目录

mv hadoop-2.7.1 /usr/local/hadoop

cd hadoop

vim etc/hadoop/hadoop-env.sh  配置下列参数:

# set to the root of your Java installation

export JAVA_HOME=/usr/local/jdk1.8.0_51  #自己java的路径

/usr/local/hadoop/bin/hadoop:

123

显示使用hadoop的命令说明

[Read more…]

命令行工具可以比你的Hadoop集群快235x倍

介绍

当我在浏览网页关注一些我定期访问网站的更新时,我发现Tom Hayden的一篇很酷的文章,使用Amazon Elastic Map Reduce(EMR)和mrjob,以计算从millionbase archive下载的象棋游戏的输赢率,慢慢地从中发现乐趣。由于数据量仅约为1.75GB,含200万左右的国际象棋游戏,我不确定他为何使用Hadoop,但我能理解他的目标,从mrjob和EMR中学习并获得乐趣。既然问题基本上只是看每个文件的resultl lines和汇总不同的结果,似乎非常适合shell命令的流处理。我试着用相同的数据量处理,我的笔记本电脑得到结果只需12秒左右(处理速度约为270MB /秒),而Hadoop处理了约26分钟(处理速度约1.14MB /秒)。

在报告用7 c1. machine在集群中处理数据所需要的时间为26分钟,汤姆写到:“这可能比在我的机器上按顺序运行快,但如果我做了一些聪明的本地多线程应用程序可能更好。”

[Read more…]

沪ICP备14014813号-2

沪公网安备 31010802001379号