2016-11-18 125 views
1

我需要在Linux服務器上部署Spark Streaming應用程序。如何部署Spark Streaming應用程序?

任何人都可以提供部署之前如何部署和修改代碼的步驟嗎?

class JavaKafkaWordCount11 { 
    public static void main(String[] args) { 
     StreamingExamples.setStreamingLogLevels(); 

     SparkConf sparkConf = new SparkConf() 
       .setAppName("JavaKafkaWordCount11") 
       .setMaster("local[*]"); 
     sparkConf.set("spark.streaming.concurrentJobs", "20"); 

     JavaStreamingContext jssc = new JavaStreamingContext(sparkConf, new Duration(1500)); 

     Map<String, Integer> topicMap = new HashMap<>(); 
     topicMap.put("TopicQueue", 20); 
     JavaPairReceiverInputDStream<String, String> messages = 
       KafkaUtils.createStream(jssc, "x.xx.xxx.xxx:2181", "1", topicMap); 
     JavaDStream<String> lines = messages.map(new Function<Tuple2<String, String>, String>() { 
      @Override 
      public String call(Tuple2<String, String> tuple2) { 
       return tuple2._2(); 
      } 
     }); 
     lines.foreachRDD(rdd -> { 
      if (rdd.count() > 0) { 
       List<String> strArray = rdd.collect(); 
       getProcessResult(strArray); 
      } 
     }); 
    } 
} 

回答

2

您可以通過Spark-submit.like這個..提交作業,

./spark-submit --class packagename.classname [--jars path to any external jars] --master local[4] "Your jar file path" 

任何參考以下鏈接:

Spark-submit

感謝。

0

步驟如下:

  1. 閱讀Quick Start

是的,這裏只有一步要求歸結爲:

  1. sbt package它假定您使用對於Java來說可能是sbt但是,我們可以使用gradlemaven。這只是說你必須打包你的Spark應用程序,以便它可以部署。

  2. ​​您打包的Spark應用程序。

您可以選擇啓動羣集(如星火獨立,阿帕奇Mesos或Hadoop的紗),但它不是真的需要,因爲​​默認假定local[*]

p.s.您正在使用Apache Kafka,因此您必須啓動並運行它(在x.xx.xxx.xxx:2181)。