infinilabs / analysis-ik

🚌 The IK Analysis plugin integrates Lucene IK analyzer into Elasticsearch and OpenSearch, support customized dictionary.
Apache License 2.0
16.61k stars 3.27k forks source link

配置热更url报错,如下,怎么解决? #482

Open flyfeifei66 opened 6 years ago

flyfeifei66 commented 6 years ago

[2017-12-24T19:48:44,562][INFO ][o.w.a.d.Monitor ] [Dict Loading] http://127.0.0.1:8080/head/words.txt [2017-12-24T19:48:44,795][WARN ][r.suppressed ] path: /_analyze//, params: {} org.elasticsearch.transport.RemoteTransportException: [node-1][127.0.0.1:9300][indices:admin/analyze[s]] Caused by: java.security.AccessControlException: access denied ("java.net.SocketPermission" "127.0.0.1:8080" "connect,resolve") at java.security.AccessControlContext.checkPermission(AccessControlContext.java:472) ~[?:1.8.0_91]

huangzi2009 commented 6 years ago

我也碰到了相同的问题,有谁知道怎么弄呀

icodemo commented 6 years ago

同样的问题,不知道如何解决啊

flyfeifei66 commented 6 years ago

修改jdk策略文件搞定了,但是我觉得不应该是这个办法。

huangzi2009 commented 6 years ago

@flyfeifei66 我也修改了jdk策略,还是不行啊。你是咋改的呢

xiao6zi commented 6 years ago

我也修改jdk的策略文件搞定了 @huangzi2009 step: 1.find the file java.policyhttps://stackoverflow.com/questions/16931327/where-is-the-java-sdk-folder-in-my-computer-ubuntu-12-04) 2.add permission java.net.SocketPermission "your_IP:80","connect,resolve"; into garnt{} 3.restart elasticsearch

shenfl commented 6 years ago

我也遇到这个问题了,也是改了permission文件好的。以前有这个问题吗?还是新版本改出来的问题?

Joseph-zander commented 6 years ago

同样的问题。。。郁闷中, 公司运营不给加,怎么办。。。

Joseph-zander commented 6 years ago

已修改java.policy文件,解决了,谢谢。

yuandehongCSDN commented 6 years ago

当前页遇到这个问题了,本地安装es之后没有问题,但是服务器上部署项目时在虚拟机中安装elasticsearch6.0之后配置iK6.0也是这个错,远程词库的地址是192.168.8.38:8081/hotWords.dic;虚拟机中使用curl 可以连接,配置了 policy 文件之后没有作用

xiaozhuaisnow commented 6 years ago

这个没有官方给出的方案吗?不能每台服务器都去修改java.policy文件吧。@medcl

flyfeifei66 commented 6 years ago

@xiaozhuaisnow ,我也这么觉得,而且到了生产,是不太可能让你随意修改策略文件的,等于问题解决不了了。

flyfeifei66 commented 6 years ago

@huangzi2009 @icodemo @xiao6zi @shenfl @Newman1 已经研究出来,es默认开启了java安全管理器,老版本可以在主配置文件里设置,直接关闭enable:false,新版本貌似不能关闭,但是config下有个jvm.prperties可以配置,这里可以添加一项-Djava.security.policy=D:/java.policy 配置,意思自定义安全策略文件目录,否则就走jre里的了。这样就可以不用修改全局的安全策略了,我的文件直接给了所有权限grant all premisson。

medcl commented 6 years ago

修改策略文件吧,使用 ansible 之类的工具批量管理

junyi5257 commented 6 years ago

jvm.prperties 可以配置,这里可以添加一项 -Djava.security.policy=D:/java.policy 这个解决方案可行 @flyfeifei66 谢谢

junyi5257 commented 6 years ago

建议在 readme.md文件中提一下这个问题,好像6.0+的版本,热更新都有这个问题,后面还有好多这个原因造成的issues

rueian commented 6 years ago

hi 大家好, 我在 PR #565 中修正了這個問題

wu-andrew commented 6 years ago

我的版本是6.2.3
在jvm.options 追加 -Djava.security.policy=/opt/elk/elasticsearch-6.2.3/config/ik-plugin.policy ik-plugin.policy内容和全局java.policy一样,就是追加192这行 permission java.util.PropertyPermission "java.vm.name", "read"; permission java.net.SocketPermission "192.168.1.46:990", "connect,resolve"; };