我们怎么能在官方Spark项目中运行Kafka示例?

时间:2018-06-01 06:26:45

标签: java apache-spark apache-kafka

我尝试在Spark项目中运行简单的Kafka示例。

火花构建正确,所以我可以运行大多数示例,除了这个Kafka示例。

当我运行以下命令时:

fromcal=Calendar.getInstance();
    tocal=Calendar.getInstance();

    final DatePickerDialog.OnDateSetListener fromdate = new DatePickerDialog.OnDateSetListener() {
        @Override
        public void onDateSet(DatePicker datePicker, int year, int monthOfYear, int dayOfMonth) {

            fromcal.set(Calendar.YEAR,year);
            fromcal.set(Calendar.MONTH,monthOfYear);
            fromcal.set(Calendar.DAY_OF_MONTH, dayOfMonth);
            updateFromDate();

        }
    };

    fromtext.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            new DatePickerDialog(RequestLeaveActivity.this,fromdate,
                    fromcal.get(Calendar.YEAR),fromcal.get(Calendar.MONTH),
                    fromcal.get(Calendar.DAY_OF_MONTH)).show();
        }
    });


    final DatePickerDialog.OnDateSetListener todate = new DatePickerDialog.OnDateSetListener() {
        @Override
        public void onDateSet(DatePicker datePicker, int year, int monthOfYear, int dayOfMonth) {

            tocal.set(Calendar.YEAR,year);
            tocal.set(Calendar.MONTH,monthOfYear);
            tocal.set(Calendar.DAY_OF_MONTH, dayOfMonth);
            updateToDate();

        }
    };

    totext.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            new DatePickerDialog(RequestLeaveActivity.this,todate,
                    tocal.get(Calendar.YEAR),tocal.get(Calendar.MONTH),
                    tocal.get(Calendar.DAY_OF_MONTH)).show();
        }
    });

我收到以下错误:

bin/run-example streaming.JavaDirectKafkaWordCount localhost:9092 test

我们怎么能正确地运行Kafka示例?

(在端口Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/spark/streaming/kafka010/LocationStrategies 上运行的Kafka客户端。使用最新的Spark和Kafka,以及Java 8)

1 个答案:

答案 0 :(得分:0)

在我的项目中,最后我正确地将Kafka和Spark连接在一起。我意识到,在开发过程中使用Spark脚本中的local模式非常有用。调试和练习容易得多。

您可以在此处找到详细的,Docker化的实现:https://github.com/zoltan-nz/kafka-spark-project

相关注释:https://github.com/zoltan-nz/kafka-spark-project/blob/master/SparkStreamer/README.md#experiment-06---using-local