Apache Flume - Sumber Generator Urutan

Pada bab sebelumnya, kita telah melihat bagaimana mengambil data dari sumber twitter ke HDFS. Bab ini menjelaskan cara mengambil data dariSequence generator.

Prasyarat

Untuk menjalankan contoh yang diberikan dalam bab ini, Anda perlu menginstal HDFS bersama Flume. Oleh karena itu, verifikasi instalasi Hadoop dan mulai HDFS sebelum melanjutkan lebih jauh. (Lihat bab sebelumnya untuk mempelajari cara memulai HDFS).

Konfigurasi Flume

Kita harus mengkonfigurasi sumber, saluran, dan wastafel menggunakan file konfigurasi di confmap. Contoh yang diberikan dalam bab ini menggunakan asequence generator source, Sebuah memory channel, dan HDFS sink.

Sumber Generator Urutan

Ini adalah sumber yang menghasilkan peristiwa terus menerus. Ia memelihara penghitung yang dimulai dari 0 dan bertambah 1. Digunakan untuk tujuan pengujian. Saat mengonfigurasi sumber ini, Anda harus memberikan nilai ke properti berikut -

  • Channels

  • Source type - seq

Saluran

Kami menggunakan memorysaluran. Untuk mengkonfigurasi saluran memori, Anda harus memberikan nilai untuk jenis saluran tersebut. Diberikan di bawah ini adalah daftar properti yang perlu Anda sediakan saat mengkonfigurasi saluran memori -

  • type- Ini memegang jenis saluran. Dalam contoh kami, jenisnya adalah MemChannel.

  • Capacity- Ini adalah jumlah maksimum acara yang disimpan di saluran. Nilai defaultnya adalah 100. (opsional)

  • TransactionCapacity- Ini adalah jumlah maksimum acara yang diterima atau dikirim saluran. Standarnya adalah 100. (opsional).

HDFS Sink

Wastafel ini menulis data ke dalam HDFS. Untuk mengonfigurasi sink ini, Anda harus memberikan detail berikut.

  • Channel

  • type - hdfs

  • hdfs.path - jalur direktori di HDFS tempat penyimpanan data.

Dan kami dapat memberikan beberapa nilai opsional berdasarkan skenario. Diberikan di bawah ini adalah properti opsional dari sink HDFS yang kita konfigurasikan dalam aplikasi kita.

  • fileType - Ini adalah format file yang diperlukan dari file HDFS kami. SequenceFile, DataStream dan CompressedStreamadalah tiga jenis yang tersedia dengan aliran ini. Dalam contoh kami, kami menggunakanDataStream.

  • writeFormat - Bisa berupa teks atau dapat ditulis.

  • batchSize- Ini adalah jumlah peristiwa yang ditulis ke file sebelum di-flush ke HDFS. Nilai defaultnya adalah 100.

  • rollsize- Ini adalah ukuran file untuk memicu gulungan. Nilai defaultnya adalah 100.

  • rollCount- Ini adalah jumlah kejadian yang ditulis ke dalam file sebelum digulung. Nilai defaultnya adalah 10.

Contoh - File Konfigurasi

Diberikan di bawah ini adalah contoh file konfigurasi. Salin konten ini dan simpan sebagaiseq_gen .conf di folder conf Flume.

# Naming the components on the current agent 

SeqGenAgent.sources = SeqSource   
SeqGenAgent.channels = MemChannel 
SeqGenAgent.sinks = HDFS 
 
# Describing/Configuring the source 
SeqGenAgent.sources.SeqSource.type = seq
  
# Describing/Configuring the sink
SeqGenAgent.sinks.HDFS.type = hdfs 
SeqGenAgent.sinks.HDFS.hdfs.path = hdfs://localhost:9000/user/Hadoop/seqgen_data/
SeqGenAgent.sinks.HDFS.hdfs.filePrefix = log 
SeqGenAgent.sinks.HDFS.hdfs.rollInterval = 0
SeqGenAgent.sinks.HDFS.hdfs.rollCount = 10000
SeqGenAgent.sinks.HDFS.hdfs.fileType = DataStream 
 
# Describing/Configuring the channel 
SeqGenAgent.channels.MemChannel.type = memory 
SeqGenAgent.channels.MemChannel.capacity = 1000 
SeqGenAgent.channels.MemChannel.transactionCapacity = 100 
 
# Binding the source and sink to the channel 
SeqGenAgent.sources.SeqSource.channels = MemChannel
SeqGenAgent.sinks.HDFS.channel = MemChannel

Eksekusi

Jelajahi direktori home Flume dan jalankan aplikasi seperti yang ditunjukkan di bawah ini.

$ cd $FLUME_HOME 
$./bin/flume-ng agent --conf $FLUME_CONF --conf-file $FLUME_CONF/seq_gen.conf 
   --name SeqGenAgent

Jika semuanya berjalan lancar, sumber mulai menghasilkan nomor urut yang akan didorong ke HDFS dalam bentuk file log.

Diberikan di bawah ini adalah snapshot dari jendela prompt perintah yang mengambil data yang dihasilkan oleh generator urutan ke dalam HDFS.

Memverifikasi HDFS

Anda dapat mengakses UI Web Administrasi Hadoop menggunakan URL berikut -

http://localhost:50070/

Klik pada dropdown bernama Utilitiesdi sisi kanan halaman. Anda dapat melihat dua opsi seperti yang ditunjukkan pada diagram di bawah ini.

Klik Browse the file system dan masuk ke jalur direktori HDFS tempat Anda menyimpan data yang dihasilkan oleh generator urutan.

Dalam contoh kita, jalurnya adalah /user/Hadoop/ seqgen_data /. Kemudian, Anda dapat melihat daftar file log yang dibuat oleh generator urutan, yang disimpan di HDFS seperti yang diberikan di bawah ini.

Memverifikasi Isi File

Semua file log ini berisi angka dalam format berurutan. Anda dapat memverifikasi konten file ini di sistem file menggunakancat perintah seperti yang ditunjukkan di bawah ini.