Rumah  >  Artikel  >  perintah start-all.sh, start-dfs.sh tidak ditemui

perintah start-all.sh, start-dfs.sh tidak ditemui

PHPz
PHPzke hadapan
2024-02-09 13:24:09797semak imbas

Editor PHP Apple mungkin menghadapi masalah biasa apabila menggunakan Hadoop: "start-all.sh, start-dfs.sh commands not found". Masalah ini biasanya berlaku apabila memulakan kluster Hadoop dan mungkin disebabkan oleh konfigurasi laluan yang salah atau fail skrip yang tidak wujud. Untuk menyelesaikan masalah ini, kita perlu menyemak laluan pemasangan Hadoop dan konfigurasi pembolehubah persekitaran untuk memastikan ia ditetapkan dengan betul dan memastikan fail skrip yang berkaitan wujud dalam laluan yang sepadan. Berikut akan memperkenalkan secara terperinci bagaimana untuk menyelesaikan masalah ini, mari kita lihat bersama!

Kandungan soalan

Saya menggunakan ubuntu 16.04 lts dan memasang hadoop 2.7.2. Keluaran

  hadoop version

Ya

  hadoop 2.7.2
  subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r b165c4fe8a74265c792ce23f546c64604acf0e41
  compiled by jenkins on 2016-01-26t00:08z
  compiled with protoc 2.5.0
  from source with checksum d0fda26633fa762bff87ec759ebe689c
  this command was run using /usr/local/hadoop-2.7.2/share/hadoop/common/hadoop-common-2.7.2.jar

Apabila saya berlari

  whereis hadoop

Output yang diberikan ialah

  hadoop: /usr/local/hadoop /usr/local/hadoop-2.7.2/bin/hadoop.cmd /usr/local/hadoop-2.7.2/bin/hadoop

Tetapi apabila saya menjalankan arahan

  start-all.sh

Ia mengatakan arahan tidak dijumpai. Perkara yang sama apabila saya berlari

  start-dfs.sh

Output yang diberikan adalah arahan tidak ditemui.

Saya boleh menjalankan arahan ini apabila saya menavigasi ke direktori hadoop, tetapi saya mahu menjalankan arahan ini tanpa menavigasi ke direktori hadoop.

Penyelesaian

Masalah anda ialah bash tidak tahu di mana hendak mencari ./start-all.sh.

Anda boleh membetulkannya dengan membuka $home/.bashrc dan menambah baris seperti ini:

path=$path:/usr/local/hadoop/sbin

Ini memberitahu bash bahawa ia sepatutnya kelihatan start-all.sh dalam "/usr/local/hadoop/sbin".

Perhatian:

Perubahan kepada $home/.bashrc tidak akan berkuat kuasa di mana-mana terminal yang sedang dibuka.

Jika anda memerlukan perubahan untuk berkuat kuasa pada terminal yang sedang dibuka, jalankan

source $home/.bashrc

Saya perlu menggunakan find untuk mencarinya.

find / -iname start-all.sh 2>  /dev/null

Temui:

/usr/local/sbin/start-all.sh
/usr/local/cellar/hadoop/3.3.4/libexec/sbin/start-all.sh
/usr/local/cellar/hadoop/3.3.4/sbin/start-all.sh

Jadi sebagai tambahan kepada jawapan sebelumnya, pembolehubah dalam $home/.bashrc kelihatan seperti ini:

PATH=$PATH:/usr/local/sbin/

Nota: Saya tidak pasti yang mana satu harus ditetapkan path

Atas ialah kandungan terperinci perintah start-all.sh, start-dfs.sh tidak ditemui. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam