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安装相关推荐

  1. python新手教程 从零开始-Python零基础从零开始学习Python十分钟快速入门

    原标题:Python零基础从零开始学习Python十分钟快速入门 学习Python的,都知道Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言.Python是一种动态解释型的 ...

  2. 学python语言用什么软件-Python是什么?学习Python用什么编译器?

    原标题:Python是什么?学习Python用什么编译器? Python是一个非常好用的程序语言,开发的速度非常快.Python的设计哲学是优雅.明确.简单.因此,Perl语言中总是有多种方法来做同一 ...

  3. 初学者先学python语音好吗_献给Python初学者 零基础学习Python能学会吗

    献给Python初学者 零基础学习Python能学会吗 时间:2018-01-08     来源:零基础学习Python方法讲解 零基础学习Python能学会吗?这个问题几乎是所有初学Python的小 ...

  4. 四全集学python选哪种电脑_“Python教程哪个版本最适合学习?“python教程全集

    python教程,求一套比较好的python教程 好不好主要先看你自己,理解能力样,有没有接触过编程,有没础,这很重要: 看教程,能不能先给你建立起知识体系框架,许多教程一上来就直接给你灌输知识很让人 ...

  5. pandas python2.3版本_应该学习最新版本的 Python 3 还是旧版本的 Python 2?

    应该学习最新版本的 Python 3 还是旧版本的 Python 2? 看到最新Python版本是3.4,但是网上的资料,包括出版的书籍,都是最晚到13年左右,很多细节都不同,语法也过时了. 那此时应 ...

  6. python网校 哪个_学习Python有什么推荐的网课,书籍资料,以及该装哪个版本的Python?...

    初学者推荐<Python编程从入门到实践>第2版 这本书的第1版 重印30余次,热销750000册. 通过阅读本书,你将迅速掌握Python的基础知识,打下坚实的编程基础. 本书分为两大部 ...

  7. 学习python课程_想学习Python吗? 这是我们的免费4小时互动课程

    学习python课程 Python is a popular, versatile and easy-to-learn language. It's the go-to language for AI ...

  8. python如何询问_学习Python问?

    感谢各位捧场,今天是2017年的第一篇,因为在之前不断收到小伙伴们在后台关于Pytho学习相关的留言,所以想在今年开篇先做一个答疑,方便各位更好的学习: 1.现在学习Python2还是python3? ...

  9. 免费学python的网站-免费学习Python编程的3个优秀的网站资源

    用Python编写代码一点都不难,事实上它一直被赞誉为最容易学的编程语言.如果你准备学习web开发, Python是一个不错的开始,甚至想做游戏的话,用Python来开发游戏的资源也有很多.这是快速学 ...

  10. 零基础自学python看什么书-学习Python可以看书籍学习吗?老男孩Python入门课程

    在人工智能和数据分析的带领之下,推动了互联网市场的发展,也推动了python语言的发展,让它成为了市场上炙手可热的编程语言. 而python具有入门简单.就业范围广泛.薪资水平高诸多优势,越来越多的人 ...

最新文章

  1. 树莓派python编程自学-两个简易的树莓派初学者Python程序
  2. # 睡眠3秒_小儿睡眠呼吸暂停综合征
  3. 简陋,山寨,Everything,桌面搜索,原理,源码
  4. Codeforces 724 C. Ray Tracing
  5. L3-002 堆栈 树状数组+二分答案
  6. C++ 传递字符串数组给函数参数
  7. 求数列1/3到1/n之和
  8. java 时间 转化成数字_java时间转化数字
  9. 人的效率还是机器的效率?
  10. 计算机网络布线总结,网络综合布线实训总结
  11. Windows XP几个版本的区分
  12. shal+php,PHP微信开发——第二弹
  13. ISO认证包括哪些?
  14. 什么是真正的格局?遇到烂人不计较,碰到破事别纠缠
  15. Basemap绘制中国地图
  16. 《Electron 开发》 环境配置和Helloworld
  17. 看雪ctf 流浪者 WP
  18. 5个简历模板下载及制作网站
  19. MAC M1 芯片在 yarn install 时报错:The CPU architecture “arm64“
  20. Flash 与数学:星形线

热门文章

  1. oracle的redo与undio
  2. [原创] VPDN--PPTP Server
  3. Node.js之十大Web框架
  4. Docker安装禅道项目管理平台zendao-v11.6.x
  5. 图片服务 - thumbor入门
  6. python如何和qt交互_Python 之Pyqt5操作交互处理,原来这么简单!
  7. 【Vue.js 3.0】不使用根标签,Error:[vue/no-multiple-template-root] The template root requires exactly one ...
  8. 【Java】编写Java应用程序,完成从键盘输入圆的半径,求圆的周长和面积并输出结果的功能...
  9. C#算法设计排序篇之11-二叉树排序(附带动画演示程序)
  10. python标准库之fnmatch,dis,timeit