1.在eclipse中将Java程序打包成jar包
  出现错误,是因为hadoop文件夹没有写入权限,可以修改jar file的保存路径,先保存在另一个地方,然后移动到hadoop文件夹中(其实是否放在hadoop文件夹中好像没啥影响)。
2. 在命令行运行jar包
报错1:执行Wordcount.jar时出现找不到主类  是因为WordCount类的地址不精确,前面要加包名
hadoop jar /usr/hadoop/hadoop-2.7.3/WordCount.jar book.WordCount /wordcount_input /wordcount_output

报错2:防火墙未关闭 若加了包名之后还是出错,是因为从节点slave1、slave2断开了,需要检查一下然后重启。若没有断开,就是因为防火墙开启了,需要关闭集群的防火墙。  查看防火墙状态 systemctl status firewalld.service 关闭防火墙 systemctl stop firewalld.service
报错3:jar包路径不对,报错Not a valid JAR  应改成jar包所在路径
hadoop jar /usr/hadoop/hadoop-2.7.3/examples/hbase_simple.jar hbase_simple.HbaseBean
报错4:Hadoop运行环境中缺少支持的jar包依赖  关闭hadoop,在hadoop的配置文件/usr/hadoop/hadoop-2.7.3/etc/hadoop/hadoop-env.sh 中添加: export HADOOP_CLASSPATH=/usr/hbase/hbase-1.4.13/lib/*
报错5:运行任务内存不够 运行hadoop任务报错org.apache.hadoop.yarn.exceptions.InvalidResourceRequestException: Invalid resource  原因:yarn默认是设置1.5G内存来运行任务,但是虚拟机内存太小,没有1.5G,要改小运行任务内存 方法:把如下的1024改成2048 
3.程序运行
若运行时一直卡在running job或map 0% reduce 0%  修改yarn-site.xml文件 
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value> 20480 </value>
</property>
<property>
<name>yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage</name>
<value>95.0</value>
</property>
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>2048</value>
</property>
<property>
<name>yarn.nodemanager.vmem-pmem-ratio</name>
<value>2.1</value>
</property>
|