MRS集群pyspark使用obsclient报错缺少obs模块
MRS集群pyspark使用obsclient报错缺少obs模块,报错如下图1:
解决方案一:
前期准备
1. MRS2.1.0、Spark2.3.2
2. 样例代码
在提交任务的节点(比如master1),代码路径为/tmp/yy/
fly.py代码如下:
import add
from obs import *
from pyspark import SparkContext
from pyspark import SparkConf
conf=SparkConf().setAppName("Bird")
sc=SparkContext.getOrCreate(conf)
sc.stop()
3. 进去如下链接下载obs-python-sdk: https://github.com/huaweicloud/huaweicloud-sdk-python-obs
4. 下载后将huaweicloud-sdk-python-obs-master.zip包放在集群的各个节点上,我放在了目录/tmp/yy/下面
5. 集群上使用omm用户 su omm
6. 进行解压: unzip huaweicloud-sdk-python-obs-master.zip
7. 执行如下命令安装:cd huaweicloud-sdk-python-obs-master/src/
python3 setup.py install
8. 执行pip3 list 能看到sdk安装成功即可
9. 配置pyspark使用的python3.6
10. 配置PYSPARK环境变量
在提交任务的节点(比如master1),提交前执行
export PYSPARK_PYTHON=/usr/bin/python3.6
或将上面这一样配置在客户端客户端目录下spark-env.sh文件中(默认路径:/opt/client/Spark/spark/conf)
echo "export PYSPARK_PYTHON=/usr/bin/python3.6" >> /opt/client/Spark/spark/conf/spark-env.sh
11. 运行fly.py进行测试:
source /opt/client/bigdata_env;
/opt/client/Spark/spark/bin/spark-submit --master yarn-client(或yarn-cluster) --py-files /root/data/add.py /root/data/fly.py
注: --py-files也可以添加压缩文件
解决方案二:见链接https://bbs.huaweicloud.com/blogs/168935
- 点赞
- 收藏
- 关注作者
评论(0)