2013-06-27 18 views
5

मैं काफ्कास्पॉट का उपयोग कर रहा हूं। कृपया नीचे परीक्षण कार्यक्रम खोजें।काफ्का स्कोउट का उपयोग कर काफ्का तूफान एकीकरण

मैं तूफान 0.8.1 का उपयोग कर रहा हूं। तूफान 0.8.2 में मल्टीशेम वर्ग है। मैं इसका इस्तेमाल करूँगा। मैं सिर्फ यह जानना चाहता हूं कि पहले के संस्करण स्ट्रिंगशेम() कक्षा को तुरंत चालू करके कैसे काम कर रहे थे? मैं काफ्का स्पॉट के पुराने संस्करण कहां डाउनलोड कर सकता हूं? लेकिन मुझे संदेह है कि तूफान 0.8.2 पर काम करने के बजाय एक सही विकल्प होगा। ??? (उलझन में)

जब मैं तूफान क्लस्टर पर कोड (नीचे दिया गया) चलाता हूं (यानी जब मैं अपनी टोपोलॉजी को दबाता हूं) मुझे निम्न त्रुटि मिलती है (ऐसा तब होता है जब योजना भाग को अन्यथा टिप्पणी की जाती है, मुझे संकलक त्रुटि मिल जाएगी वर्ग 0.8.1 में वहाँ नहीं है):

java.lang.NoClassDefFoundError: backtype/storm/spout/MultiScheme 
     at storm.kafka.TestTopology.main(TestTopology.java:37) 
Caused by: java.lang.ClassNotFoundException: backtype.storm.spout.MultiScheme 

आप नीचे दिए गए() spoutConfig.scheme = नए StringScheme मिल सकता है कोड में; भाग टिप्पणी की। मुझे संकलक त्रुटि मिल रही थी अगर मैं उस रेखा पर टिप्पणी नहीं करता जो कि प्राकृतिक है क्योंकि वहां कोई रचनाकार नहीं है। साथ ही जब मैं मल्टीशेम को तुरंत चालू करता हूं तो मुझे त्रुटि मिलती है क्योंकि मेरे पास उस कक्षा में 0.8.1 नहीं है।

public class TestTopology { 
    public static class PrinterBolt extends BaseBasicBolt { 
     public void declareOutputFields(OutputFieldsDeclarer declarer) { 
     } 

     public void execute(Tuple tuple, BasicOutputCollector collector) { 
      System.out.println(tuple.toString()); 
     } 
    } 

    public static void main(String [] args) throws Exception { 
     List<HostPort> hosts = new ArrayList<HostPort>(); 
     hosts.add(new HostPort("127.0.0.1",9092)); 
     LocalCluster cluster = new LocalCluster(); 
     TopologyBuilder builder = new TopologyBuilder(); 
     SpoutConfig spoutConfig = new SpoutConfig(new KafkaConfig.StaticHosts(hosts, 1), "test", "/zkRootStorm", "STORM-ID"); 
     spoutConfig.zkServers=ImmutableList.of("localhost"); 
     spoutConfig.zkPort=2181; 
     //spoutConfig.scheme=new StringScheme(); 
     spoutConfig.scheme = new SchemeAsMultiScheme(new StringScheme()); 
     builder.setSpout("spout",new KafkaSpout(spoutConfig)); 
     builder.setBolt("printer", new PrinterBolt()) 
       .shuffleGrouping("spout"); 
     Config config = new Config(); 

     cluster.submitTopology("kafka-test", config, builder.createTopology()); 

     Thread.sleep(600000); 
    } 
+0

मुझे लगता है मुझे समस्या नहीं आती है: क्या आप 0.8.2 पर जाते हैं तो यह सिर्फ काम करता है? यदि ऐसा होता है, तो 0.8.1 में चलाने का प्रयास क्यों करें: 0.8.2 इसे कुछ बग फिक्स और अन्य सुधारों के साथ बदल देता है। –

उत्तर

8

मुझे एक ही समस्या थी। अंततः इसे हल किया, और मैंने गिटूब पर पूरा चल रहा उदाहरण रखा।

आप यहाँ इसे बाहर की जाँच करने के> https://github.com/buildlackey/cep

स्वागत कर रहे हैं (एक नमूना कार्यक्रम है कि आप करने और चलाने के लिए चाहिए तूफान + काफ्का निर्देशिका पर क्लिक करें)।

+8

आपके द्वारा किए गए वर्णन का वर्णन करने के लिए आपके उत्तर में एक वाक्य या दो जोड़ने पर विचार करें ताकि आपका उत्तर उस गिट भंडार पर सक्रिय किए बिना प्रासंगिक हो। – neontapir

+0

निश्चित: इस परियोजना में यूनिट परीक्षण और नमूना कार्यक्रम शामिल हैं जो बताते हैं कि तूफान, काफ्का और Esper के शीर्ष पर जटिल घटना प्रसंस्करण (सीईपी) अनुप्रयोगों को कैसे विकसित किया जाए। –

+0

मेरे लिए अच्छा लगता है –

5

हमारे पास एक समान समस्या थी।

हमारा समाधान:

  1. ओपन pom.xml

  2. गुंजाइश बदलें <scope>compile</scope>

करने के लिए प्रदान से आप और अधिक जानना निर्भरता स्कोप के बारे में Maven दस्तावेज की जांच करना चाहते हैं: Maven docu - dependency scopes

संबंधित मुद्दे