北京Hadoopcreo3.0快速入门教程程要学多久才可以

周末小课堂:大数据Hadoop快速入门教程
1、Hadoop生态概况
Hadoop是一个由Apache基金会所开发的分布式系统集成架构,用户可以在不了解分布式底层细节情况下,开发分布式程序,充分利用集群的威力来进行高速运算与存储,具有可靠、高效、可伸缩的特点
Hadoop的核心是YARN,HDFS,Mapreduce,常用模块架构如下
源自谷歌的GFS论文,发表于2013年10月,HDFS是GFS的克隆版,HDFS是Hadoop体系中数据存储管理的基础,它是一个高度容错的系统,能检测和应对硬件故障
HDFS简化了文件一致性模型,通过流式数据访问,提供高吞吐量应用程序数据访问功能,适合带有大型数据集的应用程序,它提供了一次写入多次读取的机制,数据以块的形式,同时分布在集群不同物理机器
3、Mapreduce
源自于谷歌的MapReduce论文,用以进行大数据量的计算,它屏蔽了分布式计算框架细节,将计算抽象成map和reduce两部分
4、HBASE(分布式列存数据库)
源自谷歌的Bigtable论文,是一个建立在HDFS之上,面向列的针对结构化的数据可伸缩,高可靠,高性能分布式和面向列的动态模式数据库
5、zookeeper
解决分布式环境下数据管理问题,统一命名,状态同步,集群管理,配置同步等
由Facebook开源,定义了一种类似sql查询语言,将SQL转化为mapreduce任务在Hadoop上面执行
日志收集工具
8、yarn分布式资源管理器
是下一代mapreduce,主要解决原始的Hadoop扩展性较差,不支持多种计算框架而提出的,架构如下
spark提供了一个更快更通用的数据处理平台,和Hadoop相比,spark可以让你的程序在内存中运行
分布式消息队列,主要用于处理活跃的流式数据
11、Hadoop伪分布式部署
目前而言,不收费的Hadoop版本主要有三个,都是国外厂商,分别是
1、Apache原始版本
2、CDH版本,对于国内用户而言,绝大多数选择该版本
3、HDP版本
这里我们选择CDH版本hadoop-2.6.0-cdh5.8.2.tar.gz,环境是CentOS7.1,jdk需要1.7.0_55以上
[root@hadoop1 ~]# useradd hadoop
我的系统默认自带的java环境如下
增加如下环境变量
做好如下授权
这里以Hadoop用户来进行管理和启动Hadoop的各种服务
查看服务启动情况
注:本文转自CSDN大数据
End. #大数据算法#
回复文章前的编码,可查看【大数据联】精彩文章
&每天看大数据联,发现生活中的大数据&
[111]大数据,究竟是什么?
[113]95后基本不用微信,90后研究报告!
[118]为什么早上堵车时根本看不到豪车?
[130]从数据看二胎政策的背后真相
[131]地球上曾活过1150亿人?其实你根本不了解地球
[132]你的微信头像,说明了你是什么样的人!
[136]震惊!大数据告诉你,电商会把假货发给谁?
责任编辑:
声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。
今日搜狐热点【经典教程】hadoop快速入门_hadoop入门实例_百度文库
Apache Hadoop 是一个由 Apache 基金会所开发的分布式系统基础架构。可以让用户在不了解分布式底层细节的情况下,开发出可靠、可扩展的分布式计算应用。Apache Hadoop 框架,允许用户使用简单的编程模型来实现计算机集群的大型数据集的分布式处理。它的目的是支持从单一服务器到上千台机器的扩展,充分利用了每台机器所提供本地计算和存储,而不是依靠硬件来提供高可用性。其本身被设计成在应用层检测和处理故障的库,对于计算机集群来说,其中每台机器的顶层都被设计成可以容错的,以便提供一个高度可用的服务。Apache Hadoop 的框架最核心的设计就是:HDFS 和 MapReduce。HDFS 为海量的数据提供了存储,而 MapReduce 则为海量的数据提供了计算。精彩内容,尽在百度攻略:http://gl.baidu.comApache Hadoop 简介正如上一节 MapReduce 所提到的那样,Apache Hadoop 受到了 Google 的 GFS 和 MapReduce 的启发,而前者产生了 Apache Hadoop 的分布式文件系统 NDFS (Nutch Distributed File System) ,而后者也被纳入到 Apache Hadoop 作为核心组件之一。Apache Hadoop 的雏形开始于2002年的 Apache 的 Nutch。Nutch 是一个开源 Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具,包括全文搜索和 Web 爬虫。精彩内容,尽在百度攻略:http://gl.baidu.com随后在 2003 年 Google 发表了一篇技术学术论文关于 Google 文件系统(GFS)。GFS 也就是 Google File System,是 Google 公司为了存储海量搜索数据而设计的专用文件系统。2004年 Nutch 创始人 Doug Cutting(同时也是 Apache Lucene 的创始人) 基于 Google 的 GFS 论文实现了分布式文件存储系统名为 NDFS。2004年 Google 又发表了一篇技术学术论文,向全世界介绍了 MapReduce。2005年 Doug Cutting 又基于 MapReduce,在 Nutch 搜索引擎实现了该功能。精彩内容,尽在百度攻略:http://gl.baidu.com2006年,Yahoo! 雇用了 Doug Cutting,Doug Cutting 将 NDFS 和MapReduce 升级命名为 Hadoop。Yahoo! 开建了一个独立的团队给 Goug Cutting 专门研究发展 Hadoop。2008年1月,Hadoop 成为了 Apache 顶级项目。之后 Hadoop 被成功的应用在了其他公司,其中包括 Last.fm、Facebook、《纽约时报》等。2008年2月,Yahoo! 宣布其搜索引擎产品部署在一个拥有1万个内核的 Hadoop 集群上。精彩内容,尽在百度攻略:http://gl.baidu.com2008年4月,Hadoop 打破世界记录,称为最快排序1TB数据的系统。有关该报道的记录,可以参阅《Apache Hadoop Wins Terabyte Sort Benchmark》(见 https://developer.yahoo.com/blogs/hadoop/apache-hadoop-wins-terabyte-sort-benchmark-408.html)。截止目前,Apache Hadoop 的最新版本为 2.7.3。Apache Hadoop 它主要有以下几个优点:精彩内容,尽在百度攻略:http://gl.baidu.com·高可靠性。Hadoop 按位存储和处理数据的能力值得人们信赖。·高扩展性。Hadoop 是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。·高效性。Hadoop 能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。精彩内容,尽在百度攻略:http://gl.baidu.com·高容错性。Hadoop 能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。·低成本。Hadoop 是开源的,项目的软件成本因此会大大降低。Apache Hadoop 核心组件精彩内容,尽在百度攻略:http://gl.baidu.comApache Hadoop 包含以下模块:·Hadoop Common:常见实用工具,用来支持其他 Hadoop 模块。·Hadoop Distributed File System(HDFS):分布式文件系统,它提供对应用程序数据的高吞吐量访问。精彩内容,尽在百度攻略:http://gl.baidu.com·Hadoop YARN:一个作业调度和集群资源管理框架。·Hadoop MapReduce:基于 YARN 的大型数据集的并行处理系统。其他与 Apache Hadoop 的相关项目包括:精彩内容,尽在百度攻略:http://gl.baidu.com·Ambari:一个基于Web 的工具,用于配置、管理和监控的 Apache Hadoop 集群,其中包括支持 Hadoop HDFS、Hadoop MapReduce、Hive、HCatalog、HBase、ZooKeeper、Oozie、Pig 和 Sqoop。Ambari 还提供了仪表盘查看集群的健康,如热图,并能够以用户友好的方式来查看的 MapReduce、Pig 和 Hive 应用,方便诊断其性能。·Avro:数据序列化系统。·Cassandra:可扩展的、无单点故障的多主数据库。精彩内容,尽在百度攻略:http://gl.baidu.com·Chukwa:数据采集系统,用于管理大型分布式系统。·HBase:一个可扩展的分布式数据库,支持结构化数据的大表存储。(有关 HBase 的内容,会在后面章节讲述)·Hive:数据仓库基础设施,提供数据汇总以及特定的查询。精彩内容,尽在百度攻略:http://gl.baidu.com·Mahout:一种可扩展的机器学习和数据挖掘库。·Pig:一个高层次的数据流并行计算语言和执行框架。·Spark:Hadoop 数据的快速和通用计算引擎。Spark 提供了简单和强大的编程模型用以支持广泛的应用,其中包括 ETL、机器学习、流处理和图形计算。(有关 Spark 的内容,会在后面章节讲述)精彩内容,尽在百度攻略:http://gl.baidu.com·TEZ:通用的数据流编程框架,建立在 Hadoop YARN 之上。它提供了一个强大而灵活的引擎来执行任意 DAG 任务,以实现批量和交互式数据的处理。TEZ 正在被 Hive、Pig 和 Hadoop 生态系统中其他框架所采用,也可以通过其他商业软件(例如 ETL 工具),以取代的 Hadoop MapReduce 作为底层执行引擎。·ZooKeeper:一个高性能的分布式应用程序协调服务。(有关 ZooKeeper 的内容,会在后面章节讲述)Apache Hadoop 单节点上的安装配置精彩内容,尽在百度攻略:http://gl.baidu.com下面将演示快速完成在单节点上的 Hadoop 安装与配置,以便你对 Hadoop HDFS 和 MapReduce 框架有所体会。1. 先决条件支持平台:· GNU/Linux:已经证实了 Hadoop 在 GNU/Linux 平台上可以支持 2000 个节点的集群;精彩内容,尽在百度攻略:http://gl.baidu.com· Windows。本文所演示的例子都是在 GNU/Linux 平台上运行,若在 Windows 运行,可以参阅http://wiki.apache.org/hadoop/Hadoop2OnWindows。所需软件:· Java 必须安装。Hadoop 2.7 及以后版本,需要安装 Java 7,可以是 OpenJDK 或者是 Oracle(HotSpot)的 JDK/JRE。其他版本的 JDK 要求,可以参阅 http://wiki.apache.org/hadoop/HadoopJavaVersions;精彩内容,尽在百度攻略:http://gl.baidu.com· ssh 必须安装并且保证 sshd 一直运行,以便用 Hadoop 脚本管理远端Hadoop 守护进程。下面是在 Ubuntu 上的安装的示例:$ sudo apt-get install ssh$ sudo apt-get install rsync精彩内容,尽在百度攻略:http://gl.baidu.com2. 下载下载地址在 http://www.apache.org/dyn/closer.cgi/hadoop/common/。3. 运行 Hadoop 集群的准备工作解压所下载的 Hadoop 发行版。编辑 etc/hadoop/hadoop-env.sh 文件,定义如下参数:# 设置 Java 的安装目录精彩内容,尽在百度攻略:http://gl.baidu.comexport JAVA_HOME=/usr/java/latest尝试如下命令:$ bin/hadoop精彩内容,尽在百度攻略:http://gl.baidu.com将会显示 hadoop 脚本的使用文档。现在你可以用以下三种支持的模式中的一种启动 Hadoop 集群:· 本地(单机)模式精彩内容,尽在百度攻略:http://gl.baidu.com· 伪分布式模式· 完全分布式模式4. 单机模式的操作方法默认情况下,Hadoop 被配置成以非分布式模式运行的一个独立 Java 进程。这对调试非常有帮助。精彩内容,尽在百度攻略:http://gl.baidu.com下面的实例将已解压的 conf 目录拷贝作为输入,查找并显示匹配给定正则表达式的条目。输出写入到指定的 output 目录。$ mkdir input$ cp etc/hadoop/*.xml input精彩内容,尽在百度攻略:http://gl.baidu.com$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar grep input output 'dfs[a-z.]+'$ cat output/*5. 伪分布式模式的操作方法Hadoop 可以在单节点上以所谓的伪分布式模式运行,此时每一个 Hadoop 守护进程都作为一个独立的 Java 进程运行。精彩内容,尽在百度攻略:http://gl.baidu.com配置使用如下的:etc/hadoop/core-site.xml:精彩内容,尽在百度攻略:http://gl.baidu.comfs.defaultFShdfs://localhost:9000etc/hadoop/hdfs-site.xml:精彩内容,尽在百度攻略:http://gl.baidu.comdfs.replication1免密码 ssh 设置精彩内容,尽在百度攻略:http://gl.baidu.com现在确认能否不输入口令就用 ssh 登录 localhost:$ ssh localhost如果不输入口令就无法用 ssh 登陆 localhost,执行下面的命令:精彩内容,尽在百度攻略:http://gl.baidu.com$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa$ cat ~/.ssh/id_rsa.pub && ~/.ssh/authorized_keys$ chmod 0600 ~/.ssh/authorized_keys精彩内容,尽在百度攻略:http://gl.baidu.com执行下面演示本地运行一个 MapReduce 的 job,以下是运行步骤。(1)格式化一个新的分布式文件系统:精彩内容,尽在百度攻略:http://gl.baidu.com$ bin/hdfs namenode -format(2)启动 NameNode 守护进程和 DataNode 守护进程:$ sbin/start-dfs.sh精彩内容,尽在百度攻略:http://gl.baidu.comHadoop 守护进程的日志写入到 $HADOOP_LOG_DIR目录(默认是 $HADOOP_HOME/logs)(3)浏览 NameNode 的网络接口,它们的地址默认为:NameNode - http://localhost:50070/精彩内容,尽在百度攻略:http://gl.baidu.com(4)创建 HDFS 目录来执行 MapReduce 的 job:$ bin/hdfs dfs -mkdir /user$ bin/hdfs dfs -mkdir /user/精彩内容,尽在百度攻略:http://gl.baidu.com(5)将输入文件拷贝到分布式文件系统:$ bin/hdfs dfs -put etc/hadoop input(6)运行发行版提供的示例程序:精彩内容,尽在百度攻略:http://gl.baidu.com$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar grep input output 'dfs[a-z.]+'(7)查看输出文件将输出文件从分布式文件系统拷贝到本地文件系统查看:精彩内容,尽在百度攻略:http://gl.baidu.com$ bin/hdfs dfs -get output output$ cat output/*或者,在分布式文件系统上查看输出文件:精彩内容,尽在百度攻略:http://gl.baidu.com$ bin/hdfs dfs -cat output/*(8)完成全部操作后,停止守护进程:$ sbin/stop-dfs.sh精彩内容,尽在百度攻略:http://gl.baidu.com运行在单节点的 YARN您可以通过设置几个参数,另外运行 ResourceManager 的守护进程和 NodeManager 守护进程以伪分布式模式在 YARN 上运行 MapReduce job。以下是运行步骤。精彩内容,尽在百度攻略:http://gl.baidu.com(1)配置etc/hadoop/mapred-site.xml:mapreduce.framework.name精彩内容,尽在百度攻略:http://gl.baidu.comyarnetc/hadoop/yarn-site.xml:yarn.nodemanager.aux-services精彩内容,尽在百度攻略:http://gl.baidu.commapreduce_shuffle(2)启动 ResourceManager 守护进程和 NodeManager 守护进程$ sbin/start-yarn.sh精彩内容,尽在百度攻略:http://gl.baidu.com(3)浏览 ResourceManager 的网络接口,它们的地址默认为:ResourceManager - http://localhost:8088/(4)运行 MapReduce job精彩内容,尽在百度攻略:http://gl.baidu.com(5)完成全部操作后,停止守护进程:$ sbin/stop-yarn.sh6. 完全分布式模式的操作方法Apache Hadoop 集群上的安装配置精彩内容,尽在百度攻略:http://gl.baidu.com本节将描述如何安装、配置和管理 Hadoop 集群,其规模可从几个节点的小集群到几千个节点的超大集群。先决条件确保在你集群中的每个节点上都安装了所有必需软件,安装 Hadoop 集群通常要将安装软件解压到集群内的所有机器上。精彩内容,尽在百度攻略:http://gl.baidu.com通常情况下,集群中的一台机器被指定为 NameNode 和另一台机器作为 ResourceManager。这些都是 master。其他服务(例如,Web 应用程序代理服务器和 MapReduce Job History 服务器)是在专用的硬件还是共享基础设施上运行,这取决于负载。在群集里剩余的机器充当 DataNode 和 NodeManager。这些都是 slave。在 Non-Secure Mode(非安全模式)下的配置精彩内容,尽在百度攻略:http://gl.baidu.comHadoop 配置有两种类型的重要配置文件:· 默认只读,包括 core-default.xml、hdfs-default.xml、yarn-default.xml 和 mapred-default.xml;· 针对站点配置,包括 etc/hadoop/core-site.xml、etc/hadoop/hdfs-site.xml、etc/hadoop/yarn-site.xml 和 etc/hadoop/mapred-site.xml。精彩内容,尽在百度攻略:http://gl.baidu.com另外,你能够配置 bin 目录下的 etc/hadoop/hadoop-env.sh 和 etc/hadoop/yarn-env.sh 脚本文件的值来控制 Hadoop 的脚本。为了配置 Hadoop 集群,你需要配置 Hadoop 守护进程的执行环境和Hadoop 守护进程的配置参数。HDFS 的守护进程有 NameNode、econdaryNameNode 和 DataNode。YARN 的守护进程有 ResourceManager、NodeManager 和 WebAppProxy。若 MapReduce 在使用,那么 MapReduce Job History Server 也是在运行的。在大型的集群中,这些一般都是在不同的主机上运行。精彩内容,尽在百度攻略:http://gl.baidu.com配置 Hadoop 守护进程的运行环境管理员应该利用etc/hadoop/hadoop-env.sh、etc/hadoop/mapred-env.sh 和 etc/hadoop/yarn-env.sh 脚本来对 Hadoop 守护进程的环境做一些自定义的配置。至少你应该在每个远程节点上正确配置 JAVA_HOME。精彩内容,尽在百度攻略:http://gl.baidu.com管理员能够使用下面的表格当中的配置选项来配置独立的守护进程:守护进程环境变量精彩内容,尽在百度攻略:http://gl.baidu.comNameNodeHADOOP_NAMENODE_OPTSDataNode精彩内容,尽在百度攻略:http://gl.baidu.comHADOOP_DATANODE_OPTSSecondaryNamenodeHADOOP_SECONDARYNAMENODE_OPTS精彩内容,尽在百度攻略:http://gl.baidu.comResourceManagerYARN_RESOURCEMANAGER_OPTSNodeManager精彩内容,尽在百度攻略:http://gl.baidu.comYARN_NODEMANAGER_OPTSWebAppProxyYARN_PROXYSERVER_OPTS精彩内容,尽在百度攻略:http://gl.baidu.comMap Reduce Job History ServerHADOOP_JOB_HISTORYSERVER_OPTS例如,配置 Namenode 时,为了使其能够 parallelGC(并行回收垃圾), 要把下面的代码加入到etc/hadoop/hadoop-env.sh:export HADOOP_NAMENODE_OPTS="-XX:+UseParallelGC"其它可定制的常用参数还包括:精彩内容,尽在百度攻略:http://gl.baidu.com· HADOOP_PID_DIR——守护进程的进程 id 存放目录;· HADOOP_LOG_DIR——守护进程的日志文件存放目录。如果不存在会被自动创建;· HADOOP_HEAPSIZE/YARN_HEAPSIZE——最大可用的堆大小,单位为MB。比如,1000MB。这个参数用于设置守护进程的堆大小。缺省大小是1000。可以为每个守护进程单独设置这个值。精彩内容,尽在百度攻略:http://gl.baidu.com在大多数情况下,你应该指定 HADOOP_PID_DIR 和 HADOOP_LOG_DIR 目录,这样它们只能由要运行 hadoop 守护进程的用户写入。否则会受到符号链接攻击的可能。这也是在 shell 环境配置里配置 HADOOP_PREFIX 的传统方式。例如,在/etc/profile.d中一个简单的脚本的配置如下:HADOOP_PREFIX=/path/to/hadoop精彩内容,尽在百度攻略:http://gl.baidu.comexport HADOOP_PREFIX守护进程环境变量精彩内容,尽在百度攻略:http://gl.baidu.comResourceManagerYARN_RESOURCEMANAGER_HEAPSIZENodeManager精彩内容,尽在百度攻略:http://gl.baidu.comYARN_NODEMANAGER_HEAPSIZEWebAppProxyYARN_PROXYSERVER_HEAPSIZE精彩内容,尽在百度攻略:http://gl.baidu.comMap Reduce Job History ServerHADOOP_JOB_HISTORYSERVER_HEAPSIZE配置 Hadoop 守护进程这部分涉及 Hadoop 集群的重要参数的配置· etc/hadoop/core-site.xml精彩内容,尽在百度攻略:http://gl.baidu.com参数取值备注精彩内容,尽在百度攻略:http://gl.baidu.comfs.defaultFSNameNode URIhdfs://host:port/精彩内容,尽在百度攻略:http://gl.baidu.comio.file.buffer.size131072SequenceFiles 中读写缓冲的大小精彩内容,尽在百度攻略:http://gl.baidu.com* etc/hadoop/hdfs-site.xml用于配置 NameNode:精彩内容,尽在百度攻略:http://gl.baidu.com参数取值备注精彩内容,尽在百度攻略:http://gl.baidu.comdfs.namenode.name.dirNameNode 持久存储命名空间及事务日志的本地文件系统路径。当这个值是一个逗号分割的目录列表时,name table 数据将会被复制到所有目录中做冗余备份。精彩内容,尽在百度攻略:http://gl.baidu.comdfs.hosts / dfs.hosts.exclude允许/排除的 DataNodes 列表。如果有必要,使用这些文件,以控制允许的 datanodes 的列表。精彩内容,尽在百度攻略:http://gl.baidu.comdfs.blocksize在大型文件系统里面设置 HDFS 块大小为 256MB精彩内容,尽在百度攻略:http://gl.baidu.comdfs.namenode.handler.count100在大数量的 DataNodes 里面用更多的 NameNode 服务器线程来控制 RPC精彩内容,尽在百度攻略:http://gl.baidu.com用于配置 DataNode:参数精彩内容,尽在百度攻略:http://gl.baidu.com取值备注dfs.datanode.data.dir精彩内容,尽在百度攻略:http://gl.baidu.comDataNode存放块数据的本地文件系统路径,逗号分割的列表。当这个值是逗号分割的目录列表时,数据将被存储在所有目录下,通常分布在不同设备上。* etc/hadoop/yarn-site.xml用于配置 ResourceManager 和 NodeManager:参数精彩内容,尽在百度攻略:http://gl.baidu.com取值备注yarn.acl.enable精彩内容,尽在百度攻略:http://gl.baidu.comtrue / false是否启用 ACLs。默认是 falseyarn.admin.acl精彩内容,尽在百度攻略:http://gl.baidu.comAdmin ACLACL 集群上设置管理员。 ACLs 是用逗号分隔的。默认为 * 意味着任何人。特殊值空格,意味着没有人可以进入。yarn.log-aggregation-enable精彩内容,尽在百度攻略:http://gl.baidu.comfalse配置算法启用日志聚合用于配置 ResourceManager :参数取值精彩内容,尽在百度攻略:http://gl.baidu.com备注yarn.resourcemanager.addressResourceManager host:port ,用于给客户端提交 jobs精彩内容,尽在百度攻略:http://gl.baidu.com若 host:port 设置,则覆盖 yarn.resourcemanager.hostname 中的 hostnameyarn.resourcemanager.scheduler.addressResourceManager host:port,用于 ApplicationMasters (主节点)和 Scheduler(调度器)通信来取得资源精彩内容,尽在百度攻略:http://gl.baidu.com若 host:port 设置,则覆盖 yarn.resourcemanager.hostname 中的 hostnameyarn.resourcemanager.resource-tracker.addressResourceManager host:port ,用于 NodeManagers精彩内容,尽在百度攻略:http://gl.baidu.com若 host:port 设置,则覆盖 yarn.resourcemanager.hostname 中的 hostnameyarn.resourcemanager.admin.addressResourceManager host:port ,用于管理命令精彩内容,尽在百度攻略:http://gl.baidu.com若 host:port 设置,则覆盖 yarn.resourcemanager.hostname 中的 hostnameyarn.resourcemanager.webapp.addressResourceManager web-ui host:port,用于 web 管理精彩内容,尽在百度攻略:http://gl.baidu.com若 host:port 设置,则覆盖 yarn.resourcemanager.hostname 中的 hostnameyarn.resourcemanager.scheduler.classResourceManager Scheduler 类精彩内容,尽在百度攻略:http://gl.baidu.comCapacityScheduler (推荐)、FairScheduler(也推荐)或 FifoScheduleryarn.scheduler.minimum-allocation-mb分配给每个容器请求Resource Manager 的最小内存精彩内容,尽在百度攻略:http://gl.baidu.com单位为 MByarn.scheduler.maximum-allocation-mb分配给每个容器请求Resource Manager 的最大内存精彩内容,尽在百度攻略:http://gl.baidu.com单位为 MByarn.resourcemanager.nodes.include-path / yarn.resourcemanager.nodes.exclude-path允许/拒绝的NodeManager 的列表精彩内容,尽在百度攻略:http://gl.baidu.com如果有必要,用这些文件来控制列出的允许的 NodeManager用于配置 NodeManager :精彩内容,尽在百度攻略:http://gl.baidu.com参数取值备注精彩内容,尽在百度攻略:http://gl.baidu.comyarn.nodemanager.resource.memory-mbNodeManager 可用的物理内存定义在 NodeManager 上的全部资源,用来运行容器。精彩内容,尽在百度攻略:http://gl.baidu.comyarn.nodemanager.vmem-pmem-ratiotask 使用虚拟内存的最大比例,可能超过物理内存每个 task 使用的虚拟内存可能超过它的物理内存, 虚拟内存靠这个比率来进行限制。这个比率限制的在 NodeManager 上task 使用的虚拟内存总数,可能会超过它的物理内存。精彩内容,尽在百度攻略:http://gl.baidu.comyarn.nodemanager.local-dirs在本地文件系统里,写入中间数据的地方的路径。多个路径就用逗号进行隔开。多个路径有助于分散磁盘I/O精彩内容,尽在百度攻略:http://gl.baidu.comyarn.nodemanager.log-dirs在本地文件系统里,写入日志的地方的路径。多个路径就用逗号进行隔开。多个路径有助于分散磁盘I/O精彩内容,尽在百度攻略:http://gl.baidu.comyarn.nodemanager.log.retain-seconds10800日志文件在NodeManager 上保存的默认时间(单位为秒),仅仅适合在日志聚合关闭的时候使用。精彩内容,尽在百度攻略:http://gl.baidu.comyarn.nodemanager.remote-app-log-dir/logs在应用程序完成的时候,应用程序的日志将移到这个HDFS目录。需要设置适当的权限。 仅仅适合在日志聚合开启的时候使用。精彩内容,尽在百度攻略:http://gl.baidu.comyarn.nodemanager.remote-app-log-dir-suffixlogs追加到远程日志目录精彩内容,尽在百度攻略:http://gl.baidu.comyarn.nodemanager.aux-services 、 mapreduce.shuffle给 Map Reduce 应用程序设置 Shuffle 服务。用于配置 History Server (需搬移到其它地方):参数取值精彩内容,尽在百度攻略:http://gl.baidu.com备注yarn.log-aggregation.retain-seconds-1精彩内容,尽在百度攻略:http://gl.baidu.com保留聚合日志的时间, -1 表示不启用。需要注意的是,该值不能设置的太小yarn.log-aggregation.retain-check-interval-seconds-1精彩内容,尽在百度攻略:http://gl.baidu.com检查聚合日志保留的时间间隔,-1 表示不启用。需要注意的是,该值不能设置的太小* etc/hadoop/mapred-site.xml精彩内容,尽在百度攻略:http://gl.baidu.com用于配置 MapReduce 应用:参数取值精彩内容,尽在百度攻略:http://gl.baidu.com备注mapreduce.framework.nameyarn精彩内容,尽在百度攻略:http://gl.baidu.com运行框架设置为 Hadoop YARN.mapreduce.map.memory.mb1536精彩内容,尽在百度攻略:http://gl.baidu.commaps 的最大资源.mapreduce.map.java.opts-Xmx1024M精彩内容,尽在百度攻略:http://gl.baidu.commaps 子虚拟机的堆大小mapreduce.reduce.memory.mb3072精彩内容,尽在百度攻略:http://gl.baidu.comreduces 的最大资源.mapreduce.reduce.java.opts-Xmx2560M精彩内容,尽在百度攻略:http://gl.baidu.comreduces 子虚拟机的堆大小mapreduce.task.io.sort.mb512精彩内容,尽在百度攻略:http://gl.baidu.com任务内部排序缓冲区大小mapreduce.task.io.sort.factor100精彩内容,尽在百度攻略:http://gl.baidu.com在整理文件时一次性合并的流数量mapreduce.reduce.shuffle.parallelcopies50精彩内容,尽在百度攻略:http://gl.baidu.comreduces 运行的最大并行复制的数量,用于获取大量的 maps 的输出用于配置 MapReduce JobHistory Server:精彩内容,尽在百度攻略:http://gl.baidu.com参数取值备注精彩内容,尽在百度攻略:http://gl.baidu.commapreduce.jobhistory.addressMapReduce JobHistory Server host:port默认端口是 10020.精彩内容,尽在百度攻略:http://gl.baidu.commapreduce.jobhistory.webapp.addressMapReduce JobHistory Server Web 界面 host:port默认端口是 19888.精彩内容,尽在百度攻略:http://gl.baidu.commapreduce.jobhistory.intermediate-done-dir/mr-history/tmpMapReduce jobs 写入历史文件的目录精彩内容,尽在百度攻略:http://gl.baidu.commapreduce.jobhistory.done-dir/mr-history/doneMR JobHistory Server 管理的历史文件目录精彩内容,尽在百度攻略:http://gl.baidu.com3. 监控 NodeManager 的健康状况Hadoop 提供了一种机制,管理员可以配置 NodeManager 来运行提供脚本定期确认一个节点是否健康。精彩内容,尽在百度攻略:http://gl.baidu.com管理员可以通过在脚本中执行检查来判断该节点是否处于健康状态。如果脚本检查到节点不健康,可以打印一个标准的 ERROR(错误)输出。NodeManager 通过一些脚本定期检查他的输出,如果脚本输出有 ERROR信息,如上所述,该节点将报告为不健康,就将节点加入到 ResourceManager 的黑名单列表中,则任务不会分配到该节点中。然后 NodeManager 继续跑这个脚本,所以如果 Node 节点变为健康了,将自动的从 ResourceManager 的黑名单列表删除,节点的健康状况随着脚本的输出,如果变为不健康,在 ResourceManager web 接口上对管理员来说是可用的。这个时候节点的健康状况不会显示在web接口上。在etc/hadoop/yarn-site.xml下,可以控制节点的健康检查脚本:参数精彩内容,尽在百度攻略:http://gl.baidu.com取值备注yarn.nodemanager.health-checker.script.path精彩内容,尽在百度攻略:http://gl.baidu.comNode health script这个脚本检查节点的健康状态。yarn.nodemanager.health-checker.script.opts精彩内容,尽在百度攻略:http://gl.baidu.comNode health script options检查节点的健康状态脚本选项yarn.nodemanager.health-checker.script.interval-ms精彩内容,尽在百度攻略:http://gl.baidu.comNode health script interval运行健康脚本的时间间隔yarn.nodemanager.health-checker.script.timeout-ms精彩内容,尽在百度攻略:http://gl.baidu.comNode health script timeout interval健康脚本的执行超时时间如果只是本地硬盘坏了,健康检查脚本将不会设置该节点为 ERROR。但是NodeManager 有能力来定期检查本地磁盘的健康(检查 nodemanager-local-dirs 和 nodemanager-log-dirs 两个目录),当达到yarn.nodemanager.disk-health-checker.min-healthy-disks 设置的阀值,则整个节点将标记为不健康。Slaves File所有 slave 的 hostname 或者 IP 都保存在etc/hadoop/slaves文件中,每行一个。脚本可以通过etc/hadoop/slaves文件去运行多台机器的命令。他不使用任何基于 Java 的 Hadoop 配置。为了使用这个功能,ssh 必须建立好使用账户才能运行 Hadoop。所以在安装 Hadoop 的时候,需要配置 ssh 登陆。精彩内容,尽在百度攻略:http://gl.baidu.comHadoop Rack Awareness(机架感知)很多 Hadoop 组件得益于机架感知,给性能和安全性带来了很大的提升,Hadoop 的守护进程调用管理配置的模块,获取到集群 slave 的机架信息,更多的机架感知信息,查看这里 http://hadoop.apache.org/docs/r2.7.3/hadoop-project-dist/hadoop-common/RackAwareness.html。使用 HDFS 时,强烈推荐使用机架感知。精彩内容,尽在百度攻略:http://gl.baidu.com日志Hadoop 使用 Apache log4j 作为日志框架,编辑etc/hadoop/log4j.properties文件来自定义日志的配置。操纵 Hadoop 集群精彩内容,尽在百度攻略:http://gl.baidu.com所有必备的配置都完成了,分发 HADOOP_CONF_DIR 配置文件到所有机器,所有机器安装 Hadoop 目录的路径应该是一样的。在一般情况下,建议 HDFS 和 YARN 作为单独的用户运行。在大多数安装中,HDFS 执行 “hdfs”。YARN 通常使用“yarn”帐户。Hadoop 启动精彩内容,尽在百度攻略:http://gl.baidu.com为了启动 Hadoop 集群,你需要启动 HDFS 和 YARN 集群。第一次使用 HDFS 需要格式化。 作为 hdfs 格式化新分发的文件系统:[hdfs]$ $HADOOP_PREFIX/bin/hdfs namenode -format精彩内容,尽在百度攻略:http://gl.baidu.com作为 hdfs,通过如下命令启动 HDFS NameNode 到指定的节点 :[hdfs]$ $HADOOP_PREFIX/sbin/hadoop-daemon.sh --config $HADOOP_CONF_DIR --script hdfs start namenode作为 hdfs,通过如下命令启动 HDFS DataNode 到每个指定的节点 :精彩内容,尽在百度攻略:http://gl.baidu.com[hdfs]$ $HADOOP_PREFIX/sbin/hadoop-daemons.sh --config $HADOOP_CONF_DIR --script hdfs start datanode作为 hdfs,如果 etc/hadoop/slaves 和 ssh 可信任访问已经配置,那么所有的 HDFS 进程都可以通过脚本工具来启动:[hdfs]$ $HADOOP_PREFIX/sbin/start-dfs.sh精彩内容,尽在百度攻略:http://gl.baidu.com作为 yarn,通过下面的命令启动 YARN,运行指定的 ResourceManager :[yarn]$ $HADOOP_YARN_HOME/sbin/yarn-daemon.sh --config $HADOOP_CONF_DIR start resourcemanager作为 yarn,运行脚本来启动从机上的所有 NodeManager:精彩内容,尽在百度攻略:http://gl.baidu.com[yarn]$ $HADOOP_YARN_HOME/sbin/yarn-daemons.sh --config $HADOOP_CONF_DIR start nodemanager作为 yarn,启动本地化的 WebAppProxy 服务器。如果想使用大量的服务器来实现负载均衡,那么它就应该运行在它们各自机器之上:[yarn]$ $HADOOP_YARN_HOME/sbin/yarn-daemon.sh --config $HADOOP_CONF_DIR start proxyserver精彩内容,尽在百度攻略:http://gl.baidu.com作为 yarn,如果 etc/hadoop/slaves 和 ssh 可信任访问已经配置,那么所有的 YARN 进程都可以通过脚本工具来启动:[yarn]$ $HADOOP_PREFIX/sbin/start-yarn.sh作为 mapred,根据下面的命令启动 MapReduce JobHistory Server :精彩内容,尽在百度攻略:http://gl.baidu.com[mapred]$ $HADOOP_PREFIX/sbin/mr-jobhistory-daemon.sh --config $HADOOP_CONF_DIR start historyserverHadoop 关闭作为 hdfs,通过以下命令停止 NameNode:精彩内容,尽在百度攻略:http://gl.baidu.com[hdfs]$ $HADOOP_PREFIX/sbin/hadoop-daemon.sh --config $HADOOP_CONF_DIR --script hdfs stop namenode作为 hdfs,运行脚本停止在所有从机上的所有 DataNode:[hdfs]$ $HADOOP_PREFIX/sbin/hadoop-daemons.sh --config $HADOOP_CONF_DIR --script hdfs stop datanode精彩内容,尽在百度攻略:http://gl.baidu.com作为 hdfs,如果 etc/hadoop/slaves 和 ssh 可信任访问已经配置,那么所有的 HDFS 进程都可以通过脚本工具来关闭:[hdfs]$ $HADOOP_PREFIX/sbin/stop-dfs.sh作为 yarn,通过以下命令停止 ResourceManager:精彩内容,尽在百度攻略:http://gl.baidu.com[yarn]$ $HADOOP_YARN_HOME/sbin/yarn-daemon.sh --config $HADOOP_CONF_DIR stop resourcemanager作为 yarn,运行一下脚本停止 slave 机器上的 NodeManager :[yarn]$ $HADOOP_YARN_HOME/sbin/yarn-daemons.sh --config $HADOOP_CONF_DIR stop nodemanager精彩内容,尽在百度攻略:http://gl.baidu.com作为 yarn,如果 etc/hadoop/slaves 和 ssh 可信任访问已经配置,那么所有的 YARN 进程都可以通过脚本工具来关闭[yarn]$ $HADOOP_PREFIX/sbin/stop-yarn.sh作为 yarn,停止 WebAppProxy 服务器。由于负载均衡有可能设置了多个:精彩内容,尽在百度攻略:http://gl.baidu.com[yarn]$ $HADOOP_YARN_HOME/sbin/yarn-daemon.sh --config $HADOOP_CONF_DIR stop proxyserver作为 mapred,通过以下命令停止 MapReduce JobHistory Server :[mapred]$ $HADOOP_PREFIX/sbin/mr-jobhistory-daemon.sh --config $HADOOP_CONF_DIR stop historyserver精彩内容,尽在百度攻略:http://gl.baidu.com8. Web 界面当 Hadoop 启动后,可以查看如下 Web 界面:守护进行Web 界面精彩内容,尽在百度攻略:http://gl.baidu.com备注NameNodehttps://gl.baidu.com精彩内容,尽在百度攻略:http://gl.baidu.com默认 HTTP 端口为 50070.ResourceManagerhttps://gl.baidu.com精彩内容,尽在百度攻略:http://gl.baidu.com默认 HTTP端口为 8088MapReduce JobHistory Serverhttps://gl.baidu.com精彩内容,尽在百度攻略:http://gl.baidu.com默认 HTTP 端口为 19888例子:词频统计 WordCount 程序精彩内容,尽在百度攻略:http://gl.baidu.com下面是 Hadoop 提供的词频统计 WordCount 程序 示例。运行运行改程序之前,请确保 HDFS 已经启动。import java.io.BufferedRimport java.io.FileR精彩内容,尽在百度攻略:http://gl.baidu.comimport java.io.IOEimport java.net.URI;import java.util.ArrayL精彩内容,尽在百度攻略:http://gl.baidu.comimport java.util.HashSimport java.util.Limport java.util.S精彩内容,尽在百度攻略:http://gl.baidu.comimport java.util.StringTimport org.apache.hadoop.conf.Cimport org.apache.hadoop.fs.P精彩内容,尽在百度攻略:http://gl.baidu.comimport org.apache.hadoop.io.IntWimport org.apache.hadoop.io.Timport org.apache.hadoop.mapreduce.J精彩内容,尽在百度攻略:http://gl.baidu.comimport org.apache.hadoop.mapreduce.Mimport org.apache.hadoop.mapreduce.Rimport org.apache.hadoop.mapreduce.lib.input.FileInputF精彩内容,尽在百度攻略:http://gl.baidu.comimport org.apache.hadoop.mapreduce.lib.output.FileOutputFimport org.apache.hadoop.mapreduce.Cimport org.apache.hadoop.util.GenericOptionsP精彩内容,尽在百度攻略:http://gl.baidu.comimport org.apache.hadoop.util.StringUpublic class WordCount2 {public static class TokenizerMapper精彩内容,尽在百度攻略:http://gl.baidu.comextends Mapper{static enum CountersEnum { INPUT_WORDS }private final static IntWritable one = new IntWritable(1);精彩内容,尽在百度攻略:http://gl.baidu.comprivate Text word = new Text();private boolean caseSprivate Set patternsToSkip = new HashSet();精彩内容,尽在百度攻略:http://gl.baidu.comprivate Cprivate BufferedR@Override精彩内容,尽在百度攻略:http://gl.baidu.compublic void setup(Context context) throws IOException,InterruptedException {conf = context.getConfiguration();精彩内容,尽在百度攻略:http://gl.baidu.comcaseSensitive = conf.getBoolean("wordcount.case.sensitive", true);if (conf.getBoolean("wordcount.skip.patterns", true)) {URI[] patternsURIs = Job.getInstance(conf).getCacheFiles();精彩内容,尽在百度攻略:http://gl.baidu.comfor (URI patternsURI : patternsURIs) {Path patternsPath = new Path(patternsURI.getPath());String patternsFileName = patternsPath.getName().toString();精彩内容,尽在百度攻略:http://gl.baidu.comparseSkipFile(patternsFileName);}}精彩内容,尽在百度攻略:http://gl.baidu.com}private void parseSkipFile(String fileName) {try {精彩内容,尽在百度攻略:http://gl.baidu.comfis = new BufferedReader(new FileReader(fileName));String pattern =while ((pattern = fis.readLine()) != null) {精彩内容,尽在百度攻略:http://gl.baidu.compatternsToSkip.add(pattern);}} catch (IOException ioe) {精彩内容,尽在百度攻略:http://gl.baidu.comSystem.err.println("Caught exception while parsing the cached file '"+ StringUtils.stringifyException(ioe));}精彩内容,尽在百度攻略:http://gl.baidu.com}@Overridepublic void map(Object key, Text value, Context context精彩内容,尽在百度攻略:http://gl.baidu.com) throws IOException, InterruptedException {String line = (caseSensitive) ?value.toString() : value.toString().toLowerCase();精彩内容,尽在百度攻略:http://gl.baidu.comfor (String pattern : patternsToSkip) {line = line.replaceAll(pattern, "");}精彩内容,尽在百度攻略:http://gl.baidu.comStringTokenizer itr = new StringTokenizer(line);while (itr.hasMoreTokens()) {word.set(itr.nextToken());精彩内容,尽在百度攻略:http://gl.baidu.comcontext.write(word, one);Counter counter = context.getCounter(CountersEnum.class.getName(),CountersEnum.INPUT_WORDS.toString());精彩内容,尽在百度攻略:http://gl.baidu.comcounter.increment(1);}}精彩内容,尽在百度攻略:http://gl.baidu.com}public static class IntSumReducerextends Reducer {精彩内容,尽在百度攻略:http://gl.baidu.comprivate IntWritable result = new IntWritable();public void reduce(Text key, Iterable values,Context context精彩内容,尽在百度攻略:http://gl.baidu.com) throws IOException, InterruptedException {int sum = 0;for (IntWritable val : values) {精彩内容,尽在百度攻略:http://gl.baidu.comsum += val.get();}result.set(sum);精彩内容,尽在百度攻略:http://gl.baidu.comcontext.write(key, result);}}精彩内容,尽在百度攻略:http://gl.baidu.compublic static void main(String[] args) throws Exception {Configuration conf = new Configuration();GenericOptionsParser optionParser = new GenericOptionsParser(conf, args);精彩内容,尽在百度攻略:http://gl.baidu.comString[] remainingArgs = optionParser.getRemainingArgs();if (!(remainingArgs.length != 2 | | remainingArgs.length != 4)) {System.err.println("Usage: wordcount
[-skip skipPatternFile]");精彩内容,尽在百度攻略:http://gl.baidu.comSystem.exit(2);}Job job = Job.getInstance(conf, "word count");精彩内容,尽在百度攻略:http://gl.baidu.comjob.setJarByClass(WordCount2.class);job.setMapperClass(TokenizerMapper.class);job.setCombinerClass(IntSumReducer.class);精彩内容,尽在百度攻略:http://gl.baidu.comjob.setReducerClass(IntSumReducer.class);job.setOutputKeyClass(Text.class);job.setOutputValueClass(IntWritable.class);精彩内容,尽在百度攻略:http://gl.baidu.comList otherArgs = new ArrayList();for (int i=0; i & remainingArgs. ++i) {if ("-skip".equals(remainingArgs[i])) {精彩内容,尽在百度攻略:http://gl.baidu.comjob.addCacheFile(new Path(remainingArgs[++i]).toUri());job.getConfiguration().setBoolean("wordcount.skip.patterns", true);} else {精彩内容,尽在百度攻略:http://gl.baidu.comotherArgs.add(remainingArgs[i]);}}精彩内容,尽在百度攻略:http://gl.baidu.comFileInputFormat.addInputPath(job, new Path(otherArgs.get(0)));FileOutputFormat.setOutputPath(job, new Path(otherArgs.get(1)));System.exit(job.waitForCompletion(true) ? 0 : 1);精彩内容,尽在百度攻略:http://gl.baidu.com}}待输入的样本文件如下:精彩内容,尽在百度攻略:http://gl.baidu.com$ bin/hadoop fs -ls /user/joe/wordcount/input//user/joe/wordcount/input/file01/user/joe/wordcount/input/file02精彩内容,尽在百度攻略:http://gl.baidu.com$ bin/hadoop fs -cat /user/joe/wordcount/input/file01Hello World, Bye World!$ bin/hadoop fs -cat /user/joe/wordcount/input/file02精彩内容,尽在百度攻略:http://gl.baidu.comHello Hadoop, Goodbye to hadoop.运行程序:$ bin/hadoop jar wc.jar WordCount2 /user/joe/wordcount/input /user/joe/wordcount/output精彩内容,尽在百度攻略:http://gl.baidu.com输出如下:$ bin/hadoop fs -cat /user/joe/wordcount/output/part-r-00000Bye 1精彩内容,尽在百度攻略:http://gl.baidu.comGoodbye 1Hadoop, 1Hello 2精彩内容,尽在百度攻略:http://gl.baidu.comWorld! 1World, 1hadoop. 1精彩内容,尽在百度攻略:http://gl.baidu.comto 1通过 DistributedCache 来设置单词过滤的策略:$ bin/hadoop fs -cat /user/joe/wordcount/patterns.txt精彩内容,尽在百度攻略:http://gl.baidu.com\.\,\!精彩内容,尽在百度攻略:http://gl.baidu.comto再次运行,这次增加了更多的选项:$ bin/hadoop jar wc.jar WordCount2 -Dwordcount.case.sensitive=true /user/joe/wordcount/input /user/joe/wordcount/output -skip /user/joe/wordcount/patterns.txt精彩内容,尽在百度攻略:http://gl.baidu.com输出如下:$ bin/hadoop fs -cat /user/joe/wordcount/output/part-r-00000Bye 1精彩内容,尽在百度攻略:http://gl.baidu.comGoodbye 1Hadoop 1Hello 2精彩内容,尽在百度攻略:http://gl.baidu.comWorld 2hadoop 1再次运行,这次去掉了大小写敏感:精彩内容,尽在百度攻略:http://gl.baidu.com$ bin/hadoop jar wc.jar WordCount2 -Dwordcount.case.sensitive=false /user/joe/wordcount/input /user/joe/wordcount/output -skip /user/joe/wordcount/patterns.txt输出如下:$ bin/hadoop fs -cat /user/joe/wordcount/output/part-r-00000精彩内容,尽在百度攻略:http://gl.baidu.combye 1goodbye 1hadoop 2精彩内容,尽在百度攻略:http://gl.baidu.comhello 2horld 2本文作者:kkkloveyou精彩内容,尽在百度攻略:http://gl.baidu.com以上就是关于hadoop快速入门的一些内容,更多hadoop入门书籍、hadoop入门要多久的优质内容,以及hadoop入门教程、hadoop入门实例的精彩介绍,敬请大家关注。

我要回帖

更多关于 indesign快速入门教程 的文章

 

随机推荐