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 我 ...
随机推荐
- Django之Models
1.数据库的配置 1 django默认支持sqlite,mysql, oracle,postgresql数据库. <1> sqlite django默认使用sqlite的数据库,默 ...
- 异常Failure to transfer org.apache.maven.plugins:maven-surefire-plugin:pom:2.12.4 from http://maven.aliyun.com/nexus/content/groups/public was ...
错误异常:Failure to transfer org.apache.maven.plugins:maven-surefire-plugin:pom:2.12.4 from http://maven ...
- 使用Docker快速搭建ELK环境
今天由于Win系统的笔记本没带回家,其次Docker在非Linux系统下都需要安装额外的软件去镜像才行 所以感觉没有差别,先直接用Mac搭建一遍呢, 本篇部分命令和配置内容为摘抄 Mac下使用Dock ...
- springMvc架构简介
什么是spring 关于spring的定义无论是从官方还是市面上已经很多能够清晰明了的做出解释了.我姑且简单定义它为一个轻量级的控制反转(IoC)和面向切面(AOP)的容器,Java 开发框架,至于控 ...
- WebApi FormData+文件长传 异步+同步实现
// POST api/values public async Task Post() { try { // 检查该请求是否含有multipart/form-data if (!Request.Con ...
- (转)将rdlc报表作为资源嵌套使用
本文转载自:http://www.cnblogs.com/chenxizhang/archive/2009/05/16/1458469.html 如果我们准备在Windows Forms里面使用rdl ...
- java项目-----客户端与客户端通信--实现群聊功能的代码
这是这个网络聊天室项目的原理图: 很简单,首先ABCD是4个客户端,当A发送信息给服务器,服务器实现以广播的形式把信息全发给每个人---群发群聊 客户端代码: package com.aa; impo ...
- Win10 TensorFlow(gpu)安装详解
Win10 TensorFlow(gpu)安装详解 写在前面:TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理.Tensor(张量)意味着 ...
- [Java][Web]利用 referer 防盗链
String referer = request.getHeader("referer"); if(referer == null || !referer.startsWith(& ...
- USB驱动程序之概念介绍学习笔记
现象:把USB设备接到PC 1. 右下角弹出"发现android phone" 2. 跳出一个对话框,提示你安装驱动程序 问1. 既然还没有"驱动程序",为何能 ...