所用软件版本:
spark2.3.0
kafka 1.10
IDEA2019.1(spark-streaming-kafka-0-8-2.11-2.3.0)
先是用spark sql来监听特定目录下的某一个source文件的变化,进行实时分析,用IDEA进行本地lcoal模式进行实时处理,但问题是文件在本地,没在HDFS上面,将程序运行在spark集群上,出现找不到文件的错误,因此有如下两种解决方法:
一:将source文件上传到HDFS上面
二:spark集群中每一个节点的相同位置都要有该source文件
两种方法都不能满足要求,文件容量大,占硬盘空间,传输速度慢的缺点
综合上述,采用kafka监听本地source文件,kafka和spark集群进行连接,这样就能解决上面所说的问题。
步骤:
先打开zookeeper,kafka
接着进入kafka目录下,使用如下命令开启connect
bin/connect-standalone.sh config/connect-standalone.properties config/connect-file-source.properties
监听的文件位置在 config/connect-file-source.propertie 中配置
打开该文件,内容如下
name=local-file-source
connector.class=FileStreamSource
tasks.max=1
file=/Users/huangxiao/test_streaming/xbk_log.txt#监听的文件位置
topic=kafka_for_example#topic名称(需要与spark中的一致
---------------------
作者:DaHuangXiao
来源:CSDN
原文:https://blog.csdn.net/m0_37637511/article/details/80330358
版权声明:本文为博主原创文章,转载请附上博文链接!