1. 程式人生 > >Spark的低成本安裝(win) and 三節點叢集安裝(linux)

Spark的低成本安裝(win) and 三節點叢集安裝(linux)

我這裡給出兩種安裝spark的方式,一種是在win上安裝另一種就是在linux叢集上安裝,前一種安裝方式是一種低成本的安裝沒有shell介面,非常適合入過門的小白練習自己對spark的業務處理能力,而且這種安裝方式能對電腦省去一大筆的cpu所以個人比較喜歡,第二種安裝方式就是和之前安裝hadoop的方式基本一樣,比於第一種安裝方式多了shell介面,所以就不過多介紹

方式一,

首先去官網下載安裝包類似於下面:

(友情連結:點選開啟連結這個連結裡面都是阿帕奇的一些頂級專案的穩定版,點選就能下載,建議儲存!!

然後你還需要hadoop的安裝包和linux的一樣就好了解壓縮,都完成之後你需要在win的環境變數裡面新增

%HADOOP_HOME%\sbin

hadoop\share\hadoop\common

spark-2.2.1-bin-hadoop2.7\bin

spark-2.2.1-bin-hadoop2.7\sbin

然後你就可以在編碼機器上進行程式碼編寫了(直接複製能執行說明安裝好了):

import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaPairRDD;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.api.java.function.VoidFunction;
import scala.Tuple2;

import java.util.Arrays;
import java.util.List;

public class cartesian_java_demo1 {
    public static void main(String[] args) {
        SparkConf conf = new SparkConf()
                .setAppName("cartesian.java.demo1")
                .setMaster("local");
        JavaSparkContext sc = new JavaSparkContext(conf);
        List<String> nanme= Arrays.asList("張三","李四","王五");
        List<Integer> score=Arrays.asList(60,70,80);

        JavaPairRDD<String,Integer> cart=sc.parallelize(nanme).cartesian(sc.parallelize(score));
        cart.foreach(new VoidFunction<Tuple2<String, Integer>>() {
            @Override
            public void call(Tuple2<String, Integer> stringIntegerTuple2) throws Exception {
                System.out.println(stringIntegerTuple2);
            }
        });
        sc.close();
    }
}

執行ok:

執行有結果說明ok安裝結束!!!!

 

方式二,

在linux叢集上安裝在,方式1下載的spark安裝包移動到linux上去前面的解壓環境變數的都不說的直接來修改配置檔案只需要修改兩個配置檔案就ok其中一個是spark/conf/slaves配置檔案這配置檔案就是指定work所在處:

類似這樣修改和hadoop的slave檔案的配置極其相似;

然後配置conf/spark-envs.h新增如下引數

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-7.b10.el7.x86_64
#指定javahome
export HADOOP_HOME=/usr/local/hadoop/hadoop-2.8.3

 export HADOOP_CONF_DIR=/usr/local/hadoop/hadoop-2.8.3/etc/hadoop

export SPARK_MASTER_IP=Master      #指定spark的老大master在哪


export SPARK_WORKER_MEMORY=1G      #設定spark的每個節點執行記憶體多大

export SPARK_WORKER_CORES=1           #設定每個work使用的core個數

export SPARK_WORKER_INSTANCES=1         #設定work數量

export SPARK_MASTER_WEBUI_PORT=8080    #設定web介面埠

export SPARK_CONF_DIR=/usr/local/hadoop/spark-2.2.1/conf     #設定spark的配置目錄

 

操作完畢後環境變數修改之後可以把檔案傳送到各個節點了

 

然後啟動spark輸入

start-master.sh
start-slaves.sh

啟動成功進入進入shell介面:

[[email protected] ~]# spark-shell
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
18/06/12 09:02:49 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Spark context Web UI available at http://192.168.51.247:4040
Spark context available as 'sc' (master = local[*], app id = local-1528765370496).
Spark session available as 'spark'.
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 2.2.1
      /_/
         
Using Scala version 2.11.8 (OpenJDK 64-Bit Server VM, Java 1.8.0_171)
Type in expressions to have them evaluated.
Type :help for more information.

scala> 

安裝部分結束!!!!