Rails弹性搜索错误“指定的堆栈大小太小,指定至少160k错误:无法创建Java虚拟机。”

时间:2012-11-22 06:10:01

标签: ruby-on-rails ruby ruby-on-rails-3 elasticsearch

我正在使用Elasticsearch和Tire开发Rails3项目。在我尝试运行它时安装Elastic-search后,它给出了以下错误:

The stack size specified is too small, Specify at least 160k
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

我有Java 7,我的操作系统是Ubuntu 12.04。我该如何解决这个错误?

我是否需要安装Java 6,如果是,我该怎么做?

3 个答案:

答案 0 :(得分:3)

与旧版本的elasticsearch(0.19.0)存在同样的问题。 安装0.19.8,它再次工作。 你可以在这里得到它:elasticsearch-0.19.2.tar.gz

祝你好运!

确实,java 1.7和旧版本的es似乎存在问题。

答案 1 :(得分:2)

或者您可以发送堆栈大小选项,并在控制台上启动elasticsearch时将其设置为大于160k的值

sudo ./bin/elasticsearch -Xss194k

答案 2 :(得分:2)

将堆栈大小增加到大于160k的数量。

在第34行编辑文件elasticsearch-0.xx.x/bin/elasticsearch.in.sh,并将-Xss增加到更大的值,例如-Xss256k

# reduce the per-thread stack size
JAVA_OPTS="$JAVA_OPTS -Xss256k"