elasticsearch-analysis-hanlp
elasticsearch-analysis-hanlp copied to clipboard
java.io.FilePermission" "data/dictionary/CoreNatureDictionary.tr.txt" "read")
java.security.AccessControlException: access denied ("java.io.FilePermission" "data/dictionary/CoreNatureDictionary.tr.txt" "read") at java.security.AccessControlContext.checkPermission(AccessControlContext.java:472) ~[?:1.8.0_181] at java.security.AccessController.checkPermission(AccessController.java:884) ~[?:1.8.0_181]
数据持久化到ES是否有遇到权限报错?这个会导致es服务下线 是怎么处理的 ?
@pengcong90 方便的话加一下我微信1042185520有几个问题请教下 或者邮件我[email protected]
data路径没有问题 policy也没有问题,给该文件赋予了777权限 依然读失败
如图
777
https://github.com/pengcong90/elasticsearch-analysis-hanlp/issues/4
2、修改es config目录下的jvm.options文件,最后一行添加
-Djava.security.policy=../plugins/analysis-hanlp/plugin-security.policy
到到底是什么原因呀,我现在也遇到这个问题
grant { // HanLP data directories permission java.io.FilePermission "<<ALL FILES>>", "read,write,delete";
// needed because of problems in unbound LDAP library permission java.util.PropertyPermission "*", "read,write";
// classloader permission java.lang.RuntimePermission "setContextClassLoader"; permission java.lang.RuntimePermission "getClassLoader";
// socket permission java.net.SocketPermission "*", "connect,resolve"; };
是plugin-security.policy文件没有更新,授权失败,隔壁的plugin-security.policy的内容是这样的,有很大的区别,改成这样就可以了
重启后第一次先用 hanlp_smart, 再用 hanlp_max_word 就没问题了。先用 hanlp_max_word 就会出现上述问题,很奇怪,后边分析一下原因
遇到一个清况(7.9.3), 手动解压到es plugins目录中,更改config/hanlp.properties root属性,一直报这个错。 拉了源代码发现源码中,读取配置路径是 ${ES_HOME}/config/analysis-hanlp/hanlp.properties, 将plugins/analysis-hanlp/config/hanlp.properties复制一份过去就可以了。
遇到了一样的问题,ES7.5.2
使用 JDK1.8,修改JDK中java.policy解决( /home/deploy/env/jdk/jre/lib/security/java.policy ) 增加:permission java.io.FilePermission "-","read";
permission java.net.SocketPermission "*", "connect,resolve";
permission java.io.FilePermission "-","read";
注:* 表示当前目录的文件,- 表示包括子目录
由于高版本JDK,如jdk11,没有该目录,无法通过这个方式解决