有人能指出如何使用Node客户端在独立客户端上启用调试级日志记录以进行发现吗?我有以下代码,尝试加入单节点远程集群。发现在30秒后超时(但传输工作正常,并且在master = false的同一主机上启动引导的ES节点,data = false完美地工作)。
val settings = ImmutableSettings.settingsBuilder().
put("discovery.zen.ping.multicast.enabled", false).
put("node.data","false").
put("node.master","false").
put("discovery.zen.ping.unicast.hosts ", "myeshost").
build
val node = nodeBuilder().
loadConfigSettings(false).
settings(settings).
client(true).
node.
start
但这只会导致:
...
[run-main-0] INFO org.elasticsearch.node - [Hebe] starting ...
[run-main-0] INFO org.elasticsearch.transport - [Hebe] bound_address {inet[/0.0.0.0:9301]},publish_address {inet[/10.60.35.37:9301]}
[run-main-0] WARN org.elasticsearch.discovery - [Hebe] waited for 30s and no initial state was set by the discovery
...
我发现这个doc article正在讨论对logger.discovery值的动态更改,但这可能不适用于独立客户端,因为在HTTP侦听器开始甚至收到更新请求之前发生了很好的事情。添加' put(" logger.discovery"," DEBUG")'上面的设置构建器也没有帮助。
真心感谢任何指示。
答案 0 :(得分:0)
您可以尝试使用以下命令直接访问Log4J记录器工厂:
import org.elasticsearch.common.logging.log4j;
// add this before creating your client node.
Log4jESLoggerFactory.getLogger("discovery").setLevel("DEBUG");