Hadoop大作业
声明
本次期末大作业,我本人花了许多时间用在处理报错的情况,由于报错情况繁多,而且大多情况下,本人处理的报错或许与报错本身无关,因此单独抽出一个模块进行报错类型以及我处理报错的流程。若想更高效地处理报错,请参考其他博客,谢谢。
注意
请注意执行stop-dfs.sh来关闭Hadoop由于报错类型多样,且网上解决方案多以伪分布式类的解决方案,请注意配置伪分布式Hadoop,拒绝单机模式。
处理报错
键入start-dfs.sh未能成功启动NameNode
解决办法(注意路径):./bin/hdfs namenode -format
./sbin/start-dfs.sh
键入start-dfs.sh未能成功启动DataNode
解决办法:进入
/usr/local/hadoop/etc/hadoop/tmp/dfs
删除
data
文件夹。
Call From 127.0.1.1 to localhost:9000 failed on connection exception
解决办法:- 启用root用户。
su root
- 执行如下命令并将结果复制
hostname
- 执行如下命令
vim /etc/hosts
- 找到如下字符并在前打上**#**
127.0.1.1 ********
- 添加127.0.0.1 并键入剪切板内容
- 保存退出
- 重启虚拟机
Input path does not exist: hdfs://localhost:9000/input
解决方法:检查Hadoop配置过程中是否遗漏文件夹创建源代码
package org.apache.hadoop.examples;
import java.io.IOException;
import java.util.Iterator;
import java.util.StringTokenizer;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.mapreduce.Reducer;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop