मैं नवीनतम काफ्का दस्तावेज़ http://kafka.apache.org/documentation.html से शुरू कर रहा हूं। लेकिन जब मैं नई उपभोक्ता एपीआई का उपयोग करने की कोशिश करता हूं तो मुझे कुछ समस्या मिलती है। मैं निम्न चरणों के साथ काम किया है:काफ्का 0.8.2 के उपभोक्ता API का उपयोग कैसे करें?
1. जोड़े नई निर्भरता
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>0.8.2.1</version>
</dependency>
2. विन्यास
Map<String, Object> config = new HashMap<String, Object>();
config.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG,
"host:9092");
config.put(ConsumerConfig.GROUP_ID_CONFIG, "test");
config.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG,
StringDeserializer.class.getName());
config.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG,
StringDeserializer.class.getName());
config.put(ConsumerConfig.PARTITION_ASSIGNMENT_STRATEGY, "range");
3. उपयोग KafkaConsumer एपीआई
जोड़ेKafkaConsumer<String, String> consumer = new KafkaConsumer<String, String>(config);
consumer.subscribe("topic");
हालांकि, जब मैं दलाल से संदेश मतदान करने का प्रयास करें, मैं कुछ भी नहीं लेकिन अशक्त हो गया है:
Map<String, ConsumerRecords<String, String>> records = consumer.poll(0);
if (records != null)
process(records);
else
System.err.println("null");
और फिर मुझे पता है कि उपभोक्ता के साथ गलत क्या है के बाद मैं स्रोत कोड की जाँच की:
@Override
public Map<String, ConsumerRecords<K,V>> poll(long timeout) {
// TODO Auto-generated method stub
return null;
}
मामलों को और खराब बनाने के लिए, मुझे 0.8.2 एपीआई के बारे में कोई अन्य उपयोगी जानकारी नहीं मिल रही है, क्योंकि काफ्का के बारे में सभी उपयोग नवीनतम संस्करण के साथ संगत नहीं हैं। क्या कोई मेरी मदद कर सकता है? बहुत बहुत धन्यवाद।
नया काफ्काकॉन्सर API केवल 0.8.3 https://cwiki.apache.org/confluence/display/KAFKA/Future+release+plan में उपलब्ध होगा। स्पष्ट रूप से ट्रंक में कुछ कार्यान्वयन हैं, हालांकि मुझे राज्य के बारे में कोई जानकारी नहीं है। उस समय के लिए मैं पुराने उपभोक्ता कार्यान्वयन का उपयोग कर रहा हूं। – habsq
धन्यवाद @habsq। तो सभी पुराने एपिस के बीच, काफ़का 0.8.x का उपयोग करते समय कौन सा संस्करण सबसे अच्छा विकल्प है? – Yohn
मैं 0.8.1.1 का उपयोग कर रहा हूं, 'सर्वश्रेष्ठ' विकल्प के बारे में नहीं जानता। – habsq