hadoop 计数器,hadoop
hadoop 计数器,hadoop
一、hadoop有很多自带的计数器,相信看过运行log的都会看到各种数据 二、用户自定义计数器 在开发中经常需要记录错误的数据条数,就可以用计数器来解决。1、定义:用一个枚举来定义一组计数器,枚举中的每个元素都是一个计数器
在main类中定义
enum RecordsCounter{ RIGHT_COUNTER, WRONG_COUNTER };
2、使用 在map和reduce端均可使用,job会在技术后收集数据。 在需要记录的地方:
context.getCounter(RecordsCounter.WRONG_COUNTER).increment(1);
在run函数中,在job执行完后得到结果:
Counters counters = job.getCounters(); Counter counter = counters.findCounter(RecordsCounter.WRONG_COUNTER); Long wrongCount = counter.getValue();
看一下hadoop中的配置文件core-site.xml
在Hadoop的配置文件core-site.xml中可以设置是否使用本地库:
<property>
<name>hadoop.native.lib</name>
<value>true</value>
<description>Should native hadoop libraries, if present, be used.</description>
</property>
Hadoop默认的配置为启用本地库。
有可能是这个问题:hadoop本地库版本与服务器版本不一样的问题,形成死循环。
Hadoop现在已经广泛应用于包 括 FaceBook,Twitter, Yahoo! 等公司,通常情况下这些机群包括数以千计的服务器和数以万计的CPU。Hadoop 作为基础云计算平台 ,包括了超过 100 个的用户可配置参数 ( 版本 0.19.2) , 而这些参数中很大一部分对所部署的 Hadoop 系统性能具有极大的影响。平台即服务 (PaaS)主要关注软件框架或服务,提供在基础设施中进行“云”计算所用的 API。Apache Hadoop作为PaaS构建在虚拟主机上,作为云计算平台。基于Hadoop,用户可编写处理海量数据的分布式并行程序,并将其运行于由成百上千个结点组成的大规模计算机集群上。Hadoop 已被全球几大IT公司用作其云计算环境中的重要基础软件,如:雅虎正在开发基于Hadoop的开源项目Pig, 这是一个专注于海量数据集分析的分布式计算程序。
评论暂时关闭