我正在尝试使用elasticsearch和Kibana进行logstash工作。我拥有所有最新版本,但在遇到一些问题后,我意识到我需要安装较早版本的弹性搜索(即0.20.6),以便它能够与最新版本的logstash一起正常工作。所以,我下载了旧版本,做了旧版本(v.0.90.x)的0,并安装了新版本(v.0.20.6)。我试图启动它。它开始,但然后给我重复错误,如:如何删除elasticsearch?
[2013-07-29 14:24:04,718][WARN ][indices.cluster ] [Dansen Macabre] [blog][2] failed to start shard
org.elasticsearch.indices.recovery.RecoveryFailedException: [blog][2]: Recovery failed from [Blob][UCFJzrBxQHOYOohF6scQMw][inet[/10.1.10.52:9300]] into [Dansen Macabre][-GzBNHLJSc2Do5DNTsn1jw][inet[/10.1.10.52:9301]]
at org.elasticsearch.indices.recovery.RecoveryTarget.doRecovery(RecoveryTarget.java:293)
at org.elasticsearch.indices.recovery.RecoveryTarget.access$300(RecoveryTarget.java:62)
at org.elasticsearch.indices.recovery.RecoveryTarget$2.run(RecoveryTarget.java:163)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)
Caused by: org.elasticsearch.transport.RemoteTransportException: [Blob][inet[/10.1.10.52:9300]][index/shard/recovery/startRecovery]
Caused by: org.elasticsearch.index.engine.RecoveryEngineException: [blog][2] Phase[1] Execution failed
at org.elasticsearch.index.engine.robin.RobinEngine.recover(RobinEngine.java:1123)
at org.elasticsearch.index.shard.service.InternalIndexShard.recover(InternalIndexShard.java:526)
at org.elasticsearch.indices.recovery.RecoverySource.recover(RecoverySource.java:116)
at org.elasticsearch.indices.recovery.RecoverySource.access$1600(RecoverySource.java:60)
at org.elasticsearch.indices.recovery.RecoverySource$StartRecoveryTransportRequestHandler.messageReceived(RecoverySource.java:328)
at org.elasticsearch.indices.recovery.RecoverySource$StartRecoveryTransportRequestHandler.messageReceived(RecoverySource.java:314)
at org.elasticsearch.transport.netty.MessageChannelHandler$RequestHandler.run(MessageChannelHandler.java:265)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)
Caused by: org.elasticsearch.indices.recovery.RecoverFilesRecoveryException: [blog][2] Failed to transfer [25] files with total size of [3.7kb]
at org.elasticsearch.indices.recovery.RecoverySource$1.phase1(RecoverySource.java:226)
at org.elasticsearch.index.engine.robin.RobinEngine.recover(RobinEngine.java:1116)
... 9 more
Caused by: java.io.FileNotFoundException: /Users/CiC/BigData/elasticsearch-0.90.2/data/elasticsearch/nodes/0/indices/blog/2/index/_1_es090_0.doc (No such file or directory)
at java.io.RandomAccessFile.open(Native Method)
at java.io.RandomAccessFile.<init>(RandomAccessFile.java:233)
at org.apache.lucene.store.FSDirectory$FSIndexInput.<init>(FSDirectory.java:410)
at org.apache.lucene.store.NIOFSDirectory$NIOFSIndexInput.<init>(NIOFSDirectory.java:123)
at org.apache.lucene.store.NIOFSDirectory.openInput(NIOFSDirectory.java:80)
at org.apache.lucene.store.RateLimitedFSDirectory.openInput(RateLimitedFSDirectory.java:99)
at org.elasticsearch.index.store.Store.openInputRaw(Store.java:271)
at org.elasticsearch.indices.recovery.RecoverySource$1$1.run(RecoverySource.java:171)
... 3 more
正如你所看到的,它仍然试图寻找v.0.90.x安装。我localhost:9200
显示以下的输出:
{
"ok" : true,
"status" : 200,
"name" : "Blob",
"version" : {
"number" : "0.90.2",
"snapshot_build" : false,
"lucene_version" : "4.3.1"
},
"tagline" : "You Know, for Search"
}
如何解决这个使用v.0.20.6?
它的工作!非常感谢你! :) – CodingInCircles
imotov,我重新做了整件事情,但是当我尝试登录到logstash以存储在ES中时,出现'ClusterBlockException - 被[SERVICE_UNAVAILABLE/1/state not recovered/initialized]阻塞; [ SERVICE_UNAVAILABLE/2/no master];:在处理客户端http流量,关闭连接时发生logstash错误和Caught异常[id:0x99214945,/127.0.0.1:56084:> /127.0.0.1:9200] java.lang .IllegalArgumentException:ES中的空文本错误。到底是怎么回事?我甚至尝试过'flush'和'delete',但似乎没有任何效果。请帮忙。谢谢! – CodingInCircles
它看起来像一个配置问题给我。这个错误意味着logstash中的Elasticsearch客户端无法加入elasticsearch集群。我会建议询问一个单独的问题,包括来自客户端和elasticsearch服务器的日志文件以及elasticsearch配置。 – imotov