apache storm元数据调度程序问题

s8vozzvw  于 2021-06-24  发布在  Storm
关注(0)|答案(1)|浏览(354)

我尝试在apachestorm中编写一个调度器,使用meta标记将特定任务调度给特定的主管。我在supervisor 1的storm.yaml文件中使用了以下代码:

supervisor.scheduler.meta:
name: 1

在运行以下部分代码时:

Collection<SupervisorDetails> supervisors = cluster.getSupervisors().values();
SupervisorDetails specialSupervisor = null;
for (SupervisorDetails supervisor : supervisors) {

     @SuppressWarnings("unchecked")
     Map<String, Object> meta = (Map<String, Object>) supervisor.getSchedulerMeta();
     System.out.println("Supervisor meta is: " + meta);             
     System.out.println("Supervisor's name is: " + meta.get("name"));

     Integer gid = (Integer)meta.get("name");

     if (gid==1) {

     specialSupervisor = supervisor;
     System.out.println("Your supervisor is found");
     break;
     }

}
我得到的唯一信息是“supervisor meta is:null”。我试图改变一些事情,但我无法找回我的超能力。它总是为空。有什么想法吗?
先谢谢你。妮可

qlfbtfca

qlfbtfca1#

在主管的storm.yaml文件的“name”之前应添加3个空格。

相关问题