root# bin/hadoop fs -mkdir t
mkdir: org.apache.hadoop.hdfs.server.namenode.SafeModeException: Cannot create directory /user/root/t. Name node is in safe mode.
tidak dapat membuat apa pun di hdfs
aku melakukannya
root# bin/hadoop fs -safemode leave
Tapi menunjukkan
safemode: Unknown command
Apa masalahnya?
Jawaban:
Untuk membiarkan namenode meninggalkan safemode secara paksa, perintah berikut harus dijalankan:
Anda mendapatkan
Unknown command
kesalahan untuk perintah Anda karena-safemode
bukan sub-perintah untukhadoop fs
, tetapi darihadoop dfsadmin
.Juga setelah perintah di atas, saya akan menyarankan Anda untuk menjalankan sekali
hadoop fsck
sehingga setiap inkonsistensi yang merayap di hdfs dapat diselesaikan.Memperbarui:
Gunakan
hdfs
perintah alih-alihhadoop
perintah untuk distribusi yang lebih baru. Thehadoop
Perintah sedang ditinggalkan:hadoop dfsadmin
sudah tidak digunakan lagi dan begitu jugahadoop fs
perintahnya, semua tugas yang berhubungan dengan hdf sedang dipindahkan ke perintah terpisahhdfs
.sumber
hadoop dfsadmin
perintah, itu memberi saya ini:______ DEPRECATED: Use of this script to execute hdfs command is deprecated. Instead use the hdfs command for it. Safe mode is OFF
______ ... tapi masih berjalan. Sepertinya saran oleh @ user3316017 di bawah ini adalah sintaks yang direkomendasikan.hdfs dfsadmin -safemode leave
perintah dijalankan karena cluster penuh, terkadang dimungkinkan untuk keluar dari situasi dengan segera merangkai perintah untuk membersihkan barang, misalnyahdfs dfsadmin -safemode leave; hdfs dfs -rm -skipTrash /path/to/stuff/to/delete
coba ini, itu akan berhasil
sumber
Perintah itu tidak bekerja untuk saya tetapi yang berikut berhasil
Saya menggunakan
hdfs
perintah, bukanhadoop
perintah.Lihat http://ask.gopivotal.com/hc/en-us/articles/200933026-HDFS-goes-into-readonly-mode-and-errors-out-with-Name-node-is-in-safe- mode- link juga
sumber
Jika Anda menggunakan Hadoop versi 2.6.1 di atas, sementara perintah berfungsi, ia mengeluh bahwa itu disusutkan. Saya sebenarnya tidak dapat menggunakan
hadoop dfsadmin -safemode leave
karena saya menjalankan Hadoop di wadah Docker dan perintah itu secara ajaib gagal saat dijalankan di wadah, jadi yang saya lakukan adalah ini. Saya memeriksa doc dan menemukandfs.safemode.threshold.pct
di dokumentasi yang mengatakanjadi saya mengubahnya
hdfs-site.xml
menjadi berikut (Dalam versi Hadoop yang lebih lama, tampaknya Anda perlu melakukannya dihdfs-default.xml
:sumber
Namenode masuk ke dalam safemode jika ada kekurangan memori. Akibatnya HDFS menjadi hanya bisa dibaca. Itu berarti seseorang tidak dapat membuat direktori atau file tambahan di HDFS. Untuk keluar dari safemode, perintah berikut digunakan:
Jika Anda menggunakan manajer cloudera:
Tapi itu tidak selalu menyelesaikan masalah. Solusi lengkapnya terletak pada membuat beberapa ruang di memori. Gunakan perintah berikut untuk memeriksa penggunaan memori Anda.
Jika Anda menggunakan cloudera, Anda juga dapat memeriksa apakah HDFS menunjukkan beberapa tanda kesehatan yang buruk. Mungkin pasti menunjukkan beberapa masalah memori yang terkait dengan namenode. Alokasikan lebih banyak memori dengan mengikuti opsi yang tersedia. Saya tidak yakin perintah apa yang digunakan untuk hal yang sama jika Anda tidak menggunakan manajer cloudera tetapi harus ada cara. Semoga membantu! :)
sumber
Coba ini
periksa status safemode
Jika masih dalam safemode, maka salah satu alasannya adalah tidak cukup ruang di node Anda, Anda dapat memeriksa penggunaan disk node Anda menggunakan:
jika partisi root penuh, hapus file atau tambahkan ruang di partisi root Anda dan coba lagi langkah pertama.
sumber
safe mode on means (HDFS dalam mode READ only)
safe mode off artinya (HDFS dalam mode Writeable dan readable)
Di
Hadoop 2.6.0
, kita dapat memeriksa status node nama dengan bantuan perintah di bawah ini:UNTUK MEMERIKSA status node nama
UNTUK MASUK DALAM MODE AMAN:
UNTUK MENINGGALKAN mode AMAN
sumber
Jalankan perintah di bawah ini menggunakan pengguna OS HDFS untuk menonaktifkan mode aman:
sumber
gunakan perintah di bawah ini untuk mematikan mode aman
$> hdfs dfsadmin -safemode pergi
sumber