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

本文共 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

你可能感兴趣的文章
H3C ospf router id 重复真的不能建立邻居吗?
查看>>
【symfoware OPEN】数据库基本操作
查看>>
iphone:截屏
查看>>
Mac 下 VirtualBox ubuntu 共享空间
查看>>
CENTOS6.3利用Keepalived构建双主MySQL+双机热备
查看>>
常用算法收集
查看>>
listview的简单使用(Baseadapter)
查看>>
Oracle导入程序Imp的使用详解
查看>>
******技术宝典Web实战篇(第2版)英文版PDF格式
查看>>
Java多线程设计模式(4)线程池模式
查看>>
软件打包卖 虚拟化管理成重点
查看>>
backtrack学习之路之前绪
查看>>
RAID磁盘阵列的原理
查看>>
查询数据库所有依赖
查看>>
git常用命令
查看>>
两个无符号数相减 可以得到负数
查看>>
Mysql数据库的基本概念
查看>>
浅谈axios
查看>>
[20190213]测试服务端打开那些端口.txt
查看>>
[Django学习] Django基础(3)_templates与static配置
查看>>