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

时间:2016-02-20 16:57:53

标签: 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"$
        .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)

我不知道如何解决这个问题,我试着寻找解决方案。错误日志中的第56行,请参阅上面的“.node()”方法。所以,你有建议,或者我要在我的代码中添加一些内容

感谢.....

1 个答案:

答案 0 :(得分:0)

这种情况发生的唯一方法是由于path.home的错误配置。

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

如果找不到该文件,您将获得{相当不友好且无益的} {{1}}。

所以解决方法是检查&#34; / home / kenny / Program / Java / elastic&#34;实际上是ES安装的顶级。

请参阅此处了解looks for a file上的文档。