[HADOOP] HDFS_NAMENODE_USER, HDFS_DATANODE_USER 및 HDFS_SECONDARYNAMENODE_USER이 (가) 정의되지 않았습니다.
HADOOPHDFS_NAMENODE_USER, HDFS_DATANODE_USER 및 HDFS_SECONDARYNAMENODE_USER이 (가) 정의되지 않았습니다.
나는 새삼 스럽다. 내 랩톱에 가상 분산 모드에서 hadoop을 설치하려고합니다. 루트 사용자로 실행 중이지만 아래 오류가 발생합니다.
root@debdutta-Lenovo-G50-80:~# $HADOOP_PREFIX/sbin/start-dfs.sh
WARNING: HADOOP_PREFIX has been replaced by HADOOP_HOME. Using value of HADOOP_PREFIX.
Starting namenodes on [localhost]
ERROR: Attempting to operate on hdfs namenode as root
ERROR: but there is no HDFS_NAMENODE_USER defined.
Aborting operation.
Starting datanodes
ERROR: Attempting to operate on hdfs datanode as root
ERROR: but there is no HDFS_DATANODE_USER defined.
Aborting operation.
Starting secondary namenodes [debdutta-Lenovo-G50-80]
ERROR: Attempting to operate on hdfs secondarynamenode as root
ERROR: but there is no HDFS_SECONDARYNAMENODE_USER defined. Aborting operation.
WARNING: HADOOP_PREFIX has been replaced by HADOOP_HOME. Using value of HADOOP_PREFIX.
또한, 다른 사용자와 함께 ssh 서비스에 액세스 할 수 없으므로 root 사용자로 hadoop을 실행해야합니다. 같은 것을 고치는 방법?
해결법
-
==============================
1.그냥 묻습니다.
그냥 묻습니다.
export HDFS_NAMENODE_USER="root" export HDFS_DATANODE_USER="root" export HDFS_SECONDARYNAMENODE_USER="root" export YARN_RESOURCEMANAGER_USER="root" export YARN_NODEMANAGER_USER="root"
-
==============================
2.이 문제의 근본 원인은
이 문제의 근본 원인은
그러므로 우리는 그것을 교정하고 모든 장소에서 일관되게 할 필요가 있습니다. 따라서이 문제의 간단한 해결책은 hadoop-env.sh 파일을 편집하고 원사 서비스를 시작하려는 사용자 이름을 추가하는 것입니다. 그러니 다음 행을 추가하여 $ HADOOP_HOME / etc / hadoop / hadoop-env.sh를 편집하십시오.
export HDFS_NAMENODE_USER=root export HDFS_DATANODE_USER=root export HDFS_SECONDARYNAMENODE_USER=root export YARN_RESOURCEMANAGER_USER=root export YARN_NODEMANAGER_USER=root
이제 원사, hdfs 서비스를 저장하고 시작하여 작동하는지 확인하십시오.
-
==============================
3.첫 번째 경고 인 HADOOP_PREFIX에 기반하여 HADOOP_HOME을 올바르게 정의하지 않은 것 같습니다.
첫 번째 경고 인 HADOOP_PREFIX에 기반하여 HADOOP_HOME을 올바르게 정의하지 않은 것 같습니다.
이것은 /etc/profile.d에서 수행됩니다.
hadoop-env.sh는 그 변수의 나머지가 정의되는 곳입니다.
UNIX 쉘 가이드를 참조하십시오.
이것은 Hadoop 자체와는 아무런 관련이 없습니다. 그것은 기본적인 SSH 계정 관리입니다. 너는 ~해야 해.
분산 모드가 필요없고 로컬에서 Hadoop 만 사용하려는 경우 미니 클러스터를 사용할 수 있습니다.
설명서에서는 의사 배포를 계속하기 전에 단일 노드 설치를 권장합니다
-
==============================
4.Vim $ {HADOOP_HOME} sbin / start-dfs.sh & $ {HADOOP_HOME} sbin / stop-dfs.sh 다음을 추가하십시오.
Vim $ {HADOOP_HOME} sbin / start-dfs.sh & $ {HADOOP_HOME} sbin / stop-dfs.sh 다음을 추가하십시오.
HDFS_DATANODE_USER=root HADOOP_SECURE_DN_USER=hdfs HDFS_NAMENODE_USER=root HDFS_SECONDARYNAMENODE_USER=root
from https://stackoverflow.com/questions/48129029/hdfs-namenode-user-hdfs-datanode-user-hdfs-secondarynamenode-user-not-defined by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 하나의 커다란 쪽모퉁 파일이나 작은 쪽모퉁 파일을 많이 가지고있는 것이 더 낫습니다. (0) | 2019.06.09 |
---|---|
[HADOOP] 하이브에서 날짜 형식을 변경하는 방법? (0) | 2019.06.09 |
[HADOOP] PIG를 사용하여 외부 jar 파일을 포함하는 방법 (0) | 2019.06.09 |
[HADOOP] Hadoop은 Map 및 Reduce 작업을 수행 할 노드 수를 어떻게 결정합니까? (0) | 2019.06.09 |
[HADOOP] 원사에 예약 된 메모리 란 무엇입니까? (0) | 2019.06.09 |