2016-11-18 6 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は、 sbtこれはJavaの可能性がありますしかし、gradleまたはmavenです。 Sparkアプリケーションをパッケージ化して展開できるようにしなければならないということだけです。

  2. ​​パッケージ化されたSparkアプリケーション。

あなたは、必要に応じてクラスタを起動することがあり(例えばスタンドアロン、ApacheのMesosやHadoopの糸をスパーク)が、​​はデフォルトでlocal[*]を想定しているので、それが本当に必要ありません。

P.S.あなたはApache Kafkaを使用しているので、起動しておく必要があります(x.xx.xxx.xxx:2181)。

関連する問題