问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

大数据初学者需要看看哪些Hadoop问题及解决方案?

发布网友 发布时间:2022-04-23 23:37

我来回答

2个回答

懂视网 时间:2022-04-09 17:11

这个问题来的有点莫名奇妙,之前我的hadoop运行一直是正常的,某一天开始运行Mapreduce就报这个错。

试过很多种方法都没有用,比如

1.path环境变量
2.Hadoop bin目录下hadoop.dll和winutils.exe
3.c:windowssystem32 下的hadoop.dll
4.64为jdk
条件都满足了还是报错
技术分享
技术分享
技术分享

试了这些方法都没有用,最后只有改源码了。

下载相应版本的源码解压,找到NativeIO.java文件。将它加入到工程中去,如下图

技术分享

修改NativeIO.java

技术分享

最后重新执行程序就正常了。

 

解决org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z

标签:ima   access   解决   大小   log   没有   bin   apr   http   

热心网友 时间:2022-04-09 14:19

相信大家在学习大数据hadoop的时候肯定会遇到各种各样的问题,这篇文章就是介绍一些常的问题及如何解决的办法。
1、namenode无法启动,不报错
可能原因是:之前用root启动过,导致current文件夹的权限和所属更改了,需要更改回来
解决:current文件夹位于hadoop安装目录同级目录的tmp/dfs/namesecondary
2、WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platfo
原因:查看本地文件:
[root@db96 hadoop]# file /usr/local/hadoop/lib/native/libhadoop.so.1.0.0
/usr/local/hadoop/lib/native/libhadoop.so.1.0.0: ELF 32-bit LSB shared object,
Intel 80386, version 1 (SYSV), dynamically linked, not stripped
是32位的hadoop,安装在了64位的linux系统上。lib包编译环境不一样,所以不能使用。
解决:重新编译hadoop.就是重新编译hadoop软件。
3、Hadoop 报错be replicated to 0 nodes, instead of 1
原因(1)namespaceid不相同(2)没有足够的硬盘
解决(1)停止datanode(2)删除datadir下所有数据。(3)重启datanode
4、The ratio of reported blocks 0.0000 has not reached the threshold 0.9990. Safe mode will be turned off automatically.
原因:由日志可以看出无法删除/home/hadoop/tmp/mapred/system.(其实这只是一种假象,往往我们会去纠结于这个目录,其实不然)
解决:
(1):终极办法强制退出安全模式(safemode)
hadoop dfsadmin -safemode leave
这种方式虽然快,但会有遗留问题,我在用habse的时候就遇到过,很麻烦,然后你就用“hadoop fsck /”工具慢慢恢复吧。
(2):删除namenode下/home/hadoop/tmp下的所有文件,重新format,当然这种方式非常暴力,因为你的数据完全木有了
(3):参考源码可发现这个错误是在检查file的时候抛出来的,基本也就是file的block丢失、错误等原因造成的。
这种情况在副本数为1的情况下会很棘手,其他的时候hadoop基本能自行解决,错误数很多的情况下就会一直处于safemode下,当然你关于集群修改配置文件后的分发,本人写了一个配置文件分发工具可以强制离开安全模式,先保证正常读写,然后再启用“hadoop fsck /”工具慢慢修复。
5、Access denied for user 'root'@'hadoop1master' (using password: YES)
原因:没有除本地用户的其他用户远程连接
解决:修改mysql表,将localhost修改为%
6、运行本地的wordcount报错
该错误是缺少hadoop.dll(hadoop2.6.0编译的版本)文件,需要将hadoop.dll拷贝到hadoop2.6.0/bin目录下。
再次运行没有报错。
7、运行api的时候报了权限问题,使用的是hadoop,而我们想使用root
原因:配置环境变量中设置了HADOOP_USER_NAME=hadoop或者在run configuration中设置的-DHADOOP_USER_NAME=hadoop
解决:将配置环境变量中设置成HADOOP_USER_NAME=root或者在run configuration中设置的-DHADOOP_USER_NAME=root
8、org.apache.hadoop.dfs.SafeModeException:Name node is in safe mode安全模式
解决方法:bin/hadoop dfsadmin -safemode leave也就是关闭Hadoop的安全模式,这样问题就解决了。
9、用java -jar执行hadoop的job报错
原因:用hadoop的maprece变成,在执行的时候需要依赖hadoop的大部分依赖,所以上述错误是缺少hadoop的依赖包
解决:(1)建议使用hadoop -jar 执行job(2)如果使用java -jar,需要使用java -cp 把hadoop依赖的所有jar拼接到路径里面去(3)如果使用java -jar,另一种是在打包的时候把hadoop依赖的jar一起打包进去
10、运行mr程序报UnsatisfiedLinkError:nativeio.NativeIO$Windows.access0(Ljava/lang/String
一般这个问题是由本地hadoop环境变量照成的。需要设置hadoop_home变量的值。注意hadoop安装目录下,bin目录中缺少hadoop.dll和winutils.exe等动态库。还要增加bin目录到path路径。另外编辑器需要添加hadoop环境 还要注意jdk等是否正确安装。
11、在使用hdfs的copyfromlocal上传文件到hdfs时,爆出本地文件找不到异常,但是查看本地文件确实存在
原因:windows设置了隐藏已知文件的扩展名功能,导致上传的文件没有写扩展名
解决:在上传文件的地方添加上扩展名即可。
12、在执行hadoop-deamon.sh start xxx时报错
原因:启动的时候,节点名写错了
解决:修改名字,名字有, namenode datanode等
13、hadoop 8088 看不到maprece 任务的执行状态,无数据显示
解决方法:
(1)首先检查自己的集群中配置$HADOOP_HOME/conf/mapred-site.xml是否存在。
其中的maprece.framework.name是否配置。
(2)如果还不行的话,请在$HADOOP_HOME/conf/mapred-site.xml中原来的配置文件基础之上再添加下面

maprece.jobhistory.addressname>
master:10020value>
property>

maprece.jobhistory.webapp.addressname>
master:19888value>
property>
14、security.AccessControlException: Access denied for user sunqw. Superuser privilege is required
解决方法:
方式一:
在系统环境变量中增加HADOOP_USER_NAME,其值为root;
或者 通过java程序动态添加,如下:
?1System.setProperty("HADOOP_USER_NAME", "root");
方式二:
使用Eclipse在非hadoop运行下进行写入hdfs文件系统中时,由于sunqw对"/"目录没有写入权限,所以导致异常的发生。解决方法即开放hadoop中的HDFS目录的权限,命令如下:hadoop fs -chmod 777 / 。
方式三:
修改hadoop的配置文件:conf/hdfs-core.xml,添加或者修改 dfs.permissions 的值为 false。
方式四:
将Eclipse所在机器的名称修改为root,即与服务器上运行hadoop的名称一致。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
八月中国最凉快的地方 八月份哪里最凉快,去哪旅游好?美丽的地方 乱字同韵字是什么意思 华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 hadoop安全模式解除方法和为什么会安全模式 做健身教练是不是都要考证,怎么考证、在哪里学习、 健身教练考证需要什么条件? excel表格输入数字时第一行有.第二行为什么看不到了. 安徽省淮北市健身教练职业资格证丢了怎么补办? 健身教练需要要考什么证书? excel预览不到第三页 excel中为什么在第一行合并及居中后里面的内容不显示了? 为什么excel的第一列A列没有显示出来?是隐藏了吗?怎么让它部隐藏? 淮北哪里有考健身教练证的?多少钱? excel表格第一列现实就是2,取消隐藏没用,一般编辑的时候看不见第一列 EXCEL选中列数右上角不显示第几列怎么办 excel看表时看不到第一行的类别... EXCEL表格第一列看不到但打印能看到 Excel 工作表的行数太多,看不到第一行的内容怎么办 为什么苹果六更新7.012还是用不了黑暗模式? 听太多MP3还老是带耳塞听,现在觉得耳朵有点聋了,该怎么修复啊?? 乌龙闯情关主题曲-太多 太多歌曲原唱 苹果6的微信怎么设置暗黑模式 如何手动开启或关闭HDFS的安全模式 为什么hadoop集群一直处于安全模式状态 hadoop怎么退出安全模式? hadoop dfsadmin -safemode leave后jobtracke 9001端口关闭 hadoop集群部署出错,求帮助 在线等!!关于hadoop环境搭建问题 如何解决hadoop2.2一直处于安全模式 hadoop怎么查看是否是安全模式 hadoop 集群 怎么设置job 并行工作 启动hadoop集群的时候jobtracker日志里报这个异常,求高手指导是什么原因... namenode启动失败,这是什么原因 启动hadoop之后为什么又自动关闭了 64位msvcr100.dll放在哪 求一个能用的msvcp100.dll64位的,电脑出现msvcp100.dll丢失怎么解决 提示系统错误MSVCR100.DLL丢失是怎么回事? 求解win7 64位系统 MSVCR100.DLL加载失败 msvcr100.dll 关于丢失msvcr100.dll msvcr100.dll32/64位下载 地址哪里有 计算机中丢失MSVCR100.dll怎么办?