Elasticsearch:无法导入记录器(答案适用于其他导入)

2024-02-29

客观的

使用 Elasticsearch 的记录器功能更好地调试服务器端 Groovy 脚本代码。

问题总结

无法导入org.elasticsearch.common.logging.*

Details

  • 使用Elasticsearch 2.3
  • 脚本存储在/etc/elasticsearch/scriptsJava 客户端已经能够通过以下方式成功访问它们Client.update()。也就是说,文件夹位置应该是正确的。我看到了将代码放入的建议elasticsearch/config/scripts,这实际上对我不起作用)
  • Tried 这个解决方案 https://stackoverflow.com/questions/27981832/access-logger-from-elasticsearch-script/27981891#27981891, 那是:

    import org.elasticsearch.common.logging.*
    ESLogger logger = ESLoggerFactory.getLogger('myscript')

    但 Elasticsearch 日志显示了编译器的抱怨:unable to resolve class org.elasticsearch.common.logging.ESLogger

我在GitHub上查看了源代码here https://github.com/elastic/elasticsearch/tree/0f00c14afc8428a2a72c0b766d2171029dc8f6e1/core/src/main/java/org/elasticsearch/common/loggingESLogger 类就在那里。所以我不知道为什么会发生这种情况。

有人对获得import上班?


其原因是Elasticsearch 2.2 中已启用用于脚本编写的 Java 安全管理器 https://www.elastic.co/guide/en/elasticsearch/reference/current/float.html#_scripting_and_security。这意味着您需要遵守规则并配置您希望脚本能够访问哪些类 https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-scripting-security.html.

为了能够在脚本中进行日志记录,我定义了自己的策略文件并将其设置为 JAVA_OPTS ,甚至在启动命令中设置为-Djava.security.policy=file:///D:/ES/elasticsearch-2.3.1/my.policy. The minimum的内容my.policy文件应该是:

grant {
    permission org.elasticsearch.script.ClassPermission "org.elasticsearch.common.logging.*";
    permission org.elasticsearch.script.ClassPermission "org.apache.log4j.*";
};

当然,需要重启ES才能使更改生效。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Elasticsearch:无法导入记录器(答案适用于其他导入) 的相关文章

随机推荐

  • 沿直线或路径移动 SVG 对象

    我想要为 SVG 对象设置动画 以便它遵循我从 d3 js 中的线条生成器构建的 SVG 路径 有什么简单的方法可以实现这一目标吗 特别是 我想获得与我的路径相对应的插值坐标 从那里 使用 tween js 或 d3 js 本身执行动画将很
  • 防止嵌套对象的 mongodb C# 驱动程序将 id 序列化为 _id

    我正在使用 C mongodb 驱动程序来更新 mongodb 中的记录 下面的代码对我来说工作正常 但它会自动将所有出现的 id 转换为 id var client GetMongoClient var collection1 GetMo
  • 使用 C# 压缩/解压字符串

    我是 net新手 我正在用 C 进行字符串压缩和解压 有一个 XML 我正在转换为字符串 然后进行压缩和解压缩 我的代码中没有编译错误 除非我解压代码并返回字符串时 它只返回 XML 的一半 下面是我的代码 有错误的地方请指正 Code c
  • 如何使用数据库更改更新 edmx 文件?

    我有一个 edmx 文件 并且更改了数据库中的一个表 我知道有一个 从数据库更新模型 向导 但在许多情况下这是无用的 例如 如果我将字段从非空更改为可为空 或者如果我删除字段 则更新模型不会反映更改 我必须删除实体并将其添加回来才能使更改出
  • 如何获取外部页面优惠券/优惠券表格以在 OpenCart 中使用?

    我的 OpenCart 环境中有另一个页面 比如说 关于我们 页面 其中包含下面这些表单 假设用户的购物车中有商品 这些表单应该可以工作 但不能 在此输入您的优惠券代码
  • nginx 将所有 http 重定向到 https,但有一个例外

    我想将所有 http 流量重定向到 https 但有一个例外 url 中带有 preview 的任何内容我都想保留在 http 上 我尝试过以下配置 但它一直告诉我有一个重定向循环 server listen 80 server name
  • C++0x没有信号量?如何同步线程?

    C 0x 真的不会有信号量吗 Stack Overflow 上已经有一些关于信号量使用的问题 我一直使用它们 posix 信号量 来让一个线程等待另一个线程中的某个事件 void thread0 doSomething0 event1 wa
  • 有没有办法以编程方式将 Alias 添加到 Powershell Cmdlet?

    我正在为我的应用程序编写自定义 Powershell cmdlet 并且需要为某些 cmdlet 提供别名 假设我有 cmdlet Get DirectoryListing 并且我想向此 cmdlet 添加别名 例如 gdl 我怎样才能做到
  • React.js 服务器端渲染和事件处理程序

    我正在学习使用react js 并且在使用事件处理程序时遇到一些问题 最后一个问题是 是否可以使用服务器端渲染并将事件处理程序自动发送到客户端 这是我的例子 我有一个 index jsx 我渲染服务器端并将其发送到客户端 var React
  • Vuetify,工具提示:“on”和“attrs”有什么用?

    我在 Vuetify 文档中查找 Tooltip 找到了这个示例
  • 定位并删除 jupyter 笔记本中的隐藏内核

    我试图找出我的 mac 中的 anaconda 内核在哪里 因为应用程序报告了不同的事情 如果我运行 jupyter 内核规范列表 I get 可用内核 python2 用户 用户 anaconda 共享 jupyter kernels p
  • 传递参数 Angular 2 传统方式

    我正在尝试以这种格式将参数传递给一个组件www domain com param value 但是 Angular 不断发送这样的参数www domain com param value 为什么要更换 for 这是我的路线配置 const
  • MATLAB scatter3、plot3 速度差异

    这是关于 MATLAB 如何花费不同的时间来绘制同一件事及其原因 我在 3D 空间中生成 10000 个点 X rand 10000 1 Y rand 10000 1 Z rand 10000 1 然后 我使用四种不同方法之一来绘制此图 创
  • Hibernate异常:缺少列(列存在)

    好的 在数据 库中我们有一个名为 distribution Companies 的表 创建如下 CREATE TABLE distributionCompanies distributionCompanyID INT 11 NOT NULL
  • Android MediaCodec 向后查找

    我正在尝试使用以下方法实现视频的精确搜索MediaCodec and MediaExtractor 通过关注 Grafika 的电影播放器 https github com google grafika blob master app sr
  • Jenkins:无法创建 Android 模拟器,无法解析 AVD 配置文件

    我在本地 PC 上安装了 Jeknins 我成功地将 Android 应用程序代码与 github 集成并生成 apk 文件作为工件 问题出在测试用例的执行上 我无法启动 Android 模拟器 它说 sdk tools android b
  • 如何在SQL Server Management Studio中快速编辑表中的值?

    除了对象资源管理器中的上下文菜单 gt 编辑前 200 行 之外 是否有一种快速方法可以在编辑模式下打开表格 在其中可以快速修改单元格的值 我需要能够翻阅前 200 行 而且我不想为我需要做的每个小调整编写 插入 脚本 我不明白为什么 SM
  • UINavigationControllerDelegate 方法被调用两次

    我建立了一个非常简单的项目 没有故事板 一个窗口和一个 UINavigationController 其中包含一个普通的旧 UIViewController 作为 rootViewController 在 AppDelegate 中 我将
  • 实体框架更新 edmx 会创建重复的属性

    当我从数据库更新 edmx 时 我在多对多关系表上添加了主键 我得到重复的属性 例如 InstantceType 和 InstantType1 对于数据库的每次刷新 我都会获得一个新属性 知道是什么原因造成的吗 添加密钥后 EF 模型可能变
  • Elasticsearch:无法导入记录器(答案适用于其他导入)

    客观的 使用 Elasticsearch 的记录器功能更好地调试服务器端 Groovy 脚本代码 问题总结 无法导入org elasticsearch common logging Details 使用Elasticsearch 2 3 脚