如果在CentOS的Elasticsearch中出现“内存不足”错误的话

在使用CentOS运行Elasticsearch时,我遇到了与Java软件包相关的问题,因此做了一些记录。

    • CentOS 6.5 x86_64

 

    Elasticsearch 1.2.3 (rpm)

安装并启动Elasticsearch → 失败

从rpm到。

$ sudo yum install elastic search

试图启动。

$ sudo service elasticsearch start
Starting elasticsearch:                                    [  OK  ]
Can't start up: not enough memory

不仅出现了”not enough memory”的错误导致程序崩溃,还可能由于其他原因,本次出现的问题是由于Java代码不正确。

检查和更改Java包

$ rpm -qa | grep java
java-1.5.0-gcj-1.5.0.0-29.1.el6.x86_64

$ java -version
java version "1.5.0"
gij (GNU libgcj) version 4.4.7 20120313 (Red Hat 4.4.7-4)

Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

据说,是GNU制作的Java引起了这个问题。
也有一些资源指出需要使用Oracle出品的Java(JRE),但似乎使用openjdk也没问题。

$ sudo yum install java-1.7.0-openjdk

$ java -version
java version "1.7.0_65"
OpenJDK Runtime Environment (rhel-2.5.1.2.el6_5-x86_64 u65-b17)
OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)

Elasticsearch启动→成功

尝试重新启动Elasticsearch。

$ sudo service elasticsearch start
Starting elasticsearch:                                    [  OK  ]

连接确认。

$ curl -X GET http://localhost:9200/
{
  "status" : 200,
  "name" : "Elias Bogan",
  "version" : {
    "number" : "1.2.3",
    "build_hash" : "4596e81285d3c1a1609c8382b1e804115ef610fb",
    "build_timestamp" : "2014-07-23T13:16:05Z",
    "build_snapshot" : false,
    "lucene_version" : "4.8"
  },
  "tagline" : "You Know, for Search"
}

我没有做任何事情。

广告
将在 10 秒后关闭
bannerAds