你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入关键字进行搜索
搜索:
没有找到相关结果
kennywu76 - Wood
赞同来自:
System.setProperty("es.set.netty.runtime.available.processors", "false");
240475588
要回复问题请先登录或注册
2 个回复
kennywu76 - Wood
赞同来自:
https://discuss.elastic.co/t/e ... 88036
240475588
赞同来自:
ES 5.4 版本用的netty4.1.11的版本,该版本不能重复调用NettyRuntime.setAvailableProcessors.
而我项目中正好有其它地方的组件(Xdiamond已经调用过NettyRuntime.setAvailableProcessors),这时ES再次调用就会抛这个异常。
解决方法:在项目中重写org.elasticsearch.transport.netty4.Netty4Utils
这行代码if (isAvailableProcessorsSet.compareAndSet(false, true))
改成 if (isAvailableProcessorsSet.compareAndSet(false, true)&&NettyRuntime.availableProcessors() == 0) 。
这是ES5.4的一个小BUG,原有的校验有问题。