elasticsearch,build,nullpointerexception,nodes,Java,elasticsearch,Build,Nullpointerexception,Nodes" /> elasticsearch,build,nullpointerexception,nodes,Java,elasticsearch,Build,Nullpointerexception,Nodes" />

为什么我在elasticsearch构建节点中得到java.lang.nullpointerexception?

为什么我在elasticsearch构建节点中得到java.lang.nullpointerexception?,java,elasticsearch,build,nullpointerexception,nodes,Java,elasticsearch,Build,Nullpointerexception,Nodes,我已经使用elasticsearch和非常简单的代码行测试了我的应用程序。像这样: Node node = nodeBuilder() .settings(Settings.settingsBuilder().put("cluster.name", "elasticsearch").put("clster.transport.sniff", true).put("path.home", "/home/kenny/Program/Java/elastic"$ .no

我已经使用elasticsearch和非常简单的代码行测试了我的应用程序。像这样:

Node node = nodeBuilder()
        .settings(Settings.settingsBuilder().put("cluster.name", "elasticsearch").put("clster.transport.sniff", true).put("path.home", "/home/kenny/Program/Java/elastic"$
        .node();
Exception in thread "main" java.lang.NullPointerException
at java.io.Reader.<init>(Reader.java:78)
at java.io.InputStreamReader.<init>(InputStreamReader.java:113)
at org.elasticsearch.node.internal.InternalSettingsPreparer.randomNodeName(InternalSettingsPreparer.java:198)
at org.elasticsearch.node.internal.InternalSettingsPreparer.finalizeSettings(InternalSettingsPreparer.java:177)
at org.elasticsearch.node.internal.InternalSettingsPreparer.prepareEnvironment(InternalSettingsPreparer.java:101)
at org.elasticsearch.node.Node.<init>(Node.java:128)
at org.elasticsearch.node.NodeBuilder.build(NodeBuilder.java:145)
at org.elasticsearch.node.NodeBuilder.node(NodeBuilder.java:152)
at TryElastic.main(TryElastic.java:56)
但我犯了这样的错误:

Node node = nodeBuilder()
        .settings(Settings.settingsBuilder().put("cluster.name", "elasticsearch").put("clster.transport.sniff", true).put("path.home", "/home/kenny/Program/Java/elastic"$
        .node();
Exception in thread "main" java.lang.NullPointerException
at java.io.Reader.<init>(Reader.java:78)
at java.io.InputStreamReader.<init>(InputStreamReader.java:113)
at org.elasticsearch.node.internal.InternalSettingsPreparer.randomNodeName(InternalSettingsPreparer.java:198)
at org.elasticsearch.node.internal.InternalSettingsPreparer.finalizeSettings(InternalSettingsPreparer.java:177)
at org.elasticsearch.node.internal.InternalSettingsPreparer.prepareEnvironment(InternalSettingsPreparer.java:101)
at org.elasticsearch.node.Node.<init>(Node.java:128)
at org.elasticsearch.node.NodeBuilder.build(NodeBuilder.java:145)
at org.elasticsearch.node.NodeBuilder.node(NodeBuilder.java:152)
at TryElastic.main(TryElastic.java:56)
线程“main”java.lang.NullPointerException中的异常 在java.io.Reader上。(Reader.java:78) 位于java.io.InputStreamReader。(InputStreamReader.java:113) 位于org.elasticsearch.node.internal.InternalSettingsPreparer.randomNodeName(InternalSettingsPreparer.java:198) 位于org.elasticsearch.node.internal.InternalSettingsPreparer.finalizeSettings(InternalSettingsPreparer.java:177) 位于org.elasticsearch.node.internal.InternalSettingsPreparer.prepareEnvironment(InternalSettingsPreparer.java:101) 在org.elasticsearch.node.node.(node.java:128) 位于org.elasticsearch.node.NodeBuilder.build(NodeBuilder.java:145) 位于org.elasticsearch.node.NodeBuilder.node(NodeBuilder.java:152) 在TryElastic.main(TryElastic.java:56) 我不知道如何解决这个问题,我一直在努力寻找解决办法。在错误日志的第56行,请参阅上面的“.node()”方法。那么,你有什么建议吗,或者我需要在代码中添加一些东西


谢谢….

发生这种情况的唯一原因是
path.home
配置错误

当Elasticsearch尝试为您的实例生成随机节点名时,它会在
{path.home}/config/names.txt

如果找不到该文件,您将得到一个(相当不友好和没有帮助的)
NullPointerException


因此,解决方案是检查“/home/kenny/Program/Java/elastic”是否真的是ES安装的顶级


请参阅此处,以获取。

/home/kenny/Program/Java/elastic上的文档“$可能您没有关闭括号
clster.transport.sniff
也是错误的。你是说
client.transport.sniff
?这个答案救了我一天。特别是当您说ES将查看names.txt时。我只是给出了一个节点名,问题就消失了。非常感谢。