我从未使用ES,也没有配置它,但这是我必须安装的项目中的依赖项。我不知道如何设置它,没有任何类型的文档。
我已经使用了几个教程和不同的方法来安装ES 2.1.1,并且我已经被这个命令阻止了:sudo service elasticsearch restart
它没有做什么。什么都没有开始,在控制台中没有任何日志。
➜ ~ sudo service elasticsearch restart
Stopping Elasticsearch...
Elasticsearch was not running.
Starting Elasticsearch...
Waiting for Elasticsearch................................
WARNING: Elasticsearch may have failed to start.
确实,localhost:9200
上没有任何内容。
我最近更改了分配给/etc/elasticsearch
及其子文件夹的权限:
➜ /etc ll | grep elas
drwxr-x--- 3 elasticsearch elasticsearch 4.0K Jan 9 01:02 elasticsearch
在drwxr-x--- 3 root elasticsearch ...
之前,我真的不知道这种变化是好还是坏(我在网上看到,对于Ubuntu来说,有一个错误,似乎已经解决了所有权,所以在某些时候我只需要尝试,不做任何改变)
我尝试使用不同的方式安装它:
.deb
文件一起使用,该文件刚刚告诉我.deb
格式错误,可能会损坏操作系统。所以我没有安装它。bin/elasticsearch.sh 1.7
尝试了该脚本:https://gist.github.com/janpieper/2c96fb12d9b566a679a5(是的,我甚至不知道我应该安装的版本,所以我只试了几个但它失败了。elasticsearch
用户,所以我认为安装工作做得不好。sudo apt-get remove elasticsearch -f
并决定使用第一次失败的.deb
再次安装它,但这次是从命令行安装的。 sudo dpkg -i elasticsearch-2.1.1.deb
。安装顺利,但无法启动实例。/etc/elasticsearch/
子文件夹的权限,希望能解决它。罗。同样的事情。elasticsearch
用户的事实。现在我这样做了,所以我阅读了更多有关该人解决方案的信息。我将日志记录配置更改为TRACE
而不是INFO
中的/etc/elasticsearch/logging.yml
,以防万一。我刚刚执行了他的命令,我得到了:
➜ ~ sudo -u elasticsearch /usr/share/elasticsearch/bin/elasticsearch -d -p /var/run/elasticsearch.pid --default.config=/etc/elasticsearch/elasticsearch.yml --default.path.home=/usr/share/elasticsearch --default.path.logs=/var/log/elasticsearch --default.path.data=/var/lib/elasticsearch --default.path.work=/tmp/elasticsearch --default.path.conf=/etc/elasticsearch
[sudo] password for vadorequest:
➜ ~ [2016-01-09 01:42:01,230][INFO ][bootstrap] es.default.config is no longer supported. elasticsearch.yml must be placed in the config directory and cannot be renamed.
但那是info
,所以它不应该导致无声的崩溃。无论如何,我不明白我应该怎么做。什么是config
目录?
我终于可以通过下载1.7.4
.deb
版本并使用sudo dpkg -i elasticsearch-1.7.4.deb
然后运行sudo -u elasticsearch /usr/share/elasticsearch/bin/elasticsearch -d --default.config=/etc/elasticsearch/elasticsearch.yml --default.path.home=/usr/share/elasticsearch --default.path.logs=/var/log/elasticsearch --default.path.data=/var/lib/elasticsearch --default.path.work=/tmp/elasticsearch --default.path.conf=/etc/elasticsearch
来安装它。
我不得不删除pid的-p选项,因为该文件不存在。我没有任何记录,但是我的localhost:9200
给了我预期的
{
"status" : 200,
"name" : "Hideko Takata",
"cluster_name" : "elasticsearch",
"version" : {
"number" : "1.7.4",
"build_hash" : "0d3159b9fc8bc8e367c5c40c09c2a57c0032b32e",
"build_timestamp" : "2015-12-15T11:25:18Z",
"build_snapshot" : false,
"lucene_version" : "4.10.4"
},
"tagline" : "You Know, for Search"
}
答案 0 :(得分:0)
尝试在apt-get update
apt-get install openjdk-7-jre
wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.2.deb
dpkg -i elasticsearch-1.7.2.deb
init 6
检查elasticsearch.log。请在这里分享,它应该给你一些线索
这是我在ubuntu上的ES设置步骤。希望它可以帮到你
vi /etc/fstab
disable swap ->
vi /etc/elasticsearch/elasticsearch.yml
edit -> bootstrap.mlockall: true
edit -> cluster.name: "SET YOUR CLUSTER NAME"
edit -> node.name: NODE NAME # can leave it blank
vim /etc/security/limits.conf
add -> elasticsearch soft memlock unlimited
add -> elasticsearch hard memlock unlimited
add -> elasticsearch soft nofile 65535
add -> elasticsearch hard nofile 65535
vi /etc/init.d/elasticsearch
edit -> ES_HEAP_SIZE=1000m ## 50% of instance memory
update-rc.d elasticsearch defaults 95 10
service elasticsearch start
type Level1 {
fieldToBeIndexed: String;
level_2: Any | Null;
}
type Level2 {
anotherIndexedField: String;
}
path /level_1 {
index() = "fieldToBeIndexed";
/$primary is Level1 {
/level_2 {
index() = "anotherIndexedField";
/$secondary is Level2;
}
}
}