我刚刚开始使用 elasticsearch 。使用默认设置创建索引(5个分片,1个副本)。然后,我使用附件插件索引~13G文本文件。结果,在Kibana 发现中搜索非常慢。但是,在控制台中搜索很快:
GET /mytext/_search
{
"fields": [ "file.name" ],
"query": {
"match": {
"file.content": "foobar"
}
},
"highlight": {
"fields": {
"file.content": {
}
}
}
}
为了调查它为什么这么慢,我安装了 X-Pack 。指南文档似乎并不全面,我没有进入安全配置。
默认安装 elasticsearch 不必登录,但必须在安装 X-Pack 插件后登录。我对elasticsearch,kibana,x-pack的安全设置感到困惑,他们分享用户帐户了吗?毕竟,我通过以下方式获得身份验证:
curl -XPUT -uelastic:changeme 'localhost:9200/_shield/user/elastic/_password' -d '{ "password" : "newpass1" }'
curl -XPUT -uelastic:newpass1 'localhost:9200/_shield/user/kibana/_password' -d '{ "password" : "newpass2" }'
这就是问题所在。我无法使用org.elasticsearch.plugin:shield
的Java客户端登录。它可能是最新版本的盾牌依赖(2.3.3)与elasticsearch依赖(5.0.0-alpha)不匹配。
好吧,我可以暂停身份验证吗?
从节点config:
GET http://localhost:9200/_nodes
"nodes" : {
"v_XmZh7jQCiIMYCG2AFhJg" : {
"transport_address" : "127.0.0.1:9300",
"version" : "5.0.0-alpha2",
"roles" : [ "master", "data", "ingest" ],
...
"settings" : {
"node" : {
"name" : "Apache Kid"
},
"http" : {
"type" : "security"
},
"transport" : {
"type" : "security",
"service" : {
"type" : "security"
}
},
...
那么,我可以修改这些设置吗?可能的值是?
答案 0 :(得分:96)
在测试环境中,我将以下选项添加到git rebase -i
和/或elasticsearch.yml
kibana.yml
答案 1 :(得分:23)
假设您的图片名称是elasticsearch。如果你不喜欢名字
,你可以使用id如果你运行docker,你可以使用它。 用命令
转到docker中的bashdocker exec -i -t elasticsearch /bin/bash
然后删除x-pack
elasticsearch-plugin remove x-pack
退出泊坞窗
exit
并重新启动docker image
docker restart elasticsearch
Disclamer:灵感源自的解决方案 Michał Dymel
答案 2 :(得分:4)
与docker(在本地开发人员中)一起使用时,只需删除它即可,而不是删除xpack。
docker pull docker.elastic.co/elasticsearch/elasticsearch:5.5.3
docker run -p 9200:9200 \
-p 9300:9300 \
-e "discovery.type=single-node" \
-e "xpack.security.enabled=false" \
docker.elastic.co/elasticsearch/elasticsearch:5.5.3
答案 3 :(得分:3)
我已经设法使用此xpack_security_enable
等于false进行身份验证,但我仍然在我的kibana日志中收到一些身份验证错误。
elasticsearch:
image: elasticsearch:1.7.6
ports:
- ${PIM_ELASTICSEARCH_PORT}:9200
- 9300:9300
kibana:
image: docker.elastic.co/kibana/kibana:5.4.1
environment:
SERVER_NAME: localhost
ELASTICSEARCH_URL: http://localhost:9200
XPACK_SECURITY_ENABLED: 'false'
ports:
- 5601:5601
links:
- elasticsearch
depends_on:
- elasticsearch
这是我目前的设置,在kibana上我可以看到一些错误: KIBANA dashboard
在kibana日志中我可以看到:
kibana_1 | {"type":"log","@timestamp":"2017-06-15T07:43:41Z","tags":["warning","elasticsearch","admin"],"pid":1,"message":"No living connections"}
kibana_1 | {"type":"log","@timestamp":"2017-06-15T07:43:42Z","tags":["warning","elasticsearch","admin"],"pid":1,"message":"Unable to revive connection: http://localhost:9200/"}
所以它似乎仍在尝试使用身份验证进行连接。
答案 4 :(得分:0)
我有同样的xpack问题,但是使用kibana,通过以下命令修复:
docker run docker.elastic.co/kibana/kibana:5.5.1 /bin/bash -c 'bin/kibana-plugin remove x-pack ; /usr/local/bin/kibana-docker'
所以它启动容器,而不是删除xpack,然后启动正常进程。可以使用elasticsearch和logstash完成相同的操作。