如何在错误轨道“警告:299 Elasticsearch 内置安全功能未启用。如果没有身份验证,您的集群可以...”中解决此问题
Posted
技术标签:
【中文标题】如何在错误轨道“警告:299 Elasticsearch 内置安全功能未启用。如果没有身份验证,您的集群可以...”中解决此问题【英文标题】:How to fix this in error rails "warning: 299 Elasticsearch built-in security features are not enabled. Without authentication, your cluster could..." 【发布时间】:2021-08-31 17:45:36 【问题描述】:我有一个使用 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."
我尝试按照webpage mentioned 的说明进行操作,但在run the elasticsearch-setup-passwords utility
步骤中遇到了问题。我在任何地方都找不到这个脚本。
我目前在 M1 Mac 上,但使用 Rosetta 运行终端,因此使用 Rosetta 安装了自制软件。
这仅适用于我的开发机器,因此安全性似乎并不那么重要,并且使用 Homebrew 安装的以前版本的 Elasticsearch 没有显示此警告。
这是我现在正在运行的:
红宝石 3.0.0p0 Rails 6.1.3.2 Elasticsearch 7.10.2(但由于某种原因,此错误引用了 7.13.1 ??)我使用brew install Elasticsearch
&& brew services start elasticsearch
使用自制软件安装了它)
searchkick (4.5.0)
有没有办法忽略此消息?或者我该如何解决这个问题?它在我的控制台中太大了,我无法阅读我的测试。
【问题讨论】:
按照教程,他的脚本应该在bin/elasticsearch-setup-passwords
那里查过吗?
是的,我在这个目录中没有 elasticsearch-setup-passwords。按照这里的路径(elastic.co/guide/en/elasticsearch/reference/current/brew.html),没有“elasticsearch-setup-passwords”脚本。
好吧,bin/elasticsearch-setup-passwords
不可用的原因是我运行 brew install elasticsearch
(根据 Searchkick gem 文档),而我应该运行 brew install elasticsearch-full
来安装 elasticsearch-full
。更多信息在这里:elastic.co/guide/en/elasticsearch/reference/current/brew.html
【参考方案1】:
显示此警告是因为您已启用但未配置安全插件。
如果您不想要安全性,您可以禁用 xpack,它应该可以解决问题
只需在您的配置中添加这一行 elasticsearch.yml
:
xpack.security.enabled: false
【讨论】:
这是我认为可行的方法,但我已经尝试过但无济于事。我在 /usr/local/etc/elasticsearch 的 elasticsearch.yml 文件中执行此操作 -> elastic.co/guide/en/elasticsearch/reference/current/brew.html 更新:在我使用自制软件而不是elasticsearch
安装 elasticsearch-full
后,这可以解决它。首先我运行brew install elasticsearch-full
,然后将xpack.security.enabled: false
行添加到/usr/local/etc/elasticsearch/elasticsearch.yml
,然后运行brew services restart elasticsearch-full
。
对于我的 M1 Mac,该文件夹位于稍微不同的位置 opt/homebrew/etc/elasticsearch
【参考方案2】:
添加到@luc-e 答案。如果您将 Elastic 安装为 Docker 容器,那么您应该执行以下操作:
docker exec -it <container_id> bash
cd /usr/share/elasticsearch/config
echo "xpack.security.enabled: false" >> elasticsearch.yml
然后重启你的容器
【讨论】:
以上是关于如何在错误轨道“警告:299 Elasticsearch 内置安全功能未启用。如果没有身份验证,您的集群可以...”中解决此问题的主要内容,如果未能解决你的问题,请参考以下文章
RAILS_ENV=生产轨道资产:预编译不适用于 RSpec
UISlider 最小和最大轨道色调清除颜色 iOS 7.1 错误