环境准备
运行环境准备
安装JDK
- Spark已经放弃了对Java7的支持,所以需要选择Java8,我们需要使用命令getconf LONG_BIT查看Linux机器是32位还是64位然后下载相应版本。
- 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
- 配置环境
- cd ~
- vim /etc/bash.bashrc
- 添加如下配置
- export JAVA_HOME=/opt/java
- export PATH=JAVA_HOME/bin
- export CLASSPATH=.:JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
- 输入一下命令是环境快速生效:
- source /etc/bash.bashrc
安装Scala
- 由于从Spark2.0.0开始,Spark默认使用Scala2.11来的打包、编译,所以我们需要下载Scala2.11
- 下载地址:http://www.scala-lang.org/download/
- 下载方法:
- 移动到选好的安装目录:
- mv scala-2.11.8.tgz ~/install/
- chmod 755 scala-2.11.8.tgz
- tar -xzvf scala-2.11.8.tgz
- 配置环境
- cd ~
- vim /etc/bash.bashrc
- 添加配置如下:
- export SCALA_HOME=$HOME/install/scala-2.11.8
- export PATH=PATH
- 输入一下命令是环境快速生效:
- source /etc/bash.bashrc
- 安装完成后键入scala,进入scala命令行,确认安装是否正常。
安装Spark
- 使用版本为:Spark2.1.0
- 下载方法:
- 移动至安装目录
- mv spark-2.1.0-bin-hadoop2.6.tgz ~/install/
- 进入安装目录 cd ~/install/ 执行以下命令
- chmod 755 spark-2.1.0-bin-hadoop2.6.tgz
- tar -xzvf spark-2.1.0-bin-hadoop2.6.tgz
- 配置环境:
- cd ~
- vim /etc/bash.bashrc
- 添加如下配置:
- export SPARK_HOME=$HOME/install/spark-2.1.0-bin-hadoop2.6
- export PATH=PATH
- 环境变量快速生效
- source /etc/bash.bashrc
运行spark-shell
- 上图显示了很多信息
- 安装完Spark2.1.0后,如果没有民蛊蛾指定log4j的配置,那么Spark会使用core模块的org/apache/spark目录下的log4j-defaults.proprities指定的spark日志级别为WARN,用户可以到spark安装目录的conf文件下,从log4j.propertires.template复制一份logj4.properties文件台添加自己想配置的东西。
- sc.setLog-Level(newLevel)可以指定日志级别
- SparkContext的web ui地址是 http://172.21.142.5:4040, 172.21.142.5是安装spark的主机ip,4040是sparkcontext的webUI的默认监听端口。
- 指定的部署模式(即主节点)master = local[*], 当前的应用的 id = local-1528369006651).
- 可以在spark-shell命令行通过sc使用SparkContext,通过spark使用SparkSession,sc和spark实际分别是SparkContext和SparkSession在Spark REPL中的变量名。
- 修改Spark的日志级别为INFO后,会出现许多日志信息如下图所示:
执行word count
- 输入 var lines = sc.textFile(“../README.md”,2) ,用Spark安装目录下的README.md文件内容作为word count例子作为数据源,执行结果如下:
- var words = lines.flatMap(line => line.split(” “)),textFile方法对文本时逐行读取的,我们需要讲每行按照空格分隔以得到每个单词
- val ones = words.map(w =>(w,1)),将每个单词的技术初始化为1
- var counts = ones.reduceByKey(_ + _),对单词进行计数值的聚合
- counts.foreach( println),将计数值进行打印出来。
阅读环境准备
安装SBT
- 下载地址:https://www.scala-sbt.org/download.html
- 移动至选好的安装目录
- mv sbt-0.13.17.tgz ~/install/
- 进入安装目录执行以下命令;
- chmod 755 sbt-0.13.17.tgz
- tar -xzvf sbt-0.13.17.tgz
- 配置环境变量:
- cd ~
- vim /etc/bash.bashrc
- 添加如下配置
- export SBT_HOME=$HOME/install/sbt
- export PATH=PATH
- 输入以下命令使环境变量生效
- source /etc/bash.bashrc
- 安装完毕后,使用sbt about命令查看,确认是否安装正常
安装Git
- 下载地址:https://git-scm.com/
- 使用命令下载完成后,检查版本:git –version
Eclipse下载
- 下载地址:点击这里
- 下载之前需要配置jdk
安装Eclipse Scala IDE 插件
- 根据eclipse 的版本信息选择合适的scala插件 http://scala-ide.org/download/current.html
- 在eclipse中选择help菜单,然后选择Install new software 选项,打开Install对话框,点击add按钮,打开add repository对话框,全选插件内容,完成安装,重新启动elipse
Spark原码编译与调试
- 下载Spark原码,官网地址:http://spark.apache.org/
- 在当前目录创建Source文件夹作为放置Spark源码的位置,进入Source目录执行以下命令。
- git clone git://github.com/apache/spark.git
- 构建Scala应用
- 进入Spark根目录,执行sbt命令,然后会下载和解析很多jar包,等待很长时间。
- 构建完毕后会出现提示符“>”
- 使用sbt生成eclipse工程文件,出现提示符后输入eclipse命令,开始生成eclipse工程文件,也需要很长时间。
- 完成状况:
- 编译Spark原码
- 由于Spark使用Maven作为项目管理工具,所以需要将Spark项目作为Maven项目导入Eclipse中。
- 挑选本地路径,全选所有项目,点击finish按钮,这样就完成了导入
FAQ
查看操作系统是32位的还是64位的
在控制台输入:sudo uname –m
回车后:
如果显示i686,则表示安装了32位操作系统
- 如果显示 x86_64,则表示安装了64位操作系统
查看操作系统的版本号:
cat /etc/issue
比如输出:Ubuntu 14.04.4 LTS \n \l
查看系统类型,其中lsb表示(Linux Standard Base):
lsb_release -cs
比如输出:trusty
如果想知道更多信息可以试试如下命令
sudo uname –s 显示内核名字
sudo uname –r 显示内核版本
sudo uname –n 显示网络主机名
sudo uname –p 显示cpu
修改配置时 推荐最好使用命令模式的vim操作
- 会出现无效的修改
怎么打开java visualVM
- 直接在命令窗口输入jvisualvm,然后Enter即可。
安装eclipse出现以下错误
A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be available in order to run Eclipse. No Java virtual machine was found after searching the following locations: /home/injavawetrust/program/eclipse/jre/bin/java java in your current PATH
-
解决办法:
- 在终端进入你的eclipse目录,然后输入:
- mkdir jre
- cd jre
- ln -s 你的JDK目录/bin bin
- 重新打开eclipse即可。
Linux下如何查看所使用的Eclipse版本号
- 运行Eclipse后,点击“Help”–>”About Eclipse”–>在弹出到对话框下方找到Eclipse图标(鼠标悬停提示“Eclipse.org”),单击该图标
- 在弹出的“About Eclipse Features”对话框中即可看到相应到版本信息。