2014-05-21 12 views
7

मैं वर्तमान में elasticsearch, logstash और kibana के साथ काम कर रहा हूं।इस कोड अपवाद त्रुटि को कैसे ठीक करें elasticsearch

मुझे एक अपवाद मिल रहा है जिसे मैं नहीं प्राप्त कर सकता।

यहाँ पहली बार मैं क्या मिलता है जब मैं आईपी डाल है: .. 9200/_cluster/अपने ब्राउज़र में स्वास्थ्य

{ 
"cluster_name":"mr-cluster", 
"status":"yellow", 
"timed_out":false, 
"number_of_nodes":1, 
"number_of_data_nodes":1, 
"active_primary_shards":5, 
"active_shards":5, 
"relocating_shards":0, 
"initializing_shards":0, 
"unassigned_shards":5 
} 

यहाँ जब लोचदार खोज अनुरोध करने के लिए कोशिश कर रहा kibana क्या मिलता है

Remote Address:ip:9200 
Request ip:9200/_all/_search 
Request Method:POST 
Status Code:200 OK 

यह अब तक ठीक लग रहा है ..

यहाँ मेरी logstash कॉन्फ़िग फ़ाइल है:

input { 
gelf { 
    port => "5000" 
} 
udp { 
    port => "5001" 
} 
} 

output { 
file { 
    path => "/home/g/stdout.log" 
} 
elasticsearch { 
    cluster => "mr-cluster" 
    codec => "json" 
} 
} 

कुछ बहुत ही सरल है जब मैं केवल आउटपुट के रूप में फ़ाइल का उपयोग करता हूं, यह पूरी तरह से काम करता है, लॉगस्टैश काम करता है। समस्या तब होती है जब मैं आउटपुट के रूप में लोचदार खोज का उपयोग करना चाहता हूं, अब कुछ भी काम नहीं करता है (ईवेंट फ़ाइल आउटपुट) और मुझे यह अपवाद elasticsearch से मिलता है। मैं अब घंटों के लिए Google पर खोज कर रहा हूं और समाधान नहीं मिला।

[2014-05-21 09:18:35,060][WARN ][http.netty    ] [mr-node-elasticsearch] Caught  exception while handling client http traffic, closing connection [id: 0x27d0ccce, /0:0:0:0:0:0:0:1:44164 => /0:0:0:0:0:0:0:1:9200] 
java.lang.IllegalArgumentException: empty text 
at org.elasticsearch.common.netty.handler.codec.http.HttpVersion.<init>(HttpVersion.java:97) 
at org.elasticsearch.common.netty.handler.codec.http.HttpVersion.valueOf(HttpVersion.java:62) 
at org.elasticsearch.common.netty.handler.codec.http.HttpRequestDecoder.createMessage(HttpRequestDecoder.java:75) 
at org.elasticsearch.common.netty.handler.codec.http.HttpMessageDecoder.decode(HttpMessageDecoder.java:189) 
at org.elasticsearch.common.netty.handler.codec.http.HttpMessageDecoder.decode(HttpMessageDecoder.java:101) 
at org.elasticsearch.common.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:500) 
at org.elasticsearch.common.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:435) 
at org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70) 
at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564) 
at org.elasticsearch.common.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791) 
at org.elasticsearch.common.netty.OpenChannelsHandler.handleUpstream(OpenChannelsHandler.java:74) 
at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564) 
at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559) 
at org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(Channels.java:268) 
at org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(Channels.java:255) 
at org.elasticsearch.common.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88) 
at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:108) 
at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:318) 
at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:89) 
at org.elasticsearch.common.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178) 
at org.elasticsearch.common.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108) 
at org.elasticsearch.common.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42) 
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:744) 

लोग सहायता के लिए धन्यवाद:

यहाँ अपवाद नहीं है!

उत्तर

2

जिस तरह से आप elasticsearch (केवल क्लस्टर नाम का उपयोग कर) कॉन्फ़िगर कर रहे हैं क्लस्टर की मल्टीकास्ट खोज को ट्रिगर करता है। आप क्लस्टर में विन्यस्त करने के लिए सीधे है कि अगर काम करता है देखने की कोशिश कर सकते हैं:

elasticsearch { 
    host=>"ip_here" 
    port=>9200 
    protocol=>http 
} 

इसके अलावा अपने क्लस्टर उत्पादन कहा अपने क्लस्टर, एक "पीले" स्थिति में था तो आप यह पता लगाने की क्या वहाँ हो रहा है चाहते हो सकता है - आप इसे "हरा" होना चाहते हैं।

4

जब मुझे यह त्रुटि मिली, तो मैंने पोर्ट को 9200 से 9 300 में बदल दिया। उम्मीद है कि यह आपके लिए काम करेगा।

नोट: मैं elasticsearch के लिए एक शुरुआत कर रहा हूँ।

शायद यह आपकी समस्या का समाधान नहीं करेगा, लेकिन शायद यह अन्य भिखारी लोगों की सहायता करेगा जिन्होंने एक ही त्रुटि संदेश की खोज की और इस पृष्ठ का नेतृत्व किया गया।

+1

यह त्रुटि प्रति-se मतलब यह है कि netty कचरा प्राप्त कर रहा है।परिणामस्वरूप अनुरोध में http संस्करण का पता लगाने में विफल रहा है। उदाहरण के लिए, http पोर्ट को https बोलने का प्रयास करते समय यह त्रुटि भी हो सकती है। या इस परिदृश्य में जब परिवहन पोर्ट (डिफ़ॉल्ट 9300) के बजाय elasticsearch रीस्टफुल एपीआई पोर्ट (डिफ़ॉल्ट 9200) से संचार करते हैं। –

+0

मुझे आश्चर्य है लेकिन यह मेरे लिए काम किया .. बहुत बहुत धन्यवाद – Logicalj

0

9300 कार्यों में पोर्ट बदलना ठीक है। लेकिन लोचदार खोज सेवाओं की जांच करना बेहतर है। यह नीचे हो सकता है। और इस अपवाद को अनुक्रमणित नहीं किया जाएगा। मैं भी ईएलके स्टैक के लिए शुरुआत कर रहा हूँ।

इसके अलावा, आप बंदरगाहों तो बदल प्रत्येक elasticsearch नोड्स के लिए लॉग इन और /etc/init.d/elasticsearch

1

गलती है कि मैं यूनिकास्ट के लिए लचीला उदाहरणों के विन्यास में था शुरू चलाने के लिए नहीं करना चाहते, तो खोज। मैंने अनजाने में यूनिकास्ट होस्ट सूची की कॉन्फ़िगरेशन में पोर्ट नंबर 9200 जोड़ा।

गलत:

discovery.zen.ping.multicast.enabled: false 
discovery.zen.ping.unicast.hosts: ["localhost.localdomain:9200"] 

सही:

discovery.zen.ping.multicast.enabled: false 
discovery.zen.ping.unicast.hosts: ["localhost.localdomain"] 
संबंधित मुद्दे