0

我已经编写了 Heron 拓扑,它从本地文件夹中获取数据并对其进行处理。但是,除了 .pex 文件中描述的文件夹之外,heron 看不到任何其他文件夹。如何读取 .pex 声明的文件夹之外的数据?

4

2 回答 2

0

启动 heron 实例后,它应该可以访问同一容器内的文件。一个例子是他们可以将日志写入 ./logs/INSTANCE_ID.log,这意味着它具有对这些文件的写入权限。

您能否检查正在运行的容器中是否有数据文件,并且实例是否使用正确的文件路径来访问这些文件?

于 2018-11-13T17:58:02.227 回答
0

理想情况下,您不会依赖拓扑中的本地数据。最好将螺栓需要访问的任何数据放在数据库或键值存储等外部系统中。然后你会得到你的螺栓来查询(并在内存中本地缓存)该数据。如果您需要添加每个螺栓的更多副本,这还具有更好地扩展的优势,因为您可以避免本地文件上可能的资源争用。

如果您真的希望螺栓可以在本地访问数据,答案取决于您使用的调度程序。它可能涉及将文件添加到调度程序使用的 heron 实例容器映像中,并且可能意味着每次更改数据时都重建容器。同样,我建议使用外部数据存储。

于 2018-11-13T18:00:57.570 回答