我有一个工作的 Storm 拓扑,我通过添加任务 Hook 对其进行了调整,现在我收到一条错误消息,指出我的配置不是 json 可序列化的。拓扑提交到LocalCluster时出现错误。
我怀疑我的问题是我没有正确配置任务 Hook 。在我的拓扑驱动程序类中,就在我提交拓扑之前,我这样做:
config.put(config.TOPOLOGY_AUTO_TASK_HOOKS, new RubeGoldbergTaskHook());
其中config的类型是backtype.storm.Config, 和 RubeGoldbergTaskHook 扩展了 BaseTaskHook
我是否没有正确设置 config.TOPOLOGY_AUTO_TASK_HOOKS 属性,或者我是否需要将我的 RubeGoldbergTaskHook 类修改为 JSON 可序列化?
最佳答案
这样使用。 它会工作...
List<String> hooksList= new ArrayList<String>();
hooksList.add(RubeGoldbergTaskHook.class.getName());
conf.put(Config.TOPOLOGY_AUTO_TASK_HOOKS, hooksList);
关于java - 任务 Hook 似乎不是 JSON 可序列化的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16922123/