python中常见的错误,python程序报错
问题描述,火花-提交用故事模式提交一个大蟒脚本运行程序,运行到需要分布式的部分,即地图/地图分区等等放射性散布装置的时候,或者演员放射性散布装置的时候,报错如下:
回溯(最近一次呼叫):
文件/usr/lib64/python2.7/runpy.py ,第151行,在_运行_模块_as_main中
mod_name加载程序,代码,fname=_ get _ module _ details(模块名称)
文件/usr/lib64/python2.7/runpy.py ,第101行,在_获取_模块_详细信息中
loader=get_loader(mod_name)
get_loader中的文件/usr/lib64/python 2.7/pkgutil。py ,第464行
返回查找加载程序(全名)
文件"/usr/lib64/python 2.7/pkgutil。py”,第474行,在查找_加载程序中
对于iter_importers(全名)中的进口商:
iter _进口商中的文件/usr/lib64/python 2.7/pkgutil。py ,第430行
__导入_ _(包)
file /data 8/yarn/local-dir/user cache/bo。冯/app缓存/application _ 1448854352032 _ 70810/container _ 1448854352032 _ 70810 _ 01 _ 000002/py spark。zip/py spark/_ _ init _ _ .py ,第41行,英寸
file /data 8/yarn/local-dir/user cache/bo。冯/app缓存/application _ 1448854352032 _ 70810/container _ 1448854352032 _ 70810 _ 01 _ 000002/py spark。zip/py火花/上下文。py ,第35行,在
file /data 8/yarn/local-dir/user cache/bo。冯/app缓存/application _ 1448854352032 _ 70810/container _ 1448854352032 _ 70810 _ 01 _ 000002/py spark。zip/py spark/rdd。py ,第51行,在
file /data 8/yarn/local-dir/user cache/bo。冯/app缓存/application _ 1448854352032 _ 70810/container _ 1448854352032 _ 70810 _ 01 _ 000002/py spark。zip/py火花/洗牌。py ,第33行,在
文件 build/BD ist。Linux-x86 _ 64/egg/psutil/_ _ init _ _ .py ,第89行,英寸
文件构建/bdist。Linux-x86 _ 64/egg/psutil/_ PS Linux。py ,第24行,在
文件构建/bdist。Linux-x86 _ 64/egg/_ psutil _ Linux。py 中的第七行
__bootstrap__中文件构建/bdist。Linux-x86 _ 64/egg/_ psutil _ Linux。py 的第四行
资源文件名中的文件"/usr/lib/python 2.7/site-packages/pkg _ resources。py "的第945行
自己,资源名称
获取资源文件名中的文件"/usr/lib/python 2.7/site-packages/pkg _ resources。py "的第1633行
自我.提取资源(经理,自己.急_到_zip(姓名))
文件"/usr/lib/python 2.7/site-packages/pkg _ resources。py”,第1661行,在资源中提取
自我. egg_name,自我._部件(zip_path)
获取缓存路径中的文件"/usr/lib/python 2.7/site-packages/pkg _ resources。py "的第1025行
self.extraction_error()
文件"/usr/lib/python 2.7/site-packages/pkg _ resources。py”,第991行,不可提取_错误
引发错误
pkg _资源。提取错误:无法将文件提取到蛋缓存
尝试将文件提取到蟒蛇蛋时出现以下错误
缓存:
[错误13]权限被拒绝:"/home/" ."蟒蛇蛋"
蟒蛇蛋缓存目录当前设置为:
/home/.蟒蛇蛋
也许您的帐户没有这个目录的写权限?你可以
通过设置PYTHON_EGG_CACHE环境来更改缓存目录
变量指向可访问的目录。
解决方案:
1、在你的地图/地图分区里面的代码里面加上:
OS。environ[ PYTHON _ EGG _ CACHE ]=/tmp/.PYTHON-eggs/ OS。environ[ PYTHON _ EGG _ DIR ]=/tmp/.python-eggs/
2、在集群的每一台机器上面配置环境变量(推荐):
OS。environ[ PYTHON _ EGG _ CACHE ]=/tmp/.PYTHON-eggs/ OS。environ[ PYTHON _ EGG _ DIR ]=/tmp/.python-eggs/
3、打开发动的根目录,光盘到python/lib,找到pyspark.zip文件,解压文件,光盘到pyspark里面,找到rdd.py,vim打开,找到"导入操作系统"这一行,在这行下面插入代码:
OS。environ[ PYTHON _ EGG _ CACHE ]=/tmp/.PYTHON-eggs/ OS。environ[ PYTHON _ EGG _ DIR ]=/tmp/.python-eggs/
以上三种方案都不能解决这个问题的话,建议先用大数据的流动功能提交一个大蟒的执行文件,测试故事是否支持大蟒运算。
然后再看看用发动的单独的模式是不是可以提交大蟒任务。
以上。
如果还有问题,那就只能发邮件给发动的开发组了。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。