2013-07-29 323 views
7

我正在嘗試使用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?

回答

8

看起來你仍然有0.90跑步。您需要關閉它,然後才能切換到0.20。最簡單的方法是通過運行

curl -XPOST 10.1.10.52:9200/_shutdown 

如果這不起作用,請找到elasticsearch正在運行的java進程並殺死它。

在0.90關閉後,您可能需要重新清理目錄。

+0

它的工作!非常感謝你! :) – CodingInCircles

+0

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

+1

它看起來像一個配置問題給我。這個錯誤意味着logstash中的Elasticsearch客戶端無法加入elasticsearch集羣。我會建議詢問一個單獨的問題,包括來自客戶端和elasticsearch服務器的日誌文件以及elasticsearch配置。 – imotov

0
 In windows stop all the services. I mean Elastic search ,Kibana ,Logstash and beats if any. 

     I installed them following http://robwillis.info/2016/05/installing-elasticsearch-logstash-and-kibana-elk-on-windows-server-2012-r2/ . Here he has explained the instaling steps very beautifully. Thanks A Lot. 
I downloaded the zip and extracted them in a single folder as the below image 

[![enter image description here][1]][1] 

Installation steps are as below. 

PS C:\windows\system32> Invoke-Expression -command "C:\ELKStack\elasticsearch-5.6.3\bin\elasticsearch-service install" 
Installing service  : "elasticsearch-service-x64" 
Using JAVA_HOME (64-bit): "C:\Program Files\Java\jdk1.8.0_65" 
The service 'elasticsearch-service-x64' has been installed. 

PS C:\windows\system32> Invoke-Expression -command "C:\ELKStack\elasticsearch-5.6.3\bin\elasticsearch-service manager" 
Successfully started service manager for 'elasticsearch-service-x64'. 

PS C:\windows\system32> Invoke-Expression -command "C:\ELKStack\nssm-2.24\win64\nssm install Logstash" 
Service "Logstash" installed successfully! 
PS C:\windows\system32> Invoke-Expression -command "C:\ELKStack\nssm-2.24\win64\nssm install kibana" 
Service "kibana" installed successfully! 
PS C:\windows\system32> PowerShell.exe -ExecutionPolicy UnRestricted -File C:\ELKStack\filebeat-5.6.3-windows-x86_64\.\i 
nstall-service-filebeat.ps1 

Security Warning 
Run only scripts that you trust. While scripts from the Internet can be useful, this script can potentially harm your 
computer. Do you want to run C:\ELKStack\filebeat-5.6.3-windows-x86_64\install-service-filebeat.ps1? 
[D] Do not run [R] Run once [S] Suspend [?] Help (default is "D"): R 

Status Name    DisplayName 
------ ----    ----------- 
Stopped filebeat   filebeat 


     Now to unistal I used the following method. 

    Open windows powershell 


     PS C:\windows\system32> PowerShell.exe -ExecutionPolicy UnRestricted -File C:\ELKStack\filebeat-5.6.3-windows-x86_64\un 
     install-service-filebeat.ps1 


     __GENUS   : 2 
     __CLASS   : __PARAMETERS 
     __SUPERCLASS  : 
     __DYNASTY  : __PARAMETERS 
     __RELPATH  : 
     __PROPERTY_COUNT : 1 
     __DERIVATION  : {} 
     __SERVER   : 
     __NAMESPACE  : 
     __PATH   : 
     ReturnValue  : 0 


     PS C:\windows\system32> Invoke-Expression -command "C:\ELKStack\nssm-2.24\win64\nssm remove Kibana" 
     Service "Kibana" removed successfully! 

     PS C:\windows\system32> Invoke-Expression -command "C:\ELKStack\nssm-2.24\win64\nssm remove logstash" 
     Service "Logstash" removed successfully! 

     PS C:\windows\system32> Invoke-Expression -command "C:\ELKStack\elasticsearch-5.6.3\bin\elasticsearch-service.bat remove" 
     The service 'elasticsearch-service-x64' has been removed`enter code here` 


    [1]: https://i.stack.imgur.com/ooHa8.png