更改hadoop native库文件后datanode故障
hadoop是用cloudra的官方yum源安装的,服务器是CentOS6.3 64位操作系统,自己写的mapreduce执行的时候hadoop会提示以下错误:
WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
网上说是这样的
Hadoop的native是在32 bit环境下编译的,在64bit环境下运行会有问题,所以需要下载hadoop的源码在64bit环境下重新编译
然后在官方文档里找到了相应的解释
链接:http://hadoop.apache.org/docs/r2.5.1/hadoop-project-dist/hadoop-common/NativeLibraries.html
The pre-built 32-bit i386-Linux native hadoop library is available as part of the hadoop distribution and is located in the lib/native directory. You can download the hadoop distribution from Hadoop Common Releases.Be sure to install the zlib and/or gzip development packages - whichever compression codecs you want to use with your deployment.
于是,按照官档里的说明在服务器上Build出新的hadoop,把native里面的库文件替换默认的的库文件,搞定,重启hadoop所有服务,自己写的mapreduce可以用了,那么接下来问题来了……发现hdfs进入了Safemode,说有个多少多少块corrupted,然后发现重启期间有同事在使用mapreduce,怀疑是这个原因造成了数据的损坏。由于数据有备份,于是手动解除Safemode,用hadoo fsck删掉了坏掉的数据块,此时是不提示corrupted了,可是惊奇的发现,datanode没有起来!
Hadoop datanode is dead and pid file exists
紧接着,找到存在的pid file,rm之,再起!还是不行!找到datanode的日志,发现有FATAL信息!
2014-11-26 14:35:49,577 FATAL org.apache.hadoop.hdfs.server.datanode.DataNode: Exception in secureMain java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.SharedFileDescriptorFactory.createDescriptor0(Ljava/lang/String;Ljava/lang/St ring;I)Ljava/io/FileDescriptor;at org.apache.hadoop.io.nativeio.SharedFileDescriptorFactory.createDescriptor0(Native Method)at org.apache.hadoop.io.nativeio.SharedFileDescriptorFactory.create(SharedFileDescriptorFactory.java:87)at org.apache.hadoop.hdfs.server.datanode.ShortCircuitRegistry.<init>(ShortCircuitRegistry.java:169)at org.apache.hadoop.hdfs.server.datanode.DataNode.initDataXceiver(DataNode.java:586)at org.apache.hadoop.hdfs.server.datanode.DataNode.startDataNode(DataNode.java:773)at org.apache.hadoop.hdfs.server.datanode.DataNode.<init>(DataNode.java:292)at org.apache.hadoop.hdfs.server.datanode.DataNode.makeInstance(DataNode.java:1893)at org.apache.hadoop.hdfs.server.datanode.DataNode.instantiateDataNode(DataNode.java:1780)at org.apache.hadoop.hdfs.server.datanode.DataNode.createDataNode(DataNode.java:1827)at org.apache.hadoop.hdfs.server.datanode.DataNode.secureMain(DataNode.java:2003)at org.apache.hadoop.hdfs.server.datanode.DataNode.main(DataNode.java:2027) 2014-11-26 14:35:49,580 INFO org.apache.hadoop.util.ExitUtil: Exiting with status 1 2014-11-26 14:35:49,582 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: SHUTDOWN_MSG: /************************************************************ SHUTDOWN_MSG: Shutting down DataNode at carweb94/10.14.1.94
搜索了下,发现是native库文件的问题!好吧,这下找到元凶了,把默认的native库文件替换回来了,问题解决了。排错的过程中,这篇文章给了很大启发。
http://stackoverflow.com/questions/26467568/hadoop-2-5-0-failed-to-start-datanode
转载于:https://www.cnblogs.com/fanfanfantasy/p/4123412.html
更改hadoop native库文件后datanode故障相关推荐
- 很详细、很移动的Linux makefile教程:介绍,总述,书写规则,书写命令,使用变量,使用条件推断,使用函数,Make 的运行,隐含规则 使用make更新函数库文件 后序...
很详细.很移动的Linux makefile 教程 内容如下: Makefile 介绍 Makefile 总述 书写规则 书写命令 使用变量 使用条件推断 使用函数 make 的运行 隐含规则 使用m ...
- git删除本地代码库文件后同步到远程仓库同时删除远程仓库文件
1.更新本地代码库 git pull 2.对需要删除的文件.文件夹进行如下操作: git rm ss.c(删除文件) git rm -r aaa (删除文件夹) 3.提交修改 git commit - ...
- linux 环境变量文件_应急响应系列之Linux库文件劫持技术分析,有点硬核哟
0×01 菜逼阶段 Linux库文件劫持这种案例在今年的9月份遇到过相应的案例,当时的情况是有台服务器不断向个可疑IP发包,尝试建立连接,后续使用杀软杀出木马,重启后该服务器还是不断的发包,使用net ...
- Linux库文件详解
源自: https://www.cnblogs.com/yangg518/p/5842651.html 转自: http://www.cppblog.com/deane/articles/165216 ...
- halcon 库文件使用
halcon库文件的使用 在打开halcon开发程序时,有时打开时会出现 [函数未实现] 的报警 主要原因库文件未导入(开发工具不认识 库文件) 解决方法: 1.打开函数 ==> 管理函数 2. ...
- java 中 Native.loadLibrary 不能加载 jar 包中库文件的解决方案
比如拿 jna 加载海康测速库文件为例: windows环境: (HCNetSDK) Native.loadLibrary("E:\\xxx\\HCNetSDK.dll", HCN ...
- php编译自己库文件,php编译后追加库模块-gd库
[root@local]# yum install gd-devel ##安装gd的开发包 [root@local]# cd /root/lnmp/src/php-5 ...
- linux下Qt调用C++库文件(.so)程序实现
文章目录 主要内容 一.编程环境及实现方法 二.项目实现 1.创建项目 2.导入库文件 三.项目中遇到的问题 总结 主要内容 如标题所示,在linux下使用qtcreator创建项目调用C++库文件, ...
- hadoop HDFS常用文件操作命令
命令基本格式: hadoop fs -cmd < args > 1.ls hadoop fs -ls / 列出hdfs文件系统根目录下的目录和文件 hadoop fs -ls -R / 列 ...
最新文章
- 大型企业网络配置系列课程详解(五) --Frame-Relay配置与相关概念的理解
- svn服务端及客户端搭建和使用(三)
- 大学c语言程序设计大赛,关于举办宁夏大学第二届C语言程序设计大赛的通知
- 06:校门外的树【一维数组】
- 爱快--虚拟机单网卡(带机上网)
- 下载npm并配置npm环境
- 删除操作,提示“无法读取源文件或磁盘”,解决办法!
- cso是什么职位(企业cso是什么职位)
- 软件工程专业知识体系
- 电脑安全证书错误怎么处理比较好
- 【Serenity BDD】Serenity 2.2.0 版本变动说明及相应的配置变动
- 我是如何在一家独角兽公司做业务中台、数据中台的?8页ppt详解中台建设实践!...
- 罗技M590优联无法使用的问题解决
- 简单猜年龄游戏Python代码
- 中国城市电话区号对照表中国移动短信中心号查询及命名规则
- Unity3D Shader 入门
- VMware虚拟机ping不通主机,Destination Host Unreachable
- [企业微信通知系列]Jenkins发布后自动通知
- DJI大疆 windows SDK开发入门(1) integrate SDK into Application
- jdk8移除了PermGen,取而代之的是MetaSpace