如何在错误提示中修复此问题“警告:299 Elasticsearch 内置安全功能未启用。如果没有身份验证,您的集群可能......”

Lee*_*lly 2 ruby homebrew ruby-on-rails elasticsearch searchkick

我有一个使用 Searchkick 的 Rails 应用程序,在更新我的 gems 和 yarn 后,我收到了这个 Elasticsearch 警告”

warning: 299 Elasticsearch-7.13.1-9a7758028e4ea59bcab41c12004603c5a7dd84a9 "Elasticsearch built-in security features are not enabled. Without authentication, your cluster could be accessible to anyone. See https://www.elastic.co/guide/en/elasticsearch/reference/7.13/security-minimal-setup.html to enable security."
Run Code Online (Sandbox Code Playgroud)

我尝试按照提到网页上的说明进行操作,但我被困在了这run the elasticsearch-setup-passwords utility一步。我在任何地方都找不到这个脚本。

我目前使用的是 M1 Mac,但使用 Rosetta 运行终端,因此 Homebrew 与 Rosetta 一起安装。

这仅适用于我的开发机器,因此安全性似乎并不那么重要,并且与 Homebrew 一起安装的 Elasticsearch 的以前版本没有显示此警告。

这是我现在正在运行的:

  • 红宝石 3​​.0.0p0
  • 导轨 6.1.3.2
  • Elasticsearch 7.10.2(但由于某种原因,此错误引用了 7.13.1 ??)我使用brew install Elasticsearch&&安装了自制软件brew services start elasticsearch
  • 搜索踢 (4.5.0)

有没有办法忽略这个消息?或者我该如何解决这个问题?它在我的控制台中太大了,我无法阅读我的测试。

afr*_*ish 15

添加到@luc-e 答案。如果您将 Elastic 安装为 Docker 容器,那么您应该执行以下操作:

docker exec -it <container_id> bash
cd /usr/share/elasticsearch/config
echo "xpack.security.enabled: false" >> elasticsearch.yml
Run Code Online (Sandbox Code Playgroud)

并重新启动你的容器


thi*_*ign 7

对于不关心安全性的 docker 开发,可以通过环境变量禁用此警告:

docker-compose.yml

version: '3'

services:
  elasticsearch:
    image: blacktop/elasticsearch:7.17
    environment:
      - xpack.security.enabled=false
Run Code Online (Sandbox Code Playgroud)


小智 6

显示此警告是因为您启用了安全插件但未配置。

如果您不想要安全性,您可以禁用 xpack,它应该可以解决问题

只需在您的配置中添加这一行elasticsearch.yml

xpack.security.enabled: false
Run Code Online (Sandbox Code Playgroud)

  • 对于我的 M1 Mac,该文件夹位于稍微不同的位置“opt/homebrew/etc/elasticsearch” (4认同)
  • 更新:在我使用自制软件而不是“elasticsearch”安装“elasticsearch-full”后,这可以修复它。首先,我运行“brew install elasticsearch-full”,然后将“xpack.security.enabled: false”行添加到“/usr/local/etc/elasticsearch/elasticsearch.yml”,然后运行“brew services restart elasticsearch-full” 。 (2认同)