如何部署Spark Streaming应用程序?

时间:2016-11-18 13:15:21

标签: java apache-spark apache-kafka

我需要在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);
            }
        });
    }
}

2 个答案:

答案 0 :(得分:2)

您可以通过Spark-submit.like提交您的工作..,

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

对于任何参考,请点击此链接:

Spark-submit

感谢。

答案 1 :(得分:0)

以下是步骤:

  1. 阅读Quick Start
  2. 是的,只需要一步就可以归结为:

    1. sbt package假设您使用的sbt对于Java可能是gradlemaven。这只是说你必须打包你的Spark应用程序,以便它可以部署。

    2. spark-submit您打包的Spark应用程序。

    3. 您可以选择启动您的群集(例如Spark Standalone,Apache Mesos或Hadoop YARN),但由于spark-submit默认为local[*],因此并不需要它。

      P.S。您正在使用Apache Kafka,因此您必须启动并运行它(在x.xx.xxx.xxx:2181)。