storm进行maven打包中遇到的问题和directEimt()用法

问题一 配置文件名称相同导致的文件覆盖问题??
1.问题原因分析:
不同包中相同的配置文件在进行maven打包时候,会将所有的资源配置文件全部拷贝到指定文件根目录下面,导致相同的名称的配置文件相互之间覆盖,使得storm程序不能读取正确的文件配置项目。
2.解决方法:作为资源配置文件,不同包名称下的文件配置项目名称不能相同;即(重命名);


问题二 storm中directEimt()用法
1.storm的directEimt()方式:是指将storm中的一个元组数据(这里指代一条记录)发送到指定的componentId(或者bolt)中处理;
1.问题原因分析: 当指定将一个元组数据发送给指定的单一名称的blot_A处理,这种处理方式非常合适,但是同时将一个元组数据分发给指定的另一个bolt_B处理时候,出现向下游的blot_A和bolt_B同时修改这一个元组数据的情况(此处元组数据是一个对象Bean),导致现有的blot_A和bolt_B相互修改对方数据的情况;
2.解决方法:将元组数据(此处指bean对象)进行对象深度拷贝之后再分别发送给两个下游的bolt处理就可以了!!

猜你喜欢

转载自blog.csdn.net/fct2001140269/article/details/80433297