它是利用了kafka高层次的api(消息的偏移量保存在zk中)去消费数据,利用receiver接受器去kafka把数據拉取过来默认这种情况会出现数据丢失,开启WAL日志把接受到的数据同步的写入到hdfs中,保证数据源端的安全后期方便于进行数据恢複. 可以保证数据不丢失,但是保证不了数据被处理且只被处理一次也就是说这一块会出现的数据的重复处理。
它是利用了kafka高层次的api(消息的偏移量保存在zk中)去消费数据,利用receiver接受器去kafka把数據拉取过来默认这种情况会出现数据丢失,开启WAL日志把接受到的数据同步的写入到hdfs中,保证数据源端的安全后期方便于进行数据恢複.
可以保证数据不丢失,但是保证不了数据被处理且只被处理一次也就是说这一块会出现的数据的重复处理。
当往zk上存储的时候zk发生异常了 , 此时offset未更新 , 等再次重启的时候就可能重复处理 , 因此我们采用下面这种方式
第二套api这个时候是并没有receiver接收器去拉取数据,它是直接连接上每一個topic分区把数据获取得到,也并没有把接受到的数据写入到磁盘中 如何保证数据不丢失和不被重复处理:
第二套api这个时候是并没有receiver接收器去拉取数据,它是直接连接上每一個topic分区把数据获取得到,也并没有把接受到的数据写入到磁盘中
如何保证数据不丢失和不被重复处理:
4、打成jar包提交到集群中运行
对于spark程序的开发,先在本地运行下看一丅程序处理逻辑对不对,如果没有问题就可以把程序打成jar包提交到集群去运行。 提交到集群中运行的时候需要指定任务运行时需要的資源大小,这个时候资源到底给多少是合理的?? 如何去看有没达到这个理想的状态:这个时候就可以访问: master主机名:8080 通过大量的参數进行测试找到一个比较好的一组参数,最后就可以通过这个比较合理的这组参数提交到实际的生产环境中运行。
对于spark程序的开发,先在本地运行下看一丅程序处理逻辑对不对,如果没有问题就可以把程序打成jar包提交到集群去运行。
提交到集群中运行的时候需要指定任务运行时需要的資源大小,这个时候资源到底给多少是合理的??
如何去看有没达到这个理想的状态:这个时候就可以访问: master主机名:8080
通过大量的参數进行测试找到一个比较好的一组参数,最后就可以通过这个比较合理的这组参数提交到实际的生产环境中运行。
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。
点击添加站长微信