前言

因为之前研究的方向是分布式系统,重点放在了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

Ubuntu搭建Spark运行环境相关推荐

  1. ubuntu下php服务器搭建_Ubuntu服务器下搭建php运行环境的方法

    本文实例讲述了Ubuntu服务器下搭建php运行环境的方法.分享给大家供大家参考,具体如下: 安装 Apache2: sudo apt-get install apache2 安装PHP模块: sud ...

  2. linux pip3使用清华源_Linux实战016:Ubuntu搭建python开发环境

    我们在安装Ubuntu系统的时候会自带安装python2.7和python3.6版本的Python解释器,直接执行"ptyhon"默认运行的是python2.7,只有执行" ...

  3. ubuntu vscode 配置字体_第五章 Ubuntu搭建ESP32开发环境(vscode)

    Vscode安装 ubuntu软件中自带vscode的安装包,一键完成,不废话,没有的想办法解决. 编译链操作 下载 官方最新地址 有系统区别,下载对应的压缩到到电脑 · for 64-bit Lin ...

  4. 如何使用intellij搭建spark开发环境(下)

    本文转自http://www.beanmoon.com/2014/10/11/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8intellij%E6%90%AD%E5%BB%B ...

  5. 如何使用IntelliJ IDEA搭建spark开发环境(上)

    本文部分转自http://www.beanmoon.com/2014/10/11/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8intellij%E6%90%AD%E5%BB ...

  6. Intellij搭建spark开发环境

    spark怎么学习呢?在一无所知的前提下,首先去官网快速了解一下spark是干什么的,官网在此.然后,安装开发环境,从wordcount开始学习.第三,上手以后可以学习其他算法了.最后,不要放弃,继续 ...

  7. 搭建Spark开发环境并完成wordcount示例

    一.搭建Spark开发环境流程 1.安装eclipse,我这里用的是集成环境,解压就能用.(包含了scala环境) 安装包传送门: 2.导入相关的jar包 Jar包传送门: 具体操作: (1)装上以上 ...

  8. Intellij IDEA使用Maven搭建spark开发环境(scala)

    如何一步一步地在Intellij IDEA使用Maven搭建spark开发环境,并基于scala编写简单的spark中wordcount实例. 1.准备工作  首先需要在你电脑上安装jdk和scala ...

  9. 从零使用qemu模拟器搭建arm运行环境

    原文链接: http://blog.csdn.net/linyt/article/details/42504975 为什么会有这篇文章 早在2011年的时候,跟当时同事一起讨论,做Linux系统开发正 ...

最新文章

  1. UI复习练习_优酷布局
  2. db2 如何导出insert语句_MySQL 执行脚本/导入/导出数据
  3. 一个javascript框架应有的功能
  4. P3703-[SDOI2017]树点涂色【LCT,线段树】
  5. python3 自动打包部署war包
  6. python怎么导入模块-Python中如何引入第三方模块
  7. 如何在HTMl网页中插入百度地图
  8. 教你一招!在Mac上使用自带的程序创建加密的文件磁盘
  9. simplemind pro for Mac(思维导图)
  10. 数学史上10个备受质疑的伟大时刻
  11. 配置JAVA_HOME
  12. Q2财报后股价遭重挫,搜狗的AI招牌也失灵?从翻译录音笔体验看背后的花拳绣腿...
  13. 第一章 Java性能调优概述
  14. 微信群助手机器人如何使用?哪家群助手好用?
  15. CSDN官方力推的《用户社区》,值得你来逛逛
  16. 元宇宙路在何方?觅伊以视频社交切入迎接新机遇
  17. Java系列技术之SSH整合+用户权限控制模型项目-钟洪发-专题视频课程
  18. 3D XPoint的原理解析
  19. Psytopic分析
  20. 区块链技术研究综述:原理、进展与应用

热门文章

  1. 不看后悔 如何删除WIN7的100M隐藏分区
  2. 射频放大器芯片3阶截点计算与芯片选择
  3. Python数据分析学习文章归纳
  4. mern技术栈好处?_通过构建运动追踪器应用程序来学习MERN堆栈(MERN教程)
  5. react 统一字段验证_如何使用React的受控输入进行即时表单字段验证
  6. Hadoop集群搭建(八:Hive的安装配置)
  7. 怎么读取java文件,Java怎么读取文件
  8. Javascript 移动的海绵宝宝
  9. CSP 201812-1 小明上学 Python实现+详解
  10. CSP 201909-2 小明种苹果(续)Python实现+详解