执行mapreduce程序时,报出error in shuffle错误,仔细检查发现,window用户名称中含有空格
此时可以删除空格,注意是你的系统用户名的空格,但是不建议,因为你的其他配置可能使用。
参考在linux虚拟机上运行的hadoop的core-site.xml的配置文件,hadoop运行时需要指定临时的文件存储目录
同理:
Configuration conf = new Configuration();
conf.set("hadoop.tmp.dir", "E:/hdfs_tmp_cache"); //指定hadoop运行时在本地的临时工作目录
然后在Run configurations 的jvm参数里设置:-DHADOOP_USER_NAME=root 这个root可以随便取名
在执行程序时就可以看到