Video: How to Setup Multinode Hadoop 2 on CentOS/RHEL Using VirtualBox 2024
HDFS adalah salah satu dari dua komponen utama kerangka Hadoop; Yang lainnya adalah paradigma komputasi yang dikenal sebagai MapReduce. Sistem berkas terdistribusi adalah sistem berkas yang mengelola penyimpanan di sekelompok jaringan mesin.
HDFS menyimpan data di blok , unit dengan ukuran default 64MB. File yang ingin Anda simpan di HDFS perlu dipecah menjadi potongan ukuran blok yang kemudian disimpan secara terpisah di seluruh cluster. Anda bisa menggunakan perintah fsck line untuk mencantumkan blok yang membentuk setiap file dalam HDFS, sebagai berikut:
% hadoop fsck / -file -blocks
Karena Hadoop ditulis di Jawa, semua interaksi dengan HDFS dikelola melalui Java API. Perlu diingat, Anda tidak perlu menjadi guru Java untuk bekerja dengan file dalam HDFS. Beberapa antarmuka Hadoop yang dibangun di atas API Java sekarang digunakan secara umum (dan menyembunyikan Java), namun yang paling sederhana adalah antarmuka baris perintah; gunakan command line untuk berinteraksi dengan HDFS pada contoh yang diberikan.
Anda mengakses shell sistem berkas Hadoop dengan menjalankan satu bentuk perintah hadoop. Semua perintah hadoop dipanggil oleh naskah bin / hadoop. (Untuk mengambil deskripsi semua perintah hadoop, jalankan skrip hadoop tanpa menentukan argumen apa pun.) Perintah hadoop memiliki sintaks
hadoop [--config confdir] [COMMAND] [GENERIC_OPTIONS] [COMMAND_OPTIONS]
The - config confdir option menimpa direktori konfigurasi default ($ HADOOP_HOME / conf), sehingga Anda dapat dengan mudah menyesuaikan konfigurasi lingkungan Hadoop Anda. Pilihan generik dan opsi perintah adalah seperangkat pilihan umum yang didukung oleh beberapa perintah.
Perintah sistem berkas hadoop shell (untuk antarmuka baris perintah) memerlukan pengidentifikasi sumber daya yang seragam (URI) sebagai argumen. A URI adalah serangkaian karakter yang digunakan untuk mengidentifikasi nama atau sumber web.
String bisa menyertakan nama skema - kualifikasi untuk sifat sumber data. Untuk HDFS, nama skemanya adalah hdfs, dan untuk sistem berkas lokal, nama skema adalah file. Jika Anda tidak menentukan nama skema, defaultnya adalah nama skema yang ditentukan di file konfigurasi. File atau direktori di HDFS dapat ditentukan dengan cara yang memenuhi syarat, seperti pada contoh ini:
hdfs: // namenodehost / parent / child
Atau bisa juga menjadi / parent / child jika file konfigurasi menunjuk ke hdfs: // namenodehost
Perintah shell sistem berkas Hadoop, yang serupa dengan perintah file Linux, memiliki sintaks umum berikut ini:
hadoop hdfs dfs - file_cmd
Pembaca dengan beberapa pengalaman Hadoop sebelumnya mungkin bertanya, "Tapi apa tentang perintah hadoop fs?"Perintah fs sudah tidak digunakan lagi dalam seri rilis Hadoop 0. 2, tapi masih bekerja di Hadoop 2. Gunakan hdfs dfs sebagai gantinya.
Seperti yang Anda duga, Anda menggunakan perintah mkdir untuk membuat direktori di HDFS, sama seperti yang akan Anda lakukan di Linux atau pada sistem operasi berbasis Unix. Meskipun HDFS memiliki direktori kerja default, / user / $ USER, di mana $ USER adalah nama pengguna login Anda, Anda perlu membuatnya sendiri dengan menggunakan sintaks
$ hadoop hdfs dfs -mkdir / user / login_user_name
Misalnya, untuk membuat sebuah direktori bernama "joanna", jalankan perintah mkdir ini:
$ hadoop hdfs dfs -mkdir / user / joanna
Gunakan perintah Hadoop put untuk menyalin file dari sistem file lokal Anda ke HDFS:
$ hadoop hdfs dfs -put file_name / user / login_user_name
Misalnya, untuk menyalin file yang bernama data. txt ke direktori baru ini, jalankan perintah berikut ini:
$ hadoop hdfs dfs -put data. txt / user / joanna
Jalankan perintah ls untuk mendapatkan daftar file HDFS:
$ hadoop hdfs dfs -ls. Ditemukan 2 item drwxr-xr-x - joanna supergroup 0 2013-06-30 12: 25 / user / joanna -rw-r - r-- 1 joanna supergroup 118 2013-06-30 12: 15 / user / joanna / data. txt
Daftar file itu sendiri terurai seperti yang dijelaskan dalam daftar ini:
-
Kolom 1 menunjukkan file mode ("d" untuk direktori dan "-" untuk file normal, diikuti oleh hak akses). Tiga jenis izin - baca (r), tulis (w), dan jalankan (x) - sama seperti yang Anda temukan di sistem berbasis Linux dan Unix. Izin eksekusi untuk file diabaikan karena Anda tidak dapat menjalankan file pada HDFS. Perizinan dikelompokkan oleh pemilik, kelompok, dan publik (orang lain).
-
Kolom 2 menunjukkan faktor replikasi untuk file. (Konsep replikasi tidak berlaku untuk direktori.) Blok yang membentuk sebuah file dalam HDFS direplikasi untuk memastikan toleransi kesalahan. Faktor replikasi , atau jumlah replika yang disimpan untuk file tertentu, dapat dikonfigurasi. Anda dapat menentukan faktor replikasi saat file dibuat atau nanti, melalui aplikasi Anda.
-
Kolom 3 dan 4 menampilkan berkas pemilik dan grup . Supergroup adalah nama kelompok superusers, dan superuser adalah pengguna dengan identitas yang sama dengan proses NameNode. Jika Anda memulai NameNode, Anda adalah superuser untuk saat ini. Ini adalah grup khusus - pengguna biasa akan membuat pengguna mereka termasuk dalam kelompok tanpa karakteristik khusus - grup yang hanya ditentukan oleh administrator Hadoop.
-
Kolom 5 menunjukkan ukuran file, dalam satuan byte, atau 0 jika itu adalah sebuah direktori.
-
Kolom 6 dan 7 menunjukkan tanggal dan waktu modifikasi terakhir.
-
Kolom 8 menunjukkan nama yang tidak memenuhi syarat (artinya nama skema tidak ditentukan) dari file atau direktori.
Gunakan perintah Hadoop untuk menyalin file dari HDFS ke sistem file lokal Anda:
$ hadoop hdfs dfs -get file_name / user / login_user_name
Gunakan rok Hadoop perintah untuk menghapus file atau direktori kosong:
$ hadoop hdfs dfs -rm file_name / user / login_user_name
Gunakan perintah hdfs dfs -help hadoop untuk mendapatkan bantuan terperinci untuk setiap pilihan.