[英]How to deploy Spark Streaming application?
我需要在Linux服務器上部署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);
}
});
}
}
您可以通過Spark-submit提交您的工作。
./spark-submit --class packagename.classname [--jars path to any external jars] --master local[4] "Your jar file path"
如需任何參考,請點擊以下鏈接:
謝謝。
步驟如下:
是的,只需要一步就可以歸結為:
假設您使用sbt
sbt package
,對於Java sbt
,它可能是gradle
或maven
。 那只是說您必須打包您的Spark應用程序,以便可以進行部署。
spark-submit
的打包Spark應用程序。
您可以選擇啟動集群(例如,Spark Standalone,Apache Mesos或Hadoop YARN),但實際上並不需要,因為spark-submit
默認假定為local[*]
。
ps您正在使用Apache Kafka,因此也必須啟動並運行它(位於x.xx.xxx.xxx:2181
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.