GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menjalankan Program Hadoop MapReduce di Ubuntu 16.04

Di blog ini, saya akan menunjukkan cara menjalankan program MapReduce. MapReduce adalah salah satu bagian inti dari Apache Hadoop, ini adalah lapisan pemrosesan Apache Hadoop. Jadi sebelum saya menunjukkan cara menjalankan program MapReduce, izinkan saya menjelaskan secara singkat kepada Anda MapReduce.

MapReduce adalah sistem untuk pemrosesan paralel kumpulan data besar. MapReduce mengurangi data menjadi hasil dan membuat ringkasan data. Program mapreduce memiliki dua bagian - mapper dan reducer. Setelah mapper menyelesaikan pekerjaannya maka hanya reduksi yang mulai.

Pemeta : Ini memetakan pasangan kunci/nilai input ke satu set pasangan kunci/nilai perantara.

Peredam : Ini mengurangi satu set nilai menengah yang berbagi kunci ke set nilai yang lebih kecil.

Pada dasarnya, dalam program wordcount mapreduce, kami menyediakan file input - file teks apa pun, sebagai input. Saat program mapreduce dimulai, berikut adalah proses yang dilaluinya:

Pemisahan : Ini membagi setiap baris dalam file input menjadi kata-kata.

Pemetaan : Ini membentuk pasangan nilai kunci, di mana kata adalah kunci dan 1 adalah nilai yang ditetapkan untuk setiap kunci.

Mengacak : Pasangan nilai kunci umum dikelompokkan bersama.

Mengurangi : Nilai kunci serupa ditambahkan bersama.

Menjalankan Program MapReduce

Program MapReduce ditulis dalam Java. Dan sebagian besar Eclipse IDE digunakan untuk pemrograman oleh para pengembang. Jadi di blog ini, saya akan menunjukkan cara mengekspor program mapreduce ke file jar dari Eclipse IDE dan menjalankannya di cluster Hadoop.

Program MapReduce saya ada di IDE Eclipse saya.

Sekarang untuk menjalankan program MapReduce ini pada cluster hadoop, kami akan mengekspor proyek sebagai file jar. Pilih opsi File di ide Eclipse dan klik Ekspor. Dalam opsi Java, pilih file Jar dan klik Berikutnya.

Pilih proyek Wordcount dan berikan path dan nama untuk file jar, saya menyimpannya wordcount.jar, Klik Next dua kali.

Sekarang Klik Browse dan pilih kelas utama dan terakhir klik Finish untuk membuat file jar. Jika Anda mendapatkan peringatan seperti di bawah ini, cukup klik OK.

Periksa apakah cluster Hadoop Anda aktif dan berfungsi atau tidak.

Perintah: jps

hadoop@hadoop-VirtualBox:~$ jps

3008 NodeManager

3924 Jps

2885 ResourceManager

2505 DataNode

3082 JobHistoryServer

2716 SecondaryNameNode

2383 NameNode

hadoop@hadoop-VirtualBox:~$

Kami memiliki file input kami ke HDFS untuk program wordcount.

hadoop@hadoop-VirtualBox:~$ hdfs dfs -put input /

hadoop@hadoop-VirtualBox:~$ hdfs dfs -cat /input

This is my first mapreduce test

This is wordcount program

hadoop@hadoop-VirtualBox:~$

Sekarang jalankan file wordcount.jar menggunakan perintah di bawah ini.

Catatan: Karena kita memilih kelas utama saat mengekspor wordcount.jar , jadi tidak perlu menyebutkan kelas utama dalam perintah.

Perintah: hadoop jar wordcount.jar /input /output

hadoop@hadoop-VirtualBox:~$ hadoop jar wordcount.jar /input /output

16/11/27 22:52:20 INFO client.RMProxy: Connecting to ResourceManager at /0.0.0.0:
8032

16/11/27 22:52:22 WARN mapreduce.JobResourceUploader: Hadoop command-line option 
parsing not performed. Implement the Tool interface and execute your application 
with ToolRunner to remedy this.

16/11/27 22:52:27 INFO input.FileInputFormat: Total input paths to process : 1

16/11/27 22:52:28 INFO mapreduce.JobSubmitter: number of splits:1

16/11/27 22:52:29 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_14802
67251741_0001

16/11/27 22:52:32 INFO impl.YarnClientImpl: Submitted application application_14802
67251741_0001

16/11/27 22:52:33 INFO mapreduce.Job: The url to track the job: http://hadoop-Virtu
alBox:8088/proxy/application_1480267251741_0001/

16/11/27 22:52:33 INFO mapreduce.Job: Running job: job_1480267251741_0001

16/11/27 22:53:20 INFO mapreduce.Job: Job job_1480267251741_0001 running in uber mo
de : false

16/11/27 22:53:20 INFO mapreduce.Job:  map 0% reduce 0%

16/11/27 22:53:45 INFO mapreduce.Job:  map 100% reduce 0%

16/11/27 22:54:13 INFO mapreduce.Job:  map 100% reduce 100%

16/11/27 22:54:15 INFO mapreduce.Job: Job job_1480267251741_0001 completed 
successfully

16/11/27 22:54:16 INFO mapreduce.Job: Counters: 49

          File System Counters

                    FILE: Number of bytes read=124

                    FILE: Number of bytes written=237911

                    FILE: Number of read operations=0

                    FILE: Number of large read operations=0

                    FILE: Number of write operations=0

                    HDFS: Number of bytes read=150

                    HDFS: Number of bytes written=66

                    HDFS: Number of read operations=6

                    HDFS: Number of large read operations=0

                    HDFS: Number of write operations=2

          Job Counters

                    Launched map tasks=1

                    Launched reduce tasks=1

                    Data-local map tasks=1

                    Total time spent by all maps in occupied slots (ms)=21062

                    Total time spent by all reduces in occupied slots (ms)=25271

                    Total time spent by all map tasks (ms)=21062

                    Total time spent by all reduce tasks (ms)=25271

                    Total vcore-milliseconds taken by all map tasks=21062

                    Total vcore-milliseconds taken by all reduce tasks=25271

                    Total megabyte-milliseconds taken by all map tasks=21567488

                    Total megabyte-milliseconds taken by all reduce tasks=25877504

          Map-Reduce Framework

                    Map input records=2

                    Map output records=10

                    Map output bytes=98

                    Map output materialized bytes=124

                    Input split bytes=92

                    Combine input records=0

                    Combine output records=0

                    Reduce input groups=8

                    Reduce shuffle bytes=124

                    Reduce input records=10

                    Reduce output records=8

                    Spilled Records=20

                    Shuffled Maps =1

                    Failed Shuffles=0

                    Merged Map outputs=1

                    GC time elapsed (ms)=564

                    CPU time spent (ms)=4300

                    Physical memory (bytes) snapshot=330784768

                    Virtual memory (bytes) snapshot=3804205056

                    Total committed heap usage (bytes)=211812352

          Shuffle Errors

                    BAD_ID=0

                    CONNECTION=0

                    IO_ERROR=0

                    WRONG_LENGTH=0

                    WRONG_MAP=0

                    WRONG_REDUCE=0

          File Input Format Counters

                    Bytes Read=58

          File Output Format Counters

                    Bytes Written=66

hadoop@hadoop-VirtualBox:~$

Setelah program berhasil berjalan, buka HDFS dan periksa file bagian di dalam direktori keluaran.

Di bawah ini adalah output dari program wordcount.

hadoop@hadoop-VirtualBox:~$ hdfs dfs -cat /output/part-r-00000

 This    2
 first     1
 is        2
 mapreduce   1
 my      1
 program        1
 test     1
 wordcount     1
 hadoop@hadoop-VirtualBox:~$

Kesimpulan

Contoh ini di sini di Jawa, Anda dapat menulis program MapReduce dengan python juga. Kami berhasil menjalankan program Hadoop MapReduce pada Hadoop Cluster di Ubuntu 16.04. Langkah-langkah untuk menjalankan Program Mapreduce di lingkungan Linux lainnya tetap sama. Pastikan bahwa sebelum menjalankan program, cluster Hadoop Anda harus aktif dan berjalan, juga file input Anda harus ada dalam HDFS.


Ubuntu
  1. Cara Menambahkan File Swap Di Ubuntu

  2. Cara Mengkompilasi dan Menjalankan Program C di Ubuntu

  3. Bagaimana Cara Menginstal Satu Program Gui Di Server Ubuntu?

  1. Cara Mengubah Nama Host di Ubuntu 18.04

  2. Cara Menginstal Hadoop di Ubuntu 18.04 atau 20.04

  3. Cara menginstal g ++ di Ubuntu

  1. Cara menghapus file di Ubuntu Linux

  2. Cara Mengatur Hadoop Multi-Node Cluster di Ubuntu

  3. Cara Menjalankan File Jar di Ubuntu Linux