本文将介绍Apache Spark 1.6.0在单机的部署,与在集群中部署的步骤基本一致,只是少了一些master和slave文件的配置。直接安装scala与Spark就能够在单机使用,但若是用到hdfs系统的话hadoop和jdk也要配置,建议所有安装配置好。
个人博客原文地址连接:http://blog.tomgou.xyz/spark-160-dan-ji-an-zhuang-pei-zhi.htmlhtml
Spark官网的文档 http://spark.apache.org/docs/latest/ 里是这样说的:java
Spark runs on Java 7+, Python 2.6+ and R 3.1+. For the Scala API, Spark 1.6.0 uses Scala 2.10. You will need to use a compatible Scala version (2.10.x).node
个人电脑环境是Ubuntu 14.04.4 LTS,还须要安装:linux
hadoop-2.6.0.tar.gzapache
解压jdk安装包到任意目录:oracle
cd /home/tom $ tar -xzvf jdk-8u73-linux-x64.tar.gz $ sudo vim /etc/profile
编辑/etc/profile文件,在最后加上java环境变量:app
export JAVA_HOME=/home/tom/jdk1.8.0_73/ export JRE_HOME=/home/tom/jdk1.8.0_73/jre export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
保存并更新/etc/profile
:
$ source /etc/profil
查看是否成功:
$ java -version
确保安装好ssh:
$ sudo apt-get update $ sudo apt-get install openssh-server $ sudo /etc/init.d/ssh start
生成并添加密钥:
$ ssh-keygen -t rsa $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys $ chmod 0600 ~/.ssh/authorized_keys
若是已经生成过密钥,只需执行后两行命令。
测试ssh localhost
$ ssh localhost $ exit
解压hadoop2.6.0到任意目录:
$ cd /home/tom $ wget http://apache.claz.org/hadoop/common/hadoop-2.6.0/hadoop-2.6.0.tar.gz $ tar -xzvf hadoop-2.6.0.tar.gz
编辑/etc/profile
文件,在最后加上java环境变量:
export HADOOP_HOME=/home/tom/hadoop-2.6.0 export HADOOP_INSTALL=$HADOOP_HOME export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export YARN_HOME=$HADOOP_HOME export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
编辑$HADOOP_HOME/etc/hadoop/hadoop-env.sh
文件
$ vim $HADOOP_HOME/etc/hadoop/hadoop-env.sh
在最后加上:
export JAVA_HOME=/home/tom/jdk1.8.0_73/
修改Configuration文件:
$ cd $HADOOP_HOME/etc/hadoop
修改core-site.xml
:
<configuration> <property> <name>fs.default.name</name> <value>hdfs://localhost:9000</value> </property> </configuration>
修改hdfs-site.xml
:
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.name.dir</name> <value>file:///home/tom/hadoopdata/hdfs/namenode</value> </property> <property> <name>dfs.data.dir</name> <value>file:///home/tom/hadoopdata/hdfs/datanode</value> </property> </configuration>
第一个是dfs的备份数目,单机用1份就行,后面两个是namenode和datanode的目录。
修改mapred-site.xml
:
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
修改yarn-site.xml
:
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>
初始化hadoop:
$ hdfs namenode -format
启动
$ $HADOOP_HOME/sbin/start-all.sh
中止
$ $HADOOP_HOME/sbin/stop-all.sh
检查WebUI,浏览器打开端口:http://localhost:8088
port 8088: cluster and all applications
port 50070: Hadoop NameNode
port 50090: Secondary NameNode
port 50075: DataNode
hadoop运行后可以使用jps
命令查看,获得结果:
10057 Jps 9611 ResourceManager 9451 SecondaryNameNode 9260 DataNode 9102 NameNode 9743 NodeManager
解压scala安装包到任意目录:
$ cd /home/tom $ tar -xzvf scala-2.10.6.tgz $ sudo vim /etc/profile
在/etc/profile
文件的末尾添加环境变量:
export SCALA_HOME=/home/tom//scala-2.10.6 export PATH=$SCALA_HOME/bin:$PATH
保存并更新/etc/profile
:
$ source /etc/profil
查看是否成功:
$ scala -version
解压spark安装包到任意目录:
$ cd /home/tom $ tar -xzvf spark-1.6.0-bin-hadoop2.6.tgz $ mv spark-1.6.0-bin-hadoop2.6 spark-1.6.0 $ sudo vim /etc/profile
在/etc/profile
文件的末尾添加环境变量:
export SPARK_HOME=/home/tom/spark-1.6.0 export PATH=$SPARK_HOME/bin:$PATH
保存并更新/etc/profile
:
$ source /etc/profil
在conf目录下复制并重命名spark-env.sh.template
为spark-env.sh
:
$ cp spark-env.sh.template spark-env.sh $ vim spark-env.sh
在spark-env.sh
中添加:
export JAVA_HOME=/home/tom/jdk1.8.0_73/ export SCALA_HOME=/home/tom//scala-2.10.6 export SPARK_MASTER_IP=localhost export SPARK_WORKER_MEMORY=4G
启动
$ $SPARK_HOME/sbin/start-all.sh
中止
$ $SPARK_HOME/sbin/stop-all.sh
测试Spark是否安装成功:
$ $SPARK_HOME/bin/run-example SparkPi
获得结果:
Pi is roughly 3.14716
检查WebUI,浏览器打开端口:http://localhost:8080