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
Ubuntu搭建Spark运行环境相关推荐
- ubuntu下php服务器搭建_Ubuntu服务器下搭建php运行环境的方法
本文实例讲述了Ubuntu服务器下搭建php运行环境的方法.分享给大家供大家参考,具体如下: 安装 Apache2: sudo apt-get install apache2 安装PHP模块: sud ...
- linux pip3使用清华源_Linux实战016:Ubuntu搭建python开发环境
我们在安装Ubuntu系统的时候会自带安装python2.7和python3.6版本的Python解释器,直接执行"ptyhon"默认运行的是python2.7,只有执行" ...
- ubuntu vscode 配置字体_第五章 Ubuntu搭建ESP32开发环境(vscode)
Vscode安装 ubuntu软件中自带vscode的安装包,一键完成,不废话,没有的想办法解决. 编译链操作 下载 官方最新地址 有系统区别,下载对应的压缩到到电脑 · for 64-bit Lin ...
- 如何使用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 ...
- 如何使用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 ...
- Intellij搭建spark开发环境
spark怎么学习呢?在一无所知的前提下,首先去官网快速了解一下spark是干什么的,官网在此.然后,安装开发环境,从wordcount开始学习.第三,上手以后可以学习其他算法了.最后,不要放弃,继续 ...
- 搭建Spark开发环境并完成wordcount示例
一.搭建Spark开发环境流程 1.安装eclipse,我这里用的是集成环境,解压就能用.(包含了scala环境) 安装包传送门: 2.导入相关的jar包 Jar包传送门: 具体操作: (1)装上以上 ...
- Intellij IDEA使用Maven搭建spark开发环境(scala)
如何一步一步地在Intellij IDEA使用Maven搭建spark开发环境,并基于scala编写简单的spark中wordcount实例. 1.准备工作 首先需要在你电脑上安装jdk和scala ...
- 从零使用qemu模拟器搭建arm运行环境
原文链接: http://blog.csdn.net/linyt/article/details/42504975 为什么会有这篇文章 早在2011年的时候,跟当时同事一起讨论,做Linux系统开发正 ...
最新文章
- UI复习练习_优酷布局
- db2 如何导出insert语句_MySQL 执行脚本/导入/导出数据
- 一个javascript框架应有的功能
- P3703-[SDOI2017]树点涂色【LCT,线段树】
- python3 自动打包部署war包
- python怎么导入模块-Python中如何引入第三方模块
- 如何在HTMl网页中插入百度地图
- 教你一招!在Mac上使用自带的程序创建加密的文件磁盘
- simplemind pro for Mac(思维导图)
- 数学史上10个备受质疑的伟大时刻
- 配置JAVA_HOME
- Q2财报后股价遭重挫,搜狗的AI招牌也失灵?从翻译录音笔体验看背后的花拳绣腿...
- 第一章 Java性能调优概述
- 微信群助手机器人如何使用?哪家群助手好用?
- CSDN官方力推的《用户社区》,值得你来逛逛
- 元宇宙路在何方?觅伊以视频社交切入迎接新机遇
- Java系列技术之SSH整合+用户权限控制模型项目-钟洪发-专题视频课程
- 3D XPoint的原理解析
- Psytopic分析
- 区块链技术研究综述:原理、进展与应用
热门文章
- 不看后悔 如何删除WIN7的100M隐藏分区
- 射频放大器芯片3阶截点计算与芯片选择
- Python数据分析学习文章归纳
- mern技术栈好处?_通过构建运动追踪器应用程序来学习MERN堆栈(MERN教程)
- react 统一字段验证_如何使用React的受控输入进行即时表单字段验证
- Hadoop集群搭建(八:Hive的安装配置)
- 怎么读取java文件,Java怎么读取文件
- Javascript 移动的海绵宝宝
- CSP 201812-1 小明上学 Python实现+详解
- CSP 201909-2	小明种苹果(续)Python实现+详解