Spark伪分布式部署并使用pyspark

建议使用ubuntu16.04搭建,我这里使用的是ubuntu16.04
如果没有ubuntu16.04系统,可以在win10上使用vmware或者virtualBox搭建一个ubuntu16.04的虚拟机

上传spark-2.2.0-bin-hadoop2.7.tgz到相应目录下并解压

我这里上传到用户目录的app目录下
进入用户目录

1
cd ~

新建app目录

1
mkdir app

将文件呢上传至app目录下,解压

1
tar -zxf spark-2.2.0-bin-hadoop2.7.tgz

重命名

1
mv spark-2.2.0-bin-hadoop2.7 spark-2.2.0

配置无密码登录localhost

参考另一篇博客
上面虽然是集群配置无密码登录,但是本机配置无密码登录本地localhost与之类似

启动spark

进入spark目录下

1
cd spark-2.2.0

输入以下命令启动spark

1
sbin/start-all.sh

启动成功显示如下

输入jps如上图显示Master,Worker两个进程即启动成功。

输入以下命令关闭spark

1
sbin/stop-all.sh

配置pyspark

ubuntu16.04 自带python2.7和python3.5,默认python命令是python2.7,使用Python3.5的命令时python3
spark默认的pyspark是对应的是ubuntu16.04默认的python,即python2.7。

要修改为python3.5,需要设置一下环境变量
修改用户目录下 .bashrc文件

1
vim ~/.bashrc

在文件末尾添加以下语句

1
export PYSPARK_PYTHON=python3

vim 简单操作,按h光标左移,按j光标下移一行,按k光标上移一行,按l光标右移,按G到文件末尾,按o在下一行插入,按i在当前位置插入,按esc切换至命令模式,按:wq保存退出

保存退出后输入以下命令时环境生效

1
source ~/.bashrc

确认启动spark后再启动pyspark

pyspark已换成python3.5。
输入exit()退出pyspark

建议换一下Python的pip源。参考另一篇博客

使用spark-submit提交任务

使用bin/spark-submit Python文件 [参数]来提交使用Python编写的spark任务,如下图

初次提交会有很多日志,这时需要修改一下配置文件去掉没用的日志

去除无用的日志

进入spark目录下的conf文件夹

1
cd conf

重命名日志配置文件

1
mv log4j.properties.template log4j.properties

编辑日志配置修

1
vim log4j.properties

修改其中的一行

1
log4j.rootCategory=INFO, console

修改为

1
log4j.rootCategory=WARN, console

保存退出

再次提交任务

没有多余的日志了

至此,spark单机伪分布式和pyspark配置完成,接下来就可python编写spark程序并使用伪分布式运行了

打赏

请我喝杯咖啡吧~

支付宝
微信