OSX의 Hadoop "SCDynamicStore에서 영역 정보를로드 할 수 없음"
OSX 10.7에서 Hadoop을 시작할 때이 오류가 발생합니다.
SCDynamicStore put에서 영역 정보를로드 할 수 없습니다. org.apache.hadoop.hdfs.server.namenode.SafeModeException : / user / travis / input / conf 디렉토리를 만들 수 없습니다. 이름 노드가 안전 모드에 있습니다.
Hadoop의 기능에 문제를 일으키지 않는 것 같습니다.
HADOOP-7489에서 Matthew Buckett의 제안이 저에게 효과적이었습니다. hadoop-env.sh 파일에 다음을 추가합니다.
export HADOOP_OPTS="-Djava.security.krb5.realm=OX.AC.UK -Djava.security.krb5.kdc=kdc0.ox.ac.uk:kdc1.ox.ac.uk"
이에 대한 업데이트로 (그리고 Java 1.7에 대한 David Williams 의 요점 을 해결하기 위해 ) .realm
및 .kdc
속성 설정만으로 문제가되는 메시지를 중지하는 데 충분하지 않다는 것을 경험했습니다 .
그러나 메시지를 생략 하는 소스 파일 을 조사하여 .krb5.conf
속성을 /dev/null
로 설정하는 것으로 메시지를 억제 할 수 있는지 확인할 수있었습니다 . 실제로 krb5 구성이있는 경우 실제 경로를 지정하는 것이 좋습니다.
전체적으로 내 hadoop-env.sh
스 니펫은 다음과 같습니다.
HADOOP_OPTS="${HADOOP_OPTS} -Djava.security.krb5.realm= -Djava.security.krb5.kdc="
HADOOP_OPTS="${HADOOP_OPTS} -Djava.security.krb5.conf=/dev/null"
OS X 10.8.2, Java 버전 1.7.0_21에서 동일한 문제가 발생합니다. 불행히도 위의 솔루션은이 버전의 문제를 해결하지 못합니다.
편집 : 여기에서 본 힌트를 기반으로 이에 대한 해결책을 찾았습니다 . 에서 hadoop-env.sh
파일의 변경 JAVA_HOME
설정을합니다 :
export JAVA_HOME=`/usr/libexec/java_home -v 1.6`
(여기에 중요한 인용문이 있습니다.)
참고로 다음을 지정하기 만하면이를 더 단순화 할 수 있습니다.
export HADOOP_OPTS="-Djava.security.krb5.realm= -Djava.security.krb5.kdc="
이것은 HADOOP-7489에서도 언급됩니다.
나는 MacOS에서 비슷한 문제가 있었고 다른 조합을 시도한 후에 이것은 보편적으로 저에게 효과적이었습니다 (Hadoop 1.2 및 2.2 모두).
$HADOOP_HOME/conf/hadoop-env.sh
다음 줄 을 설정하십시오.
# Set Hadoop-specific environment variables here.
export HADOOP_OPTS="-Djava.security.krb5.realm= -Djava.security.krb5.kdc="
# The java implementation to use.
export JAVA_HOME=`/usr/libexec/java_home -v 1.6`
이것이 도움이되기를 바랍니다.
또한 추가
YARN_OPTS="$YARN_OPTS -Djava.security.krb5.realm=OX.AC.UK -Djava.security.krb5.kdc=kdc0.ox.ac.uk:kdc1.ox.ac.uk"
cdh4.1.3에서 start-yarn.sh (또는 start-all.sh)를 실행하기 전에
Eclipse에서 MapReduce를 디버깅 할 때이 오류가 발생했지만 붉은 청어였습니다. 진짜 문제는 JAVA_OPTS에 디버깅 매개 변수를 추가하여 원격 디버깅을해야한다는 것입니다.
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=1044
그런 다음 포트 1044를 가리키는 디버그 구성에서 새 "원격 Java 애플리케이션"프로필을 만듭니다.
이 기사 에는 디버깅 측면에 대한 더 자세한 정보가 있습니다. Solr에 대해 이야기하고 있지만 Hadoop에서도 거의 동일하게 작동합니다. 문제가있는 경우 아래에 메시지를 붙여 주시면 도와 드리겠습니다.
'code' 카테고리의 다른 글
이메일 주소가 확인되지 않아 테스트 이메일 보내기가 실패합니다. (0) | 2020.12.15 |
---|---|
사용할 로그 수준을 결정하는 방법은 무엇입니까? (0) | 2020.12.15 |
Maven으로 jar 소스를 다운로드하는 방법은 무엇입니까? (0) | 2020.12.14 |
AWS S3에서 캐시 제어를 추가하는 방법은 무엇입니까? (0) | 2020.12.14 |
매개 변수화 된 빌드에서 매개 변수에 액세스하는 방법은 무엇입니까? (0) | 2020.12.14 |