1. 程式人生 > >Spark 1.6.2 單機版安裝配置

Spark 1.6.2 單機版安裝配置

本文將介紹Apache Spark 1.6.2在單機的部署,與在叢集中部署的步驟基本一致,只是少了一些master和slave檔案的配置。直接安裝scala與Spark就可以在單機使用,但如果用到hdfs系統的話hadoop和jdk也要配置,建議全部安裝配置好。轉載請註明部落格原文地址:http://blog.tomgou.xyz/spark-160-dan-ji-an-zhuang-pei-zhi.html

1. Spark的安裝準備

Spark官網的文件 http://spark.apache.org/docs/latest/ 裡是這樣說的:
Spark runs on Java 7+, Python 2.6+ and R 3.1+. For the Scala API, Spark 1.6.2 uses Scala 2.10. You will need to use a compatible Scala version (2.10.x).
我的電腦環境是Ubuntu 14.04.4 LTS,還需要安裝:

補充:
(1).最好新建一個目錄,將上述檔案都放在放在同一個資料夾中。
(2).因為之後要安裝最新版本的IntelliJ IDEA,IDEA 2016只支援jdk1.8或更高版本,為防止之後麻煩,此處最好不要用jdk1.7及以下。
2. 安裝jdk
解壓jdk安裝包到任意目錄:

cd /home/tom
$ tar -xzvf jdk-8u73-linux-x64.tar.gz
$ sudo vim /etc/profile

編輯/etc/profile檔案,在最後加上java環境變數:

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/profile

檢視是否成功:

$ java -version

3. 配置ssh localhost
確保安裝好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

補充:
此處若出現下類錯誤:

下列軟體包有未滿足的依賴關係: openssh-server : 依賴: openssh-client (= 1:5.1p1-6ubuntu2)

解決:因為openssh-server是依賴於openssh-clien的,那ubuntu不是自帶了openssh-client嗎?原由是自帶的openssh-clien與所要安裝的openssh-server所依賴的版本不同,這裡所依賴的版本是1:6.6p1-2ubuntu1所以要安裝對應版本的openssh-clien,來覆蓋掉ubuntu自帶的:

$ sudo apt-get install openssh-client=1:6.6p1-2ubuntu1

然後再繼續上述步驟,安裝openssh-server。
4. 安裝hadoop2.6.0
解壓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

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

5. 安裝scala

解壓scala安裝包到任意目錄:

 $ cd /home/tom
 $ tar -xzvf scala-2.10.4.tgz
 $ sudo vim /etc/profile

在/etc/profile檔案的末尾新增環境變數:

export SCALA_HOME=/home/tom/scala-2.10.4
export PATH=$SCALA_HOME/bin:$PATH

儲存並更新/etc/profile:

$ source /etc/profile

檢視是否成功:

$ scala -version

6. 安裝Spark

解壓spark安裝包到任意目錄:

$ cd /home/tom
$ tar -xzvf spark-1.6.2-bin-hadoop2.6.tgz
$ mv spark-1.6.2-bin-hadoop2.6 spark-1.6.2
$ sudo vim /etc/profile

在/etc/profile檔案的末尾新增環境變數:

export SPARK_HOME=/home/tom/spark-1.6.2
export PATH=$SPARK_HOME/bin:$PATH

儲存並更新/etc/profile:

$ source /etc/profile

在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.4
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