在 ElasticSearch 中,我配置了 jdbc river 插件,它在配置屏蔽并分配给管理员用户之前工作,ElasticSearch 是安全的并且能够被 TransportClient 访问,但是当我运行 River 插件脚本时,我得到了以下异常:
pool-3-thread-1] ERROR river.jdbc.RiverPipeline - action [org.xbib.elasticsearch.action.river.jdbc.state.get] is unauthorized for user [ddtuser]
org.elasticsearch.shield.authz.AuthorizationException: action [org.xbib.elasticsearch.action.river.jdbc.state.get] is unauthorized for user [ddtuser]
at org.elasticsearch.shield.authz.InternalAuthorizationService.denial(InternalAuthorizationService.java:247)
顺便说一句,我已经修改了 JDBCFeeder.java,将 shield.user 传递给设置,但没有运气!
Settings clientSettings = ImmutableSettings.settingsBuilder()
.put("cluster.name", settings.get("elasticsearch.cluster", "elasticsearch"))
.put("shield.user", "ddtuser:*mypassword*")