2012-08-04 10 views
1

리눅스 클러스터에 Hadoop을 설치했습니다. 내가 명령 $ 빈/start-all.sh하여 서버를 시작하려고하면, 나는 다음과 같은 얻을 오류 :hadoop 데몬이 시작되지 않음

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 

나는/tmp 디렉토리에/hadoop-env.sh의 conf의 로그 디렉토리 매개 변수를 설정 한 디렉토리를 만들고 core-site.xml에 "hadoop.tmp.dir"을/tmp/디렉토리에 구성했습니다. 이후/var/log 디렉토리에 액세스 할 수 없지만 여전히 hadoop 데몬은/var/log 디렉토리에 쓰기를 시도하고 실패합니다.

왜 이런 일이 발생하는지 궁금합니다. 대학에서 하둡의 다중 설치가 있었기 때문에

답변

1

당신은 한마디로 hadoop-env.sh

<?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> 
+1

나도하지만 변화 것을 시도했다. –

+0

.bashrc 파일에서 변수 $ HADOOP_HOME의 위치는 무엇입니까? –

+0

내 .bashrc 파일에 $ HADOOP_HOME 항목이 없으므로 권한이 없으므로 해당 파일을 편집 할 수 없습니다. 내가 한 것은 export 명령을 사용하여 환경 변수 HADOOP_HOME을 설정하는 것이 었습니다. 그러나 또한 그것은 작동하지 않습니다. –

0

하지 "core.site.xml"파일에서이 디렉토리를 작성해야, 나는이 문제에 직면 클러스터. root 사용자로 hadoop을 설치하면 로컬 설치가 엉망이되었습니다.

Hadoop-daemons가 시작되지 않는 이유는 루트 권한이있는 특정 파일에 쓸 수 없기 때문입니다. 일반 사용자로 Hadoop을 실행했습니다. 문제는 대학 시스템 관리자가 Hadoop을 루트 사용자로 설치했기 때문에 발생했습니다. 따라서 로컬 설치 hadoop을 시작했을 때 루트 설치 구성 파일이 로컬 hadoop 구성 파일보다 우선 순위가 높아졌습니다. 이것을 파악하는 데 오랜 시간이 걸렸지 만 루트 사용자로 hadoop을 제거한 후에 문제가 해결되었습니다.