2015-11-23 35 views
5

Sto usando la sandbox hortonworks.
creando argomento:come caricare un argomento di Kafka su HDFS?

./kafka-topics.sh --create --zookeeper 10.25.3.207:2181 --replication-factor 1 --partitions 1 --topic lognew 

tailing l'accesso apache directory di registro:

tail -f /var/log/httpd/access_log |./kafka-console-producer.sh --broker-list 10.25.3.207:6667 --topic lognew 

In un altro terminale (di Kafka bin) avviare consumatore:

./kafka-console-consumer.sh --zookeeper 10.25.3.207:2181 --topic lognew --from-beginning 

L'apa che i registri di accesso vengono inviati all'argomento kafka "nuovo registro".

Ho bisogno di memorizzarli su HDFS.
Qualsiasi idea o suggerimento su come farlo.

Grazie in anticipo.
Deepthy

risposta

2

usiamo camus.

Camus is a simple MapReduce job developed by LinkedIn to load data from Kafka into HDFS. It is capable of incrementally copying data from Kafka into HDFS such that every run of the MapReduce job picks up where the previous run left off. At LinkedIn, Camus is used to load billions of messages per day from Kafka into HDFS.

ma sembra come se fosse sostituito con gobblin

Gobblin is a universal data ingestion framework for extracting, transforming, and loading large volume of data from a variety of data sources, e.g., databases, rest APIs, FTP/SFTP servers, filers, etc., onto Hadoop. Gobblin handles the common routine tasks required for all data ingestion ETLs, including job/task scheduling, task partitioning, error handling, state management, data quality checking, data publishing, etc. Gobblin ingests data from different data sources in the same execution framework, and manages metadata of different sources all in one place. This, combined with other features such as auto scalability, fault tolerance, data quality assurance, extensibility, and the ability of handling data model evolution, makes Gobblin an easy-to-use, self-serving, and efficient data ingestion framework.

+0

Grazie per la risposta ... ** Ho provato a eseguire camus ma ho ricevuto il seguente errore: ** com.linkedin.camus.coders.MessageDecoderException: java.lang.InstantiationException: com.linkedin.camus.example. schemaregistry.DummySchemaRegistry – Deepthy

+0

Immagino che sia necessario configurare correttamente il progetto: http://etl.svbtle.com/setting-up-camus-linkedins-kafka-to-hdfs-pipeline –

+0

Altro che usare camus e gobblin c'è qualche altro come caricare l'argomento di kafka su hdf? – Deepthy

0

Sono disponibili diverse altre opzioni:

  • Usa Apache Flume per leggere i messaggi di Kafka e di scrivere ai vostri HDFS . Ci sono diversi esempi su come puoi configurarlo, ma uno article from Cloudera copre abbastanza bene quell'argomento. Hanno anche chiamato la soluzione Flafka;)
  • Utilizzare Kafka HDFS Connector, che è abbastanza semplice da configurare. Tuttavia, richiederebbe Confluent Kafka (che è ancora open source).

Abbiamo testato entrambi con esito positivo.

+1

Se possibile, aggiungi il contenuto dai link alla tua risposta. In questo modo, se i link non funzionano, la tua risposta è comunque utile – mnwsmit

+1

Sono articoli abbastanza grandi, ma proverò a spiegare alcuni concetti. – wjp

+0

Come si compila il connettore kafka hdfs? Dice che ha bisogno del master del repository comune e dello schema che ho scaricato, ma non sono in grado di creare utilizzando le istruzioni su https://github.com/confluentinc/common. Hai segnalato un bug: https://github.com/confluentinc/common/issues/37 – Adrian

Problemi correlati