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

标签 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()”方法。所以,你有建议吗,或者我必须在代码中添加一些内容

谢谢.....

最佳答案

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

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

如果找不到该文件,您将得到一个(相当不友好和无益的)NullPointerException

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

有关correct directory layout的文档,请参见此处。

关于java - 为什么我在elasticsearch构建节点中得到java.lang.nullpointerexception?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35526223/

相关文章:

java - 错误的类型转换

Elasticsearch 聚合和过滤器

sql - 有人有幸集成 SQL 单元测试以使用 CI 构建工具运行吗?

java - 为什么我的构建路径上的类会出现 'undefined symbol' 错误?

java - 尝试使用通知

java - Android上如何实现父子Recyclerview

c# - 从 NEST C# 嵌套聚合获取 Elasticsearch 结果

go - 如何编译由多个文件组成的 Go 程序?

java - Freemarker 获取当前时间戳

hadoop - 此存储桶的一部分可能包含部分数据 - kibana Issue