1

LinuxクラスターにHadoopをインストールしました。コマンド$bin/ start-all.shでサーバーを起動しようとすると、次のエラーが発生します。

mkdir: cannot create directory `/var/log/hadoop/spuri2': Permission denied
chown: cannot access `/var/log/hadoop/spuri2': No such file or directory
/home/spuri2/spring_2012/Hadoop/hadoop/hadoop-1.0.2/bin/hadoop-daemon.sh: line 136: /var/run/hadoop/hadoop-spuri2-namenode.pid: Permission denied
head: cannot open `/var/log/hadoop/spuri2/hadoop-spuri2-namenode-gpu02.cluster.out' for reading: No such file or directory
localhost: /home/spuri2/.bashrc: line 10: /act/Modules/3.2.6/init/bash: No such file or directory
localhost: mkdir: cannot create directory `/var/log/hadoop/spuri2': Permission denied
localhost: chown: cannot access `/var/log/hadoop/spuri2': No such file or directory

conf /hadoop-env.shのログディレクトリパラメーターを/tmpディレクトリに構成し、core-site.xmlの「hadoop.tmp.dir」を/tmp/ディレクトリに構成しました。/ var / logディレクトリにアクセスできませんが、Hadoopデーモンが/ var / logディレクトリに書き込もうとして、失敗します。

なぜこれが起こっているのだろうか?

4

3 に答える 3

1

このディレクトリは、hadoop-env.shではなく「core.site.xml」ファイルに書き込む必要があります

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
<property>
  <name>hadoop.tmp.dir</name>
  <value>/Directory_hadoop_user_have_permission/temp/${user.name}</value>
  <description>A base for other temporary directories.</description>
</property>

<property>
  <name>fs.default.name</name>
  <value>hdfs://localhost:54310</value>
  <description>The name of the default file system.  A URI whose
  scheme and authority determine the FileSystem implementation.  The
  uri's scheme determines the config property (fs.SCHEME.impl) naming
  the FileSystem implementation class.  The uri's authority is used to
  determine the host, port, etc. for a filesystem.</description>
</property>

</configuration>
于 2012-08-04T01:25:25.067 に答える
1

つまり、大学のクラスターにHadoopが複数インストールされていたため、この問題に直面しました。rootユーザーとしてのHadoopのインストールは、私のローカルのHadoopインストールを台無しにしていました。

Hadoopデーモンが起動しない理由は、root権限を持つ特定のファイルに書き込めないためです。私は通常のユーザーとしてHadoopを実行していました。この問題は、大学のシステム管理者がrootユーザーとしてHadoopをインストールしたために発生しました。そのため、hadoopのローカルインストールを開始すると、rootインストール構成ファイルがローカルhadoop構成ファイルよりも優先されていました。これを理解するのに長い時間がかかりましたが、rootユーザーとしてhadoopをアンインストールした後、問題は解決しました。

于 2012-11-26T01:29:24.743 に答える
0

以前は同じエラーが発生していました。構成タグの下に追加した場合は、スーパーユーザーへの変更を実行する前に:su --username(これはhadoopディレクトリの所有権を持つユーザーです)次にstart-all.shを実行してみてください

チュートリアルで説明されているように、構成タグの間に必要なものを追加したことを確認してください。

http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-single-node-cluster/

于 2012-12-10T05:15:39.990 に答える