博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hadoop问题汇总
阅读量:6971 次
发布时间:2019-06-27

本文共 1779 字,大约阅读时间需要 5 分钟。

1. mapreduce内存不足

<property>

  <name>mapred.map.child.java.opts</name>
  <value>$CHILD_MAP_OPTS</value>
</property>
<property>
  <name>mapred.reduce.child.java.opts</name>
  <value>$CHILD_REDUCE_OPTS</value>
</property>
instead of 
<property>
  <name>mapred.child.java.opts</name>
  <value>$CHILD_OPTS</value>
</property>

2. 指定Reduce任务的个数

可以在执行脚本中添加参数来实现:

 hadoop jar  LogAnalysis.jar loganalysis -D mapred.reduce.tasks=2  $inputPath $outputPath

3. Hadoop集群中磁盘空间不足

遇到这种情况,可以减少HDFS中备份的数量,在hdfs-site.xml中修改,

<property>

<name>dfs.replication</name>
<value>1</value>
</property>

这样的话,数据就只保存一份了,重要的数据话出问题就没法自动恢复了,所以还是要确保

磁盘空间充足,默认情况下这个参数是3.

hadoop fsck -locations命令可以查看数据备份情况。

4.hadoop命令集合

hadoop fs –put test.txt /user/sunlightcs

将本地文件系统的test.txt复制到HDFS文件系统的/user/sunlightcs目录下

hadoop fs –get /user/sunlightcs/test.txt .
将HDFS中的test.txt复制到本地文件系统中,与-put命令相反

hadoop fs –cat /user/sunlightcs/test.txt

查看HDFS文件系统里test.txt的内容

hadoop fs –tail /user/sunlightcs/test.txt
查看最后1KB的内容

hadoop fs –copyFromLocal test.txt /user/sunlightcs/test.txt
从本地文件系统复制文件到HDFS文件系统,等同于put命令
hadoop fs –copyToLocal /user/sunlightcs/test.txt test.txt
从HDFS文件系统复制文件到本地文件系统,等同于get命令

 hadoop fs –du PATH

显示该目录中每个文件或目录的大小
hadoop fs –dus PATH
类似于du,PATH为目录时,会显示该目录的总大小

5. 在mapper中获取当前正在处理的HDFS文件名/HDFS目录名

默认情况下,是按行来对数据进行处理的,由于对每一行数据,map()函数会被调用一次,我们有时可以根据文件名/目录名来获取一些信息,从而把它们输出,例如,目录名中包含了日期,则我们可以取出来并输出到Reducer。

在map()函数中,我们可以这样取文件名:

     InputSplit inputSplit = context.getInputSplit();

     String fileName = ((FileSplit) inputSplit).getName();

假设当前正在处理的HDFS文件路径为:/user/hadoop/abc/myFile.txt,则上面的 fileName 取到的是“myFile.txt”这样的字符串。

但如果要获取其目录名“abc”,则可以这样做:

     InputSplit inputSplit = context.getInputSplit();

     String dirName = ((FileSplit) inputSplit).getPath().getParent().getName();

转载于:https://www.cnblogs.com/cstar/archive/2013/03/19/2969002.html

你可能感兴趣的文章
去除iframe滚动条
查看>>
在WORD表格按列添加时间的一种方法
查看>>
poj 2455 Secret Milking Machine
查看>>
Linux 中,如何显示 (gcc)make时实际执行命令
查看>>
每个程序员都应该了解的内存知识(2)-CPU caches
查看>>
solr error logs org.apache.solr.common.SolrException: ERROR: [doc=17] unknown field alias
查看>>
django 项目创建使用
查看>>
简单的Verilog测试模板结构
查看>>
接口数据加密
查看>>
vue-router-transiton
查看>>
Micresoft Dynamices CRM 中的Webresouce
查看>>
DevExpress之TreeList节点绑定图片
查看>>
OC分类(Category)
查看>>
【Android游戏开发十四】深入Animation,在SurfaceView中照样使用Android—Tween Animation!...
查看>>
Python函数zip-map
查看>>
Django使用邮箱进行验证操作的实现方法
查看>>
BZOJ1206虚拟内存[hash]
查看>>
查询cad库中,所有程序leg引用的点的id,需要预先处理点表和程序表
查看>>
Docker Data Center系列(五)- 使用自定义的TLS安全认证
查看>>
julia生成指定格式的字符串.jl
查看>>