你好,游客 登录
背景:
阅读新闻

解决Hadoop和Spark本地版本库不统一的问题

[日期:2016-07-25] 来源:IT社区推荐资讯  作者: [字体: ]

就是报以下这个警告的,也不知道对运行程序究竟会产生什么样的影响,但看着就是不爽,还耽误了我几天时间,把它给解决了,这里记一下,方便以后查找。

Hadoop

unable to load native-hadoop library for your platform... using builtin-java classes where applicable

先是运行Hadoop的时候报该错误,当时发现是由于Hadoop所需要的版本库和系统本地的glibc的版本库不一致导致的,但是有一个问题是系统本地库的地址是在根目录的lib和lib64下面,由于对服务器没有root权限,是无法修改该库的版本的,因此到这里,网上说的大部分解决方案都不行了。

既然不能修改本地库,那就考虑修改环境变量中的PATH,PATH路径要保证读的库地址要在本地库地址路径的前面,因为PATH只要找到结果就会返回,那么我们就把路径/home/work/lacol/加进去并放在前面。

我们需要自己编译一个合适的版本库,例如编译到/home/work/local/glibc目录中,然后把该目录同步到其他相同的服务器,然后用软链接,注意在集群上批量执行该命令:

ln -s /home/work/local/glibc/libc.so /home/work/local/lib64/libc.so.6

以上就解决了Hadoop的版本库的问题,可是打开Spark,发现Spark还报版本库的错误,网上给的 该解决方案 并不能解决该问题,后来在spark-env.sh中增加了 lib64 的地址,最终边为如下:

export LD_LIBRARY_PATH=$SPARK_SUBMIT_LIBRARY_PATH:$HADOOP_HOME/lib/native:/home/work/local/lib/:/home/work/local/lib64/

再SCP到所有集群上面,遂解决。





收藏 推荐 打印 | 录入: | 阅读:
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款