Подтвердить что ты не робот

Как отключить аутентификацию elasticsearch 5.0?

Я только начинаю использовать elasticsearch. Создал индекс с настройками по умолчанию (5 осколков, 1 реплика). Затем я проиндексировал ~ 13G текстовые файлы с подключаемым плагином. В результате он очень медленно искал поиск в Kibana Discover. Однако поиск в консоли выполняется быстро:

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" }'

Вот и проблема. Я не могу войти с помощью Java-клиента с помощью org.elasticsearch.plugin:shield. Вероятно, последняя версия зависимости от экрана (2.3.3) несовместима с зависимостью elasticsearch (5.0.0-alpha).

Ну, я могу просто отключить аутентификацию?

Из node 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"
                }
            },
...

Итак, могу ли я изменить эти параметры и возможные значения?

4b9b3361

Ответ 1

В тестовой среде я добавил следующий параметр elasticsearch.yml и/или kibana.yml

xpack.security.enabled: false

Ответ 2

предполагая, что ваше имя изображения является elasticsearch. вы можете использовать id, если вам не нравится имя

Если вы запустите докер, вы можете использовать его. перейдите к bash в докере с командой

docker exec -i -t elasticsearch /bin/bash

затем удалите x-pack

elasticsearch-plugin remove x-pack

выход в докер

exit

и перезагрузите изображение докеров

docker restart elasticsearch

Disclamer: решение, вдохновленное Michał Dymel

Ответ 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 я вижу:

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

У меня была такая же проблема с 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.