2

我正在使用 Grails 2.0.4 和 elasticsearch 0.19.8,以及使用 0.19.8 的 elasticsearch-grails 插件的本地构建,在 EC2 的微型 Ubuntu 实例上运行。

我正在本地构建我的 grails 项目作为一场战争。当我将它放在本地的码头容器中(在我的笔记本电脑上)时,码头启动,我能够导航到根上下文(如预期的那样)并获取我的网站。

但是,当我在微型 EC2 实例上的相同版本的码头(通过 md5sum 确认)中进行相同的战争(通过 md5sum 确认)时,我得到了奇怪的结果。

偶尔,码头启动并且我的应用程序可用......一切都很好。但是其他时候,码头不会启动......并且日志抱怨弹性搜索。

现在,我是第一个承认在同一个节点上同时运行 elasticsearch 和 jetty(与 grails 战争)的人,嗯,不是最好的主意......但是,这是一个测试环境,我可以接受交换到磁盘(不是性能测试实验室)。

但是,让我发疯的是运行我的应用程序的不一致。目前,我无法启动它(我想这反驳了我的“不一致”论点)。但是,即使进行“开始”战争,战争中的变化很小(没有域对象变化,只是控制器和/或视图的变化),我的应用程序也不会启动 - 抱怨弹性搜索。

这是要点

过去,我通过停止 elasticsearch 并吹走/var/lib/elasticsearch/elasticsearch(根据我的理解,这基本上是吹走 elasticsearch 索引的粗略方式)来解决这个问题。

但现在,这似乎不起作用。也不会卸载/重新安装 elasticsearch。

任何人都可以就寻找什么和/或在哪里寻找任何建议吗?

4

1 回答 1

1

好的,这让我发疯,但我找到了答案。

/data 包含一个 elasticsearch 目录,该目录显然有错误的数据......我删除了这个目录并重新启动了码头和......

中提琴!

我不知道它是如何进入这种状态的,也不知道删除目录的实际后果(我认为弹性搜索数据保留在弹性搜索节点中......)

我怀疑我的应用程序未完全关闭...

感谢大家的意见。

于 2012-07-30T22:47:38.353 回答