我需要在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);
}
});
}
}
答案 0 :(得分:2)
您可以通过Spark-submit.like提交您的工作..,
./spark-submit --class packagename.classname [--jars path to any external jars] --master local[4] "Your jar file path"
对于任何参考,请点击此链接:
感谢。
答案 1 :(得分:0)
以下是步骤:
是的,只需要一步就可以归结为:
sbt package
假设您使用的sbt
对于Java可能是gradle
或maven
。这只是说你必须打包你的Spark应用程序,以便它可以部署。
spark-submit
您打包的Spark应用程序。
您可以选择启动您的群集(例如Spark Standalone,Apache Mesos或Hadoop YARN),但由于spark-submit
默认为local[*]
,因此并不需要它。
P.S。您正在使用Apache Kafka,因此您必须启动并运行它(在x.xx.xxx.xxx:2181
)。