hadoop使用FAQ

1.Hive任务内存溢出

hive执行select day_id,count(1) from ti_94014_signal_physics_yyyymmddhh   group by day_id; Mapreduce报错
报错:
 For more detailed output, check application tracking page:http://oc-data-152:8088/cluster/app/application_1467076091284_38724Then, click on links to logs of each attempt.
Diagnostics: Container [pid=130260,containerID=container_e18_1467076091284_38724_01_000001] is running beyond physical memory limits. Current usage: 1.0 GB of 1 GB physical memory used; 1.8 GB of 2.1 GB virtual memory used. Killing container.
Dump of the process-tree for container_e18_1467076091284_38724_01_000001 :
|- PID PPID PGRPID SESSID CMD_NAME USER_MODE_TIME(MILLIS) SYSTEM_TIME(MILLIS) VMEM_USAGE(BYTES) RSSMEM_USAGE(PAGES) FULL_CMD_LINE
|- 130260 130257 130260 130260 (bash) 0 0 115847168 362 /bin/bash -c /usr/jdk64/jdk1.7.0_67/bin/java -Djava.io.tmpdir=/data/data4/hadoop/yarn/local/usercache/ynhajob/appcache/application_1467076091284_38724/container_e18_1467076091284_38724_01_000001/tmp -Dlog4j.configuration=container-log4j.properties -Dyarn.app.container.log.dir=/data/data6/hadoop/yarn/log/application_1467076091284_38724/container_e18_1467076091284_38724_01_000001 -Dyarn.app.container.log.filesize=0 -Dhadoop.root.logger=INFO,CLA -Dhadoop.root.logfile=syslog -Dhdp.version=2.3.4.7-4 -Xmx819m -Dhdp.version=2.3.4.7-4 org.apache.hadoop.mapreduce.v2.app.MRAppMaster 1>/data/data6/hadoop/yarn/log/application_1467076091284_38724
 
判断:Hive任务内存溢出
 
修改参数:set yarn.app.mapreduce.am.resource.mb=2048;(原配置1024)
 
set mapreduce.map.java.opts=-Xmx1638m;
set mapreduce.map.memory.mb=2048;
set mapreduce.job.reduce.slowstart.completedmaps=0.90  —这三个暂时不用修改,只是相关参数可以熟悉下
 
说明:
select day_id,count(1) from ti_94014_signal_physics_yyyymmddhh  
insert into table tmp_liyangtest_20160828 select day_id,count(1) from ti_94014_signal_physics_yyyymmddhh group by day_id;
 
这两个一个直接打印出结果,一个写入临时文件;insert方式并不能节约内存
create table tmp_liyangtest_20160828 (a string,b string)
 
 

2.执行setfacl报错

[root@ai185 ~]# hadoop fs -setfacl -R -m user:aaa:rw- /app/aaa
setfacl: The ACL operation has been rejected.  Support for ACLs has been disabled by setting dfs.namenode.acls.enabled to false.
 
判断:
设置访问控制列表,acls默认未开启,直接使用该命令会报错
 
解决:
开启acls,配置hdfs-site.xml
[hadoop@localhost hadoop-2.5.2]$ vi etc/hadoop/hdfs-site.xml
<property>
    <name>dfs.namenode.acls.enabled</name>
    <value>true</value>
</property>
 
重启hdfs
 

3.dismission datanode节点很慢

 
加以下参数:
dfs.namenode.replication.max-streams   200
dfs.namenode.replication.max-streams-hard-limit 400
dfs.namenode.replication.work.multiplier.per.iteration 100
 

4.slider 提交yarn任务失败,报failed to renew token TIMELINE_DELEGATION_TOKEN异常

slider所在机器的timeline.enable配置改 false就成功 
 
 
原文地址:https://www.cnblogs.com/brownyangyang/p/9145736.html