作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
public static void main(String[] args) throws IOException {
Settings settings = ImmutableSettings.settingsBuilder()
.put("cluster.name", "foxzen")
.put("node.name", "yu").build();
Client client = new TransportClient(settings)
.addTransportAddress(new InetSocketTransportAddress("XXX.XXX.XXX.XXX", 9200));
// XXX is my server's ip address
IndexResponse response = client.prepareIndex("twitter", "tweet")
.setSource(XContentFactory.jsonBuilder()
.startObject()
.field("productId", "1")
.field("productName", "XXX").endObject()).execute().actionGet();
System.out.println(response.getIndex());
System.out.println(response.getType());
System.out.println(response.getVersion());
client.close();
}
我从我的电脑访问服务器
curl -get http://XXX.XXX.XXX.XXX:9200/
得到这个
{
"status" : 200,
"name" : "yu",
"version" : {
"number" : "1.1.0",
"build_hash" : "2181e113dea80b4a9e31e58e9686658a2d46e363",
"build_timestamp" : "2014-03-25T15:59:51Z",
"build_snapshot" : false,
"lucene_version" : "4.7"
},
"tagline" : "You Know, for Search"
}
为什么使用 Java API 会出错?
编辑
有elasticsearch.yml
################################### Cluster ###################################
# Cluster name identifies your cluster for auto-discovery. If you're running
# multiple clusters on the same network, make sure you're using unique names.
#
cluster.name: foxzen
#################################### Node #####################################
# Node names are generated dynamically on startup, so you're relieved
# from configuring them manually. You can tie this node to a specific name:
#
node.name: yu
最佳答案
一些建议:
1 - 使用端口 9300。[9300-9400] 用于节点到节点通信,[9200-9300] 用于 HTTP 流量。
2 - 确保您使用的 Java API 版本与服务器上运行的 elasticsearch 版本匹配。
3 - 确保您的集群名称为 foxzen
(检查服务器上的 elasticsearch.yml)。
4 - 移除 put("node.name", "yu")
,因为您使用的是 TransportClient
,所以您没有作为节点加入集群,即使你是它,你的服务器节点似乎也被命名为 yu
所以无论如何你都需要一个不同的节点名称。
关于java - ElasticSearch Java API :NoNodeAvailableException: No node available,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23520684/
我是一名优秀的程序员,十分优秀!