Storm 拓扑不在本地群集上执行

tyky79it  于 2023-01-15  发布在  Apache
关注(0)|答案(1)|浏览(206)

我尝试研究apache storm并在我安装在vmware中的ubuntu上设置storm。storm版本为2.4.0,目前运行在localhost上。当我提交拓扑时,拓扑已成功提交并根据默认调度程序分发,但bolt和spouts从未发射任何数据。拓扑详细信息中发射列的值仍为0。在Owner's Summary中,它给出以下错误:“由于所有者过度使用群集资源,此用户的拓扑有被取消计划的危险”。类似的问题已在here中提出,但也未得到回答。
storm.yaml

所有者摘要屏幕

我尝试了许多事情,如更改yaml文件,尝试在不同的机器上安装,但它得到相同的错误。

wr98u20j

wr98u20j1#

解决这个红色通知,你应该添加这些配置行:

  • 到 Storm .conf
# available memory for your supervisor
supervisor.memory.capacity.mb: 8192.0
# available CPU resources for supervisor, 100 per core
supervisor.cpu.capacity: 1200.0
# scheduler class
storm.scheduler: "org.apache.storm.scheduler.resource.ResourceAwareScheduler"
  • 在storm配置文件目录中创建文件user-resource-pools.yaml。内容:ubuntu -运行拓扑的用户名,示例user-仅用于语法示例
resource.aware.scheduler.user.pools:
    ubuntu:
        cpu: 1200.0
        memory: 8192.0
    exampleuser:
        cpu: 100.0
        memory: 1024.0
  • 重新启动你的nimbus和管理程序

有关ResourceAwareScheduler的更多信息,请参见storm 2.4.0 docsstorm 1.2.3 docs
顺便说一句,请在logs/worker-artifacts/your-topology-id/中检查您的worker.log。
如果emited元组为0,则某些螺栓或喷口失效。

相关问题