Linux下Spark框架配置(Python)
简述
Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用并行框架,Spark,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。由于spark带有Python的API,而本人比较专于Python语言。因此在此分享一下我在配置spark的方法以及心得。
配置过程
步骤一:
下载scala压缩包,进入链接http://www.scala-lang.org/,点击download下载scala,并解压到当前目录下。
下载jdk压缩包,进入链接http://www.oracle.com/technetwork/java/javase/downloads/index.html,下载最新版jdk,若为64位系统请下载jdk-8u91-linux-x64.tar.gz(本人下载版本为8u91,系统为64位),32位系统下载jdk-8u91-linux-i586.tar.gz,下载完成后解压到当前目录下。
下载spark压缩包,进入链接https://spark.apache.org/downloads.html,选择当前最新版本人为1.6.2,点击下载。
步骤二:
1.打开命令行窗口。
2.执行命令 sudo -i
3.进入到解压文件所在目录
4.将j解压文件转移到opt目录下
执行 mv jdk1.8.0_91 /opt/jdk1.8.0_91
执行 mv scala-2.11.8 /opt/scala-2.11.8
执行 mv spark-1.6.2-bin-hadoop2.6 /opt/spark-hadoop
步骤三:
配置环境变量,编辑/etc/profile,执行以下命令
sudo gedit /etc/profile
在文件最下方增加(注意版本):
#Seeting JDK JDK环境变量
export JAVA_HOME=/opt/jdk1.8.0_91
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:$PATH
#Seeting Scala Scala环境变量
export SCALA_HOME=/opt/scala-2.11.8
export PATH=${SCALA_HOME}/bin:$PATH
#setting Spark Spark环境变量
export SPARK_HOME=/opt/spark-hadoop/
#PythonPath 将Spark中的pySpark模块增加的Python环境中
export PYTHONPATH=/opt/spark-hadoop/python
保存文件, 重启电脑,使/etc/profile永久生效,临时生效,打开命令窗口,执行 source /etc/profile 在当前窗口生效
步骤四:
测试安装结果
打开命令窗口,切换到Spark根目录

执行 ./bin/spark-shell,打开Scala到Spark的连接窗口


执行结果如上,则无误
执行./bin/pyspark ,打开Python到Spark的连接窗口


则安装无误
Python安发Spark应用
前面已设置PYTHONPATH,将pyspark加入到Python的搜寻路径中
打开Spark安装目录(/opt/spark-hadoop),在/opt/spark-hadoop/Python/lib文件夹下解压py4j,并复至到/opt/spark-hadoop/Python目录下。
在pycharm中测试,出现如下红色字眼,则配置成功。

参考至:http://www.open-open.com/lib/view/open1432192407317.html
Linux下Spark框架配置(Python)的更多相关文章
- Linux(4)- centos7安装python3、Linux下安装、配置virtualenv、确保开发环境的一致性、虚拟环境之virtualenvwrapper、vim
一.centos7安装python3 1.下载python3的源码包 下载地址:https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz cd ...
- linux下ejabberd框架搭建
ejabberd为erlang的IM的开源框架,一直想找个时间研究研究: 1.下载Ejabberd安装包 wget http://www.process-one.net/downloads/ejabb ...
- Linux下git安装配置
一.Linux下git安装配置 2013-07-28 20:32:10| 分类: 默认分类 | 标签:linux git server |举报|字号 订阅 http://abomby ...
- Linux下安装和配置JDK与Tomcat(升级版)
在这个版本 Linux下安装和配置JDK与Tomcat(入门版) 的基础上优化升级 1.下载相关软件 apache-tomcat-6.0.37.tar.gz jdk-6u25-linux-i586-r ...
- [Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例二.
为了更好的排版, 所以将IK分词器的安装重启了一篇博文, 大家可以接上solr的安装一同查看.[Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例一: http://ww ...
- Linux下Redis服务器安装配置
说明:操作系统:CentOS1.安装编译工具yum install wget make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel ...
- Linux下SVN服务器安装配置及客户端安装说明
原文地址:http://wenku.baidu.com/link?url=h3dVAMx4azpOXEND5HQEE6nliE8-zc0GSQ03yv4cUs1vXMALXF64UsK7kT7kXm_ ...
- linux下通过acl配置灵活目录文件权限(可用于ftp,web服务器的用户权限控制)
linux下通过acl配置灵活目录文件权限(可用于ftp,web服务器的用户权限控制) 发表于2012//07由feng linux 本身的ugo rwx的权限,对于精确的权限控制很是力不从心的,ac ...
- linux下golang的配置
linux下golang的配置 之前开发golang一直在windows下,今天在linux下试了一下 ,遇到一些梗,比如go 找不到 sync包.花了一小时全部解决,把过程记录一下. 安装 go 我 ...
随机推荐
- Objective-C的属性和成员变量用法及关系浅析
在使用Objective-C语言进行了一段时间的iOS开发之后,发现自己的语言基础相对薄弱,于是开始弥补自己的短处.我发现在用过一种语言之后,再回过头来看它的很多原理会发现有更加深刻的理解.下面就对一 ...
- 《DSP using MATLAB 》示例Example6.3
代码: C0 = 0; B1 = [2 4; 3 1]; A1 = [1 1 0.9; 1 0.4 -0.4]; B2 = [0.5 0.7; 1.5 2.5; 0.8 1]; A2 = [1 -1 ...
- [BZOJ3197][SDOI2013]刺客信条assassin
bzoj luogu Description 故事发生在1486 年的意大利,Ezio原本只是一个文艺复兴时期的贵族,后来因为家族成员受到圣殿骑士的杀害,决心成为一名刺客.最终,凭借着他的努力和出众的 ...
- LG2590 [ZJOI2008]树的统计
题意 一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w. 我们将以下面的形式来要求你对这棵树完成一些操作: I. CHANGE u t : 把结点u的权值改为t II. QMAX u v: ...
- redis 连接池的一些问题
问题: Could not get a resource from the pool 将配置修改为如下: JedisPoolConfig config =newJedisPoolConfig ...
- @Autowired & @Resource 区别 & 解读@Bean
一样 Autowired & @Resource 都可以用来Bean的注入,可以写在属性(字段)上.也可以写在setter方法上 不一样 1.来源不一样 @Autowired 由Spr ...
- BZOJ3261:最大异或和
浅谈\(Trie\):https://www.cnblogs.com/AKMer/p/10444829.html 题目传送门:https://lydsy.com/JudgeOnline/problem ...
- 手动封装OpenCV1.0的IplImage读取保存功能遇到的小问题
最近准备重新学习图像处理的知识,主要目的是自己实现一遍图像处理的算法,所以除了读取.保存图像外的操作都自己写,没想到直接封装OpenCV的读取.保存功能的第一步就出错.关键代码如下 void MyIm ...
- appium+python自动化40-adb offline(5037端口被占)
前言 adb连手机的时候经常会出现offline的情况,一般杀掉adb,然后重启adb可以解决. 如果发现不管怎么重启adb都连不上,一直出现offlie的情况,这个时候很大可能就是adb的5037端 ...
- DataTable 树形构造加全部
DataTable dtGx = new DataTable(); dtGx = SqlHelper.SqlGetDataTable(StrSql, "tbUserGx"); th ...