Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

配置自定义字典为jdbc方式,启动elasticsearch后报错 #190

Open
liangxuegang01 opened this issue Feb 2, 2021 · 5 comments
Open

Comments

@liangxuegang01
Copy link

在插件目录下添加了mysql-connector-java-8.0.23.jar,打开了plugin-security.policy的权限,重新启动elasticsearch后报错如下:

Likely root cause: java.security.AccessControlException: access denied ("java.security.SecurityPermission" "putProviderProperty.MySQLScramShaSasl")
at java.base/java.security.AccessControlContext.checkPermission(AccessControlContext.java:472)
at java.base/java.security.AccessController.checkPermission(AccessController.java:1036)
at java.base/java.lang.SecurityManager.checkPermission(SecurityManager.java:408)
at java.base/java.lang.SecurityManager.checkSecurityAccess(SecurityManager.java:1521)
at java.base/java.security.Provider.check(Provider.java:852)
at java.base/java.security.Provider.putService(Provider.java:1363)
at com.mysql.cj.sasl.ScramShaSaslProvider.lambda$new$0(ScramShaSaslProvider.java:78)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:312)
at com.mysql.cj.sasl.ScramShaSaslProvider.(ScramShaSaslProvider.java:77)
at com.mysql.cj.protocol.a.authentication.AuthenticationLdapSaslClientPlugin.(AuthenticationLdapSaslClientPlugin.java:73)
at com.mysql.cj.protocol.a.NativeAuthenticationProvider.loadAuthenticationPlugins(NativeAuthenticationProvider.java:246)
at com.mysql.cj.protocol.a.NativeAuthenticationProvider.proceedHandshakeWithPluggableAuthentication(NativeAuthenticationProvider.java:387)
at com.mysql.cj.protocol.a.NativeAuthenticationProvider.connect(NativeAuthenticationProvider.java:174)
at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1350)
at com.mysql.cj.NativeSession.connect(NativeSession.java:157)
at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:953)
at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:823)
at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:453)
at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:246)
at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:198)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:677)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)
at org.ansj.dic.impl.Jdbc2Stream.toStream(Jdbc2Stream.java:64)
at org.ansj.dic.PathToStream.stream(PathToStream.java:24)
at org.ansj.library.DicLibrary.init(DicLibrary.java:198)
at org.ansj.library.DicLibrary.get(DicLibrary.java:142)
at org.ansj.library.DicLibrary.get(DicLibrary.java:135)
at org.ansj.elasticsearch.index.config.AnsjElasticConfigurator.lambda$initDic$2(AnsjElasticConfigurator.java:135)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:312)
at org.ansj.elasticsearch.index.config.AnsjElasticConfigurator.initDic(AnsjElasticConfigurator.java:134)
<<>>

请帮忙看看如何解决,谢谢

@shi-yuan
Copy link
Member

shi-yuan commented Feb 2, 2021

看错误提示,是需要在plugin-security.policy授权
permission java.security.SecurityPermission "putProviderProperty.MySQLScramShaSasl"

@liangxuegang01
Copy link
Author

配置成功,非常感谢

@liangxuegang01
Copy link
Author

现在发现一个问题
调用/_ansj/flush/dic?key=dic_d3方法后,报错
Init dic library error :org.ansj.exception.LibraryException: err to load by jdbc
请帮忙看看什么原因
mysql驱动已经添加了

@liangxuegang01
Copy link
Author

已经解决了,权限少了分号,谢谢

1 similar comment
@liangxuegang01
Copy link
Author

已经解决了,权限少了分号,谢谢

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants