有时候 计算节点所在服务器 可能没有相关的环境,导致程序找不到依赖等情况,这种情况可以通过分发环境包来解决。
这里以python 举例,可以将整个python 安装目录打包,上传到hdfs, 在执行命令的时候添加 -archives "hdfs://HACluster/env/python35.tar.gz#py"
意思是将 hdfs 上的 python35.tar.gz 先分发到各个计算节点并解压到 py 文件夹下,(注意这里的路径是在 container 中虚拟出来的一块空间, 而非实际的 文件路径 )
然后在指定 mapper 的时候,就可以这样子指定 -mapper "py/Python-3.5.0/bin/python3.5 mapper.py"