spark指定python版本_1.Spark学习(Python版本):Spark安装
Step1: 更新apt
sudo apt-get update
Step2: 安装SSH、配置SSH无密码登陆
sudo apt-get install openssh-server
ssh localhost
这样登陆是需要每次输入密码的,我们需要配置成SSH无密码登陆比较方便。
exit # 退出刚才的 ssh localhost
cd ~/.ssh/ # 若没有该目录
ssh-keygen -t rsa # 会有提示,都按回车就可以
cat ./id_rsa.pub >> ./authorized_keys # 加入授权
此时再用 ssh localhost 命令,无需输入密码就可以直接登陆了
Step3: 安装Java环境
sudo apt-get install default-jre default-jdk
安装结束以后,需要配置JAVA_HOME环境变量:
vim ~/.bashrc
在文件最前面添加如下单独一行(注意,等号“=”前后不能有空格),然后保存退出(Esc退出编辑模式, i进入编辑模式):
export JAVA_HOME=/usr/lib/jvm/default-java
source ~/.bashrc # 使变量设置生效
执行上述命令后,可以检验一下是否设置正确:
echo $JAVA_HOME # 检验变量值
java -version
$JAVA_HOME/bin/java -version # 与直接执行java -version一样
Step4:下载hadoop安装包到主文件夹
Step5.1:安装hadoop(单机模式)
将 Hadoop 安装至 /usr/local/ 中:
sudo tar -zxf ~/hadoop-2.7.6.tar.gz -C /usr/local # 解压到/usr/local中
cd /usr/local/
sudo mv ./hadoop-2.6.0/ ./hadoop # 将文件夹名改为hadoop
sudo chown -R mashu ./hadoop # 修改文件权限
Hadoop 解压后即可使用。输入如下命令来检查 Hadoop 是否可用,成功则会显示 Hadoop 版本信息:
cd /usr/local/hadoop
./bin/hadoop version
Hadoop 默认模式为非分布式模式(本地模式),无需进行其他配置即可运行。
Step5.2:安装hadoop(伪分布式)
Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/ 中,伪分布式需要修改2个配置文件 core-site.xml 和 hdfs-site.xml 。
修改配置文件 core-site.xml ,将:
修改为:
hadoop.tmp.dir
file:/usr/local/hadoop/tmp
Abase for other temporary directories.
fs.defaultFS
hdfs://localhost:9000
同样的,修改配置文件 hdfs-site.xml:
dfs.replication
1
dfs.namenode.name.dir
file:/usr/local/hadoop/tmp/dfs/name
dfs.datanode.data.dir
file:/usr/local/hadoop/tmp/dfs/data
配置完成后,执行 NameNode 的格式化:
./bin/hdfs namenode -format
成功的话,会看到 “successfully formatted” 和 “Exitting with status 0” 的提示,若为 “Exitting with status 1” 则是出错。
接着开启 NameNode 和 DataNode 守护进程。
./sbin/start-dfs.sh
启动完成后,可以通过命令 jps 来判断是否成功启动,若成功启动则会列出如下进程: “NameNode”、”DataNode” 和 “SecondaryNameNode”
若要关闭 Hadoop,则运行
./sbin/stop-dfs.sh
下次启动 hadoop 时,无需进行 NameNode 的初始化,只需要运行 ./sbin/start-dfs.sh 就可以!
Step6:下载Spark安装包
在http://spark.apache.org/downloads.html下载安装包。
由于我们已经自己安装了Hadoop,所以在“Choose a package type”后面需要选择“Pre-build with user-provided Hadoop [can use with most Hadoop distributions]”,然后,点击“Download Spark”后面的“spark-2.1.0-bin-without-hadoop.tgz”下载,这样,下载到的Spark,可应用到任意Hadoop 版本。
Step7:安装Spark(单机模式)
Spark部署模式主要有四种,这里介绍Local模式(单机模式)的 Spark安装。
sudo tar -zxf ~/spark-2.1.0-bin-without-hadoop.tgz -C /usr/local/
cd /usr/local
sudo mv ./spark-2.3.0-bin-without-hadoop/ ./spark
sudo chown -R mashu:mashu./spark #mashu是我的用户名
安装后,还需要修改Spark的配置文件spark-env.sh:
cd /usr/local/spark
cp ./conf/spark-env.sh.template ./conf/spark-env.sh
编辑spark-env.sh文件,在第一行添加配置信息:
vim ./conf/spark-env.sh
export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoop classpath)
有了上面的配置信息以后,Spark就可以把数据存储到Hadoop分布式文件系统HDFS中,也可以从HDFS中读取数据。如果没有配置上面信息,Spark就只能读写本地数据,无法读写HDFS数据。
通过运行Spark自带的示例,验证Spark是否安装成功。
cd /usr/local/spark
bin/run-example SparkPi
bin/run-example SparkPi 2>&1 | grep "Pi is" #通过 grep 命令进行过滤掉运行信息
Step8:修改环境变量
vim ~/.bashrc
在.bashrc文件中添加如下内容:
export JAVA_HOME=/usr/lib/jvm/default-java
export HADOOP_HOME=/usr/local/hadoop
export SPARK_HOME=/usr/local/spark
export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/lib/py4j-0.10.6-src.zip:$PYTHONPATH
export PYSPARK_PYTHON=python3
export PATH=$HADOOP_HOME/bin:$SPARK_HOME/bin:$PATH
PYTHONPATH环境变量主要是为了在Python3中引入pyspark库。
PYSPARK_PYTHON变量主要是设置pyspark运行的python版本。
.bashrc中必须包含JAVA_HOME,HADOOP_HOME,SPARK_HOME,PYTHONPATH,PYSPARK_PYTHON,PATH这些环境变量。如果已经设置了这些变量则不需要重新添加设置。
接着还需要让该环境变量生效,执行如下代码:
source ~/.bashrc
前面已经安装了Hadoop和Spark,如果Spark不使用HDFS和YARN,那么就不用启动Hadoop也可以正常使用Spark。
如果按照上面的安装步骤,已经设置了PYSPARK_PYTHON环境变量,那么你直接使用如下命令启动pyspark即可。
Step9:退出pyspark
exit()或者ctrl+D
Step10:Spark独立应用程序编程
新建一个test.py文件,并在test.py添加代码:
cd ~
vim test.py
在test.py中输入以下代码:
from pyspark import SparkContext
sc = SparkContext( 'local', 'test')
logFile = "file:///usr/local/spark/README.md"
logData = sc.textFile(logFile, 2).cache()
numAs = logData.filter(lambda line: 'a' in line).count()
numBs = logData.filter(lambda line: 'b' in line).count()
print('Lines with a: %s, Lines with b: %s' % (numAs, numBs))
保存代码后,通过如下命令执行(我自己的电脑已经删除了python2, 只留下python 3.5.2):
python ~/test.py
自此,就完成了第一个 Spark 应用程序。
spark指定python版本_1.Spark学习(Python版本):Spark安装相关推荐
- python新手教程 从零开始-Python零基础从零开始学习Python十分钟快速入门
原标题:Python零基础从零开始学习Python十分钟快速入门 学习Python的,都知道Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言.Python是一种动态解释型的 ...
- 学python语言用什么软件-Python是什么?学习Python用什么编译器?
原标题:Python是什么?学习Python用什么编译器? Python是一个非常好用的程序语言,开发的速度非常快.Python的设计哲学是优雅.明确.简单.因此,Perl语言中总是有多种方法来做同一 ...
- 初学者先学python语音好吗_献给Python初学者 零基础学习Python能学会吗
献给Python初学者 零基础学习Python能学会吗 时间:2018-01-08 来源:零基础学习Python方法讲解 零基础学习Python能学会吗?这个问题几乎是所有初学Python的小 ...
- 四全集学python选哪种电脑_“Python教程哪个版本最适合学习?“python教程全集
python教程,求一套比较好的python教程 好不好主要先看你自己,理解能力样,有没有接触过编程,有没础,这很重要: 看教程,能不能先给你建立起知识体系框架,许多教程一上来就直接给你灌输知识很让人 ...
- pandas python2.3版本_应该学习最新版本的 Python 3 还是旧版本的 Python 2?
应该学习最新版本的 Python 3 还是旧版本的 Python 2? 看到最新Python版本是3.4,但是网上的资料,包括出版的书籍,都是最晚到13年左右,很多细节都不同,语法也过时了. 那此时应 ...
- python网校 哪个_学习Python有什么推荐的网课,书籍资料,以及该装哪个版本的Python?...
初学者推荐<Python编程从入门到实践>第2版 这本书的第1版 重印30余次,热销750000册. 通过阅读本书,你将迅速掌握Python的基础知识,打下坚实的编程基础. 本书分为两大部 ...
- 学习python课程_想学习Python吗? 这是我们的免费4小时互动课程
学习python课程 Python is a popular, versatile and easy-to-learn language. It's the go-to language for AI ...
- python如何询问_学习Python问?
感谢各位捧场,今天是2017年的第一篇,因为在之前不断收到小伙伴们在后台关于Pytho学习相关的留言,所以想在今年开篇先做一个答疑,方便各位更好的学习: 1.现在学习Python2还是python3? ...
- 免费学python的网站-免费学习Python编程的3个优秀的网站资源
用Python编写代码一点都不难,事实上它一直被赞誉为最容易学的编程语言.如果你准备学习web开发, Python是一个不错的开始,甚至想做游戏的话,用Python来开发游戏的资源也有很多.这是快速学 ...
- 零基础自学python看什么书-学习Python可以看书籍学习吗?老男孩Python入门课程
在人工智能和数据分析的带领之下,推动了互联网市场的发展,也推动了python语言的发展,让它成为了市场上炙手可热的编程语言. 而python具有入门简单.就业范围广泛.薪资水平高诸多优势,越来越多的人 ...
最新文章
- 树莓派python编程自学-两个简易的树莓派初学者Python程序
- # 睡眠3秒_小儿睡眠呼吸暂停综合征
- 简陋,山寨,Everything,桌面搜索,原理,源码
- Codeforces 724 C. Ray Tracing
- L3-002 堆栈 树状数组+二分答案
- C++ 传递字符串数组给函数参数
- 求数列1/3到1/n之和
- java 时间 转化成数字_java时间转化数字
- 人的效率还是机器的效率?
- 计算机网络布线总结,网络综合布线实训总结
- Windows XP几个版本的区分
- shal+php,PHP微信开发——第二弹
- ISO认证包括哪些?
- 什么是真正的格局?遇到烂人不计较,碰到破事别纠缠
- Basemap绘制中国地图
- 《Electron 开发》 环境配置和Helloworld
- 看雪ctf 流浪者 WP
- 5个简历模板下载及制作网站
- MAC M1 芯片在 yarn install 时报错:The CPU architecture “arm64“
- Flash 与数学:星形线
热门文章
- oracle的redo与undio
- [原创] VPDN--PPTP Server
- Node.js之十大Web框架
- Docker安装禅道项目管理平台zendao-v11.6.x
- 图片服务 - thumbor入门
- python如何和qt交互_Python 之Pyqt5操作交互处理,原来这么简单!
- 【Vue.js 3.0】不使用根标签,Error:[vue/no-multiple-template-root] The template root requires exactly one ...
- 【Java】编写Java应用程序,完成从键盘输入圆的半径,求圆的周长和面积并输出结果的功能...
- C#算法设计排序篇之11-二叉树排序(附带动画演示程序)
- python标准库之fnmatch,dis,timeit