예제 #1
0
def consume(kafka_host):
    kafka = KafkaClient(kafka_host)
    consumer = SimpleConsumer(kafka, 'fetcher', cfg['kafka']['pages'])
    producer = SimpleProducer(kafka)
    consumer.max_buffer_size=20*1024*1024
    for msg in consumer:
        page = json.loads(msg.message.value)
        process(page, producer)
    kafka.close()
예제 #2
0
from kafka import KafkaClient, SimpleConsumer
from sys import argv

MIN_NUM_ARGS = 4

if (len(argv) < MIN_NUM_ARGS):
        print "Wrong number of arguments: ", len(argv)
        print "Usage: python simple-consumer <broker-address> <topic-name> <consumer-group-id>"
        exit(1)

kafkaClientAddress = argv[1]
topicName = argv[2]
consumerGroupId = argv[3]

kafkaClient = KafkaClient(kafkaClientAddress)
consumer = SimpleConsumer(kafkaClient, consumerGroupId, topicName)
consumer.max_buffer_size=0
consumer.seek(0,2)
for message in consumer:
 print("OFFSET: "+str(message[0])+"\t MSG: "+str(message[1][3]))
예제 #3
0
 def simple_consumer():
     consumer = SimpleConsumer(kafka, 'group', sys.argv[1])
     consumer.max_buffer_size = 0
     consumer.seek(0, 2)  # Most recent, not stream begin
     return consumer
예제 #4
0
    if args.offset:
        zk.set(
            '/consumers/{0}/offsets/{1}/{2}'.format(args.consumer, args.topic,
                                                    args.partition),
            b"%s" % (args.offset))

    try:
        if args.broker:
            kclient = KafkaClient("%s" % (args.broker))

            # add support for more than 1 parititon
            consumer = SimpleConsumer(kclient,
                                      args.consumer,
                                      args.topic,
                                      partitions=[0])
            consumer.max_buffer_size = None
            if args.offset:
                consumer.seek(0, 1)

            message = consumer.get_message()
            if message:
                print "DEBUG: restoring"
                print("MSG: " + str(message[1][3]) + "\tOFFSET: " +
                      str(message[0]) + "\t KEY: " + str(message.message.key))

        if not args.set:
            zk.set(
                '/consumers/{0}/offsets/{1}/{2}'.format(
                    args.consumer, args.topic, args.partition),
                b"%s" % (old_offset))
        else: