Pydoop在AWS的Ubuntu上Segmentation fault 错误处理

原创 2017年07月14日 09:50:15

问题描述

平台用Python开发,使用pydoop对HDFS文件进行操作,当迁移到AWS时,出现Segmentation Fault,
通过排查,确定问题是因为调用了Pydoop对hdfs的初始化过程中出现的问题。
相关代码如下:

from pydoop.hdfs import fs;
print fs.hdfs()

通过gdb调试,错误信息如下:
这里写图片描述

问题原因

通过查阅资料,初步判断是由于堆栈溢出导致的异常,通过查看native_core_hdfs源码,发现该代码会从LIBHDFS_OPTS读取JVM配置信息,但是环境中缺少该变量的定义.通过添加该变量,问题得到解决

解决方案

1,在环境中增加下列变量的配置

export LIBHDFS_OPTS="-server -Xss2m -Xms2000m -Xmx2000m -Xmn800m -XX:PermSize=64m -XX:MaxPermSize=256m"

2,因为Spark中也有相关操作,所以还需要在spark/conf/spark-env.sh中增加该变量的配置:

export LIBHDFS_OPTS="-server -Xss2m -Xms2000m -Xmx2000m -Xmn800m -XX:PermSize=64m -XX:MaxPermSize=256m"
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

C++中Segmentation fault(Core Dump)错误处理

什么是Core Dump? Core的意思是内存, Dump的意思是扔出来, 堆出来. 开发和使用Unix程序时, 有时程序莫名其妙的down了, 却没有任何的提示(有时候会提示core dump...

Ubuntu--(8)段错误Segmentation fault (core dumped)

–段错误 指访问的内存超出了系统给这个程序所设定的内存空间,例如访问了不存在的内存地址、访问了系统保护的内存地址、访问了只读的内存地址等等情况,例如: 访问不存在的内存地址 include ...

signal 11(SIGSEGV) fault addr deadbaad错误处理

原文地址:signal 11(SIGSEGV) fault addr deadbaad错误处理 作者:landuochong 首先,你得承认经常看到这样的log是要崩溃的。。。。 没有任何d...

函数栈溢出引起的段错误segmentation fault

上个月遇到了一个奇怪的问题: 有一个回调函数中发生了段错误,但经检查也没有什么明显的错误,然后用排除法一点一点屏蔽,最后定位在一个函数里出错,但这个函数没什么明显错误。最后把入口参数改为引用传递就不报...
  • xxm524
  • xxm524
  • 2014-04-13 14:36
  • 2007

linux下segmentation fault(段错误)总结

Segment fault之所以能够流行于世,是与Glibc库中基本所有的函数都默认型参指针为非空有着密切关系的。     相信很多在linux做过开发的、学习linux编程的人都遇到过这个段错误,...

总结段错误(Segmentation fault)

1)往受到系统保护的内存地址写数据 有些内存是内核占用的或者是其他程序正在使用,为了保证系统正常工作,所以会受到系统的保护,而不能任意访问. 1 #include 2 ...

总结段错误(Segmentation fault)

总结段错误(Segmentation fault) 1)往受到系统保护的内存地址写数据 有些内存是内核占用的或者是其他程序正在使用,为了保证系统正常工作,所以会受到系统的保护,而不能...

用GDB调试Segmentation Fault错误

用GDB调试Segmentation Fault错误 收藏 调试Linux程序的时候,出现Segmentation Fault是最郁闷的事情了,程序代码量很大的时候,可能花很多时间都找不到出错原因。 ...

【已解决】Linux下出现Segmentation Fault(core dump)错误

今天被这个问题搞了半个小时,后来通过添加printf(...)语句的方法找到了错误原因,是因为在程序中错误的输出一个为空的字符串导致。。。 博客地址:http://www.cnblogs.com/p...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)