Kafka源是流处理最理想的输入源,因为它可以保证实时和容错。
以下是一个spark streaming对Kafka源的使用
#1.启动Kafka
#启动zookeeper服务
cd /usr/opt/kafka
bin/zookeeper-server-start.sh config/zookeeper.properties
#启动Kafka服务
cd /usr/opt/kafka
bin/kafka-server-start.sh config/server.properties
#监控输入端口
cd /usr/opt/kafka
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic hhq
#监控输出端口
cd /usr/opt/kafka
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic 202108384109
#运行生产者程序
python3 producer.py
#运行消费者程序
/usr/opt/spark/bin/spark-submit --packages org.apache.spark:spark-sql-kafka-0-10_2.12:3.2.1 consumers.py
#注意:2.12对应Scala版本,3.2.1对应Kafka版本号
之所以会报标题错误是因为最后一个代码的packages版本号不对应。