执行pyspark报错env: ‘python’: No such file or directory问题

这学期学大数据分析与内存计算,在搭建spark环境前期遇到了一些问题,零零散散的,统计并记录一下。这两天很感谢我的上官老师,还有热心帮助我的同学!

问题一

xshell新建会话,建立连接,没有ssh警告,导致无法连接

解决办法:

我很懒,方法如下图:

pyspark连接CDH pyspark连接集群失败_spark


下面这句话需要先在linux系统上执行,然后再去连接xshell,不然连接不上滴~

sudo apt-get install openssh-server

问题二

无法定位软件包

比如执行如下python-pip的例子:

sudo apt install python-pip

pyspark连接CDH pyspark连接集群失败_ubuntu_02


这些情况可能你的操作系统或者依赖包比较老,需要先进行更新!如下语句:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

然后再去执行 apt-get install python-pip,大多数情况都是这个问题!

问题三

pyspark的启动时出错,要求python版本,python3与python的软连接问题

接上一个问题,我在安装python的时候呢,python版本安装不上,就安装了python3版本,所以在后面pyspark部分我的pip也必须是pip3。
例如:

pip3 install pyspark

当然我这样其实也成功了,不仅能成功进入spark-shell,测试也都成功;

pyspark连接CDH pyspark连接集群失败_上传_03

但是我在尝试进入pyspark的终端时候,一直报错如下:

(bin/pyspark:未找到命令 env:“python”没有那个文件或目录)

pyspark连接CDH pyspark连接集群失败_spark_04


搜了谷歌,找到一些答案,意思是python路径不对,需要修改,我的是python3,这个时候我不需要修改其他,只需要进行一个软连接。如果没有确定python是哪一个版本,可以在终端敲入:

python -V

&

which python

pyspark连接CDH pyspark连接集群失败_ubuntu_05


pyspark连接CDH pyspark连接集群失败_python_06


解决办法:

sudo ln -s /usr/bin/python3 /usr/bin/python

执行完,没有任何错误提示,直接跳到下一个命令行就算执行正确了;再去查看python的版本,就不再是python3了,直接python -V即可。(python3的话需要python3 -V)
然后再执行如下一步,切换python的版本:

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150

这个时候再去spark包下的bin目录里面执行:

>>>pyspark

就会显示成功啦~

进入监控页面查看一下!

在自己的本机上谷歌键入:

http://192.168.0.0:4040

其中的192.168.0.0必须换成你自己的操作系统的ip呀!

  • 碎碎念
    ①jdk和spark的路径配置一定要认真写全!
    ② 修改~/.bashrc后,退出,到命令行 敲下source ~/.bashrc,修改才有效!
    ③linux基础命令
    rz:从windows上传到linux上
    sz:从linux上传到windows上
    i : 进入编辑模式
    esc:退出编辑模式,进入指令模式
    gg: 可以快速定位到文件开始部位
    G:可以快读定位文件结束部位
    :wq 退出并保存
    :q! 不保存只退出
    ④关于vi操作,有个书为: vi用户手册,可以下载这个书看下,常用的要熟练掌握。

初学spark,多多指教。