文档章节

Hadoop优化(待续)

KevinWen
 KevinWen
发布于 2014/04/28 19:09
字数 677
阅读 205
收藏 2

    近日在用hadoop测试些程序,但是,用的数据都是小数据,用hadoop处理起来相当慢,每个文件就只有几KB,而文件有几百个,这样,20MB的数据运行完就要40多分钟,而且即使是4台机器,运行完也要14分钟,这完全是浪费了hadoop,最后发现,每台电脑只有两个Map,这就让Map过很相当漫长。查了一些资料,发现暂时有两项现在我用得着

 

1、设置Map数:

    在conf文件夹中的mapred-site.xml文件里加入

    mapred.tasktracker.map.tasks.maximum

    格式如下:

<property>
    <name>mapred.tasktracker.map.tasks.maximum</name>
    <value>10</value>
</property>

    这里只设置了10个,看网上说的一般一个节点的map数是30到300个,大家可以根据具体情况自行设置


2、设置JVM重用

    默认是1,表示一个JVM上最多可以顺序执行的task数目(属于同一个Job)是1。也就是说一个task启一个JVM。

    显然,这样每次用一次就重启JVM很浪费时间,所以可以把这个的重用次数设置大一点,我这里设置成-1,表示无限适用,直到最后把程序跑完。

    和设置Map数差不多,同样是在mapred-site.xml中设置,如下:

<property>
    <name>mapred.job.reuse.jvm.num.tasks</name>
    <value>-1</value>
</property>

    不用再次格式化,可以直接运行。现在,即使是伪分布,运行刚才的程序只需要11分30秒。

    笔者将继续学习,找到更合理的办法。同时,可以把数据进行压缩过后在运行程序,但是笔者暂时还没搞懂这个方法怎么用。

参考网址:

http://blog.csdn.net/wangqiaoshi/article/details/18142885

http://jerrylead.iteye.com/blog/1195335

 

3、Java heap space的解决办法:

    这个表明java的虚拟的空间不够了。下面有两种方法可以解决:

    ①修改hadoop/bin文件夹中的hadoop文件:

    找到“export HADOOP_OPTS=”这一行,修改如下:

 export HADOOP_OPTS="-Xmx4096m"//将jvm的空间设置为4GB,也可以设置成你想要的

    ②(建议使用此方法)也可以修改mapred-site.xml文件:

    加入如下内容:

<property>
    <name>mapred.child.java.opts</name>
    <value>-Xmx4096m</value>
</property>

    保存退出重启hadoop即可。

参见网址:

http://stackoverflow.com/questions/15609909/error-java-heap-space

 

4、修改HDFS的块的大小:

    默认是64MB,但是一般用128MB,而且有些特殊情况要把块改小一点。总之,很多情况,需要更改块的大小,方法如下:

    修改conf文件夹中hdfs-site.xml的内容,加入如下内容:

<property>
    <name>dfs.block.size</name>
    <value>自己想要的大小,单位是B</value>
</property>

    保存退出,格式化HDFS

© 著作权归作者所有

KevinWen
粉丝 1
博文 9
码字总数 6153
作品 0
泸州
私信 提问
大数据平台网站日志分析系统

1:大数据平台网站日志分析系统,项目技术架构图: 2:大数据平台网站日志分析系统,流程图解析,整体流程如下:   ETL即hive查询的sql;   但是,由于本案例的前提是处理海量数据,因而,...

别叫小伙
2017/12/09
0
0
最近hadoop遇到的issuses

https://issues.apache.org/jira/browse/YARN-182https://issues.apache.org/jira/browse/YARN-903https://issues.apache.org/jira/browse/HBASE-10304https://issues.apache.org/jira/brows......

stark_summer
2015/08/07
20
0
Ubuntu10.4安装配置Hadoop-0.20.203.0入门

1.安装Sun公司的jdk1.6 并且,JAVA_HOME环境变量已经指向jdk的安装目录。(详细见 Ubuntu10.4下手动安装SUN公司的jdk1.6[整理]) 2.下载稳定版的hadoop的安装包,解压到/opt/目录下 3.命令行...

怪蜀黍
2012/02/06
951
3
Hadoop(Install)

安装目标:一个namenode 和 2 个datanode,假定已用户名zhaomeng和密码zhaomeng进行 虚拟机:3个centos 64(桥接模式) 准备工作: 1.启动三个虚拟机mastercentos641 2.检查ssh是否安装和ssh...

赵-猛
2015/12/30
42
0
一脸懵逼学习Storm的搭建--(一个开源的分布式实时计算系统)

Storm的官方网址:http://storm.apache.org/index.html 1:集群部署的基本流程(基本套路): 1:安装一个zookeeper集群,之前已经部署过,这里省略,贴一下步骤; 安装配置zooekeeper集群: 1....

别叫小伙
2017/11/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

面向海量数据的极致成本优化-云HBase的一体化冷热分离

前言 随着业务的持续发展,业务数据库存储量会持续增长。通常数据量过亿时,就需要考虑做分库分表,或者选择扩展能力更好的NOSQL/NewSQL数据库,如HBase就可以单表支持PB级数据,足够满足大多...

阿里云官方博客
29分钟前
3
0
最新最全国内外架构开源技术干货资料

大家好,废话不多说,整理了精心收集了各类资源。 声明,如侵犯个人利益,请联系小编,会立即删除相关资料。 领取方式在文末 求转发列表 好了,由于资源太多啦,就不一一列举了。 大家按照下...

泥瓦匠BYSocket
31分钟前
6
0
springmvc jsp访问不了css

在jsp中引入css,一直报404错误,直接访问css,也无法访问 将css文件移出WEB-INF,因为处于安全性考虑,这个目录禁止外部访问。 当引用css时,可以直接用绝对路径${pageContext.request.conte...

沉迷于编程的小菜菜
33分钟前
4
0
android 系统版本 9.1网络请求遇到坑

网络请求异常: E/http: CLEARTEXT communication to plat.xunlinkeji.cn not permitted by network security policy 在res下新建一个xml目录 创建名为network_security_config.xml 文件 ,该......

MrLins
51分钟前
5
0
Istio 1.3 发布,HTTP 遥测不再需要 Mixer

> 原文链接:Istio 1.3 发布,HTTP 遥测不再需要 Mixer Istio 是 Google、IBM 和 Lyft 联合开源的服务网格(Service Mesh)框架,旨在解决大量微服务的发现、连接、管理、监控以及安全等问题...

米开朗基杨
今天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部