Ubuntu搭建Spark运行环境

前言

    因为之前研究的方向是分布式系统,重点放在了Hadoop分布式文件系统上。现如今,社会对机器学习的需求势如破竹。为了调整研究方向,而且不抛弃原本的研究成果,研究反向便从分布式系统转为分布式机器学习算法(刚起步,可能这种说法会不太正确)。Spark MLlib是Apache Spark的可扩展的机器学习库,并提供有Scala,Java,Python的API。Mahout 是 Apache旗下的一个开源项目,提供了一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout包含许多实现,包括聚类、分类、推荐过滤、频繁子项挖掘。此外,通过使用 Apache Hadoop 库,Mahout 可以有效地扩展到云中。因此,从今往后重点将会放在Spark Mlib和Mahout上。本文着重描述Spark环境的搭建以及环境测试。

1 基本环境搭建

    1.1 环境变量配置

         使用vim编辑环境变量文件:/etc/profile:

1 #install vim 
2 sudo apt-get install vim
3 #edit env. profile
4 sudo vim /etc/profile

        在/etc/profile文件末尾添加如下内容(为了方便以后更深入学习机器学习,以下配置文件包含protobuf,Mahout等配置。注意:各软件的安装位置需要按需修改):

 1 #Java env.
 2 export JAVA_HOME=/your_Java_home
 3 export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
 4 export PATH=$JAVA_HOME/bin:/usr/local/protobuf/bin:$PATH
 5 
 6 #Scala env.
 7 export SCALA_HOME=/your_Scala_home
 8 export PATH=$SCALA_HOME/bin:$PATH
 9 
10 #Spark env.
11 export SPARK_HOME=/your_Spark_home
12 export PATH=$SPARK_HOME/bin:$PATH
13 
14 #Python env.
15 export PYTHONPATH=/your_python_home
16 
17 #Hadoop env.
18 export HADOOP_HOME=/your_hadoop_home
19 export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
20 export PATH=$PATH:$HADOOP_HOME/bin
21 export HADOOP_HOME_WARN_SUPPRESS=not_null
22 
23 #Mahout env.
24 export MAHOUT_HOME=/your_Mahout_home
25 export MAHOUT_CONF_DIR=$MAHOUT_HOME/conf
26 export PATH=$MAHOUT_HOME/conf:$MAHOUT_HOME/bin:$PATH

         由于进行Spark基本环境测试时,使用了Hadoop文件操作功能(上传),另需部署Hadoop伪分布式环境。本文着重描述Spark环境搭建,因此不再赘述Hadoop环境搭建。

2 基本环境测试及结果

    2.1 启动Hadoop

         首先,进入Hadoop根目录,如图红框所示。

         其次,使用如下命令启动Hadoop。(备注:注释行命令也可启动Hadoop,不过此方法已经被取代了。)

         最后,通过jps查看Hadoop各个组件是否正确启动。若出现异常,请查阅相关官方文档。

1 #./sbin/start-all.sh
2 ./sbin/start-dfs.sh

    2.2 启动Spark

         由于环境变量配置好了,因此直接使用pyspark启动python shell模式的spark。(官方文档中提供有Scala模式的spark启动模式)

         至此,命令行环境搭建已经完毕。可使用官方文档提供的案例进行测试。注意:需要提前上传测试文件到HDFS。可查阅相关的Hadoop Shell命令

3 IDE环境搭建

    3.1 Edit Configurations

         红框是需要注意的地方。

         重点一:需要新建一个空python文件才能进行配置。

         重点二:Environment variables中的PYTHONPATH是配置Spark根目录下的python。

    3.2 Project Settings

        为了确保测试代码的库都完整导入,需要进行Project的Settings修改。

        File->Settings->Project Structure->如图所示,将spark路径下的py4j和pyspark库添加到Add Conetent Root中。(若此步骤之后仍有报错,可能需要先使用pip install py4j。)

4 IDE环境测试及结果

     4.1 Word Count测试

         重点一:sc位于pyspark.shell中。

         重点二:若textFile指定HDFS上的文件,需要事先上传测试文件。(官方文档中写明,可以使用本地文件)

         重点三:saveAsTextFile将结果存储到HDFS上时,不能多次存到同一个文件夹。(注意:这个名字是文件夹,结果会有三个文件,或者更多个文件?)

         重点四:Process finished with exit code 0。此时才表示成功执行测试案例。

     4.2 查看测试结果集

         使用Hadoop Shell命令查看wc_output_02文件夹下,存在三个文件。可进一步使用cat命令查看结果。

总结

     整个环境搭建过程中,未遇到特大的问题。官方文档中提供的Examples可以在命令行中直接使用,但在pycharm上则需要添加部分语句,不过算是比较容易解决的小问题。

转载于:https://www.cnblogs.com/choibunbing/p/7143307.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值