복붙노트

[HADOOP] Hadoop : start-dfs.sh 권한이 거부되었습니다.

HADOOP

Hadoop : start-dfs.sh 권한이 거부되었습니다.

내 노트북에 Hadoop을 설치하고 있습니다. SSH는 정상적으로 작동하지만 hadoop을 시작할 수 없습니다.

munichong@GrindPad:~$ ssh localhost
Welcome to Ubuntu 12.10 (GNU/Linux 3.5.0-25-generic x86_64)

 * Documentation:  https://help.ubuntu.com/

0 packages can be updated.
0 updates are security updates.

Last login: Mon Mar  4 00:01:36 2013 from localhost

munichong@GrindPad:~$ /usr/sbin/start-dfs.sh
chown: changing ownership of `/var/log/hadoop/root': Operation not permitted
starting namenode, logging to /var/log/hadoop/root/hadoop-munichong-namenode-GrindPad.out
/usr/sbin/hadoop-daemon.sh: line 136: /var/run/hadoop/hadoop-munichong-namenode.pid: Permission denied
usr/sbin/hadoop-daemon.sh: line 135: /var/log/hadoop/root/hadoop-munichong-namenode-GrindPad.out: Permission denied
head: cannot open `/var/log/hadoop/root/hadoop-munichong-namenode-GrindPad.out' for reading: No such file or directory
localhost: chown: changing ownership of `/var/log/hadoop/root': Operation not permitted
localhost: starting datanode, logging to /var/log/hadoop/root/hadoop-munichong-datanode-GrindPad.out
localhost: /usr/sbin/hadoop-daemon.sh: line 135: /var/log/hadoop/root/hadoop-munichong-datanode-GrindPad.out: Permission denied
localhost: /usr/sbin/hadoop-daemon.sh: line 136: /var/run/hadoop/hadoop-munichong-datanode.pid: Permission denied
localhost: head: cannot open `/var/log/hadoop/root/hadoop-munichong-datanode-GrindPad.out' for reading: No such file or directory
localhost: chown: changing ownership of `/var/log/hadoop/root': Operation not permitted
localhost: starting secondarynamenode, logging to /var/log/hadoop/root/hadoop-munichong-secondarynamenode-GrindPad.out
localhost: /usr/sbin/hadoop-daemon.sh: line 136: /var/run/hadoop/hadoop-munichong-secondarynamenode.pid: Permission denied
localhost: /usr/sbin/hadoop-daemon.sh: line 135: /var/log/hadoop/root/hadoop-munichong-secondarynamenode-GrindPad.out: Permission denied
localhost: head: cannot open `/var/log/hadoop/root/hadoop-munichong-secondarynamenode-GrindPad.out' for reading: No such file or directory

munichong@GrindPad:~$ sudo /usr/sbin/start-dfs.sh
[sudo] password for munichong: 
starting namenode, logging to /var/log/hadoop/root/hadoop-root-namenode-GrindPad.out
localhost: Permission denied (publickey,password).
localhost: Permission denied (publickey,password).

나는 "sudo"를 사용했다. 그러나 허가는 여전히 거부됩니다.

아무도 나를 도울 수 있습니까?

미리 감사드립니다.

해결법

  1. ==============================

    1.나는 지난 두 시간 동안 동일한 문제에 갇혀 있었지만 마침내 해결했다. hadoop을 실행하기 위해 동일한 사용자가 hadoop 설치를 추출했습니다. 따라서 사용자 권한은 문제가되지 않습니다. 내 구성은 다음과 같습니다. Google Cloud에서 우분투 리눅스 머신.

    나는 지난 두 시간 동안 동일한 문제에 갇혀 있었지만 마침내 해결했다. hadoop을 실행하기 위해 동일한 사용자가 hadoop 설치를 추출했습니다. 따라서 사용자 권한은 문제가되지 않습니다. 내 구성은 다음과 같습니다. Google Cloud에서 우분투 리눅스 머신.

    Hadoop 설치 / home / Hadoop 데이터 디렉토리 / var / lib / hadoop 디렉토리 액세스 비트는 누구나 액세스 할 수 있도록 777입니다. 나는 원격 컴퓨터에 ssh를 실행하여 설정 파일을 변경하고 start-dfs.sh를 실행 한 다음 "Permission denied (Public key)"를 표시했습니다. 그래서 여기에 해결책이 있습니다 : 같은 ssh 터미널에서 :

    2. 키를 복사 할 폴더 위치를 묻습니다. /home/hadoop/.ssh/id_rsa를 입력했습니다.

    3. 패스 문구를 요구할 것이다.

    4.cat /home/hadoop/.ssh/id_rsa.pub >> .ssh / authorized_keys (새로 생성 된 공개 키를 사용자 홈 / .ssh 디렉토리의 인증 파일에 복사하려면)

  2. ==============================

    2.나는 같은 문제에 직면 했으므로 SSH를 연결하려고 시도하고 "찾을 수 없음"과 같은 명령문을 얻었으므로 다음 단계에 따라 디버그하기 위해 ssh 위치로 갔다.

    나는 같은 문제에 직면 했으므로 SSH를 연결하려고 시도하고 "찾을 수 없음"과 같은 명령문을 얻었으므로 다음 단계에 따라 디버그하기 위해 ssh 위치로 갔다.

    cd ~ / .ssh

    ssh keygen -t rsa -p ""

    cat id_rsa.pub >> authorized_keys

    ... 그 때 그것은 일했다 ...

  3. ==============================

    3./ var / log / hadoop / root 폴더의 소유권을 사용자 : munichong으로 변경하십시오. 모든 시스템 에서처럼, LOGS 디렉토리는 hadoop에 의해 편집되어야합니다. 따라서 LOG 폴더와 그 내용을 편집 할 수있는 권한이 필요합니다.

    / var / log / hadoop / root 폴더의 소유권을 사용자 : munichong으로 변경하십시오. 모든 시스템 에서처럼, LOGS 디렉토리는 hadoop에 의해 편집되어야합니다. 따라서 LOG 폴더와 그 내용을 편집 할 수있는 권한이 필요합니다.

    이 스크립트가 작업을 마친 후에도 백그라운드에서 HADOOP 서비스를 시작하더라도 폴더 내용을 변경할 수있는 권한이 있어야하므로이 경우에는 sudo가 작동하지 않습니다.

  4. ==============================

    4.이제 저는이 문제에 대해서도 직면하고 있습니다. 그리고이 질문을하기 전에 아래의 방법을 사용합니다.

    이제 저는이 문제에 대해서도 직면하고 있습니다. 그리고이 질문을하기 전에 아래의 방법을 사용합니다.

    이 코드를 사용하여 루트 사용자로 로그인하십시오.

    ssh를 사용하여 로그인하십시오 (단일 노드 모드를 사용하려는 경우)

    ./sbin/start-yarn.sh

    Hadoop 설치 경로에 "cd"를 입력 한 다음 해당 코드를 인쇄하여 HDFS 및 MapRedude를 시작하면 permittion 문제가 다시 발생하지 않습니다.

    나는이 문제의 원인을 추측한다.

    루트 사용자가 Hadoop 환경을 초기화하기 위해 루트 사용자가 여러 폴더를 만들었으므로 이제는 Jake와 같은 제 자신의 계정을 사용할 때 서비스를 시작할 수있는 권한이 없습니다. 시스템이 로그에 액세스해야 함)

  5. ==============================

    5.자신의 컴퓨터 (localhost)로 ssh를 보내고 로그인 할 수있는 authorized_keys 파일을 놓치고 있습니다.

    자신의 컴퓨터 (localhost)로 ssh를 보내고 로그인 할 수있는 authorized_keys 파일을 놓치고 있습니다.

    SSH의이 파일은 파일이 구성된 사용자 계정에 로그인하는 데 사용할 수있는 SSH 키를 지정합니다.

    올바르게 구성하려면 아래의 두 단계를 따르십시오.

    터미널에서 아래 명령을 사용하여 새 keygen을 생성하십시오.

    ssh-keygen
    

    enter를 눌러 기본 이름 인 id_rsa.pub를 유지합니다.

    이제 생성 된 키 파일을 등록하십시오.

    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    
  6. ==============================

    6.나는 그 문제가 루트와 사용자의 ssh 연결이라고 생각한다. 여기 내 복사본은 https://askubuntu.com/questions/497895/permission-denied-for-rootlocalhost-for-ssh-connection입니다. 내 사건을 해결했다.

    나는 그 문제가 루트와 사용자의 ssh 연결이라고 생각한다. 여기 내 복사본은 https://askubuntu.com/questions/497895/permission-denied-for-rootlocalhost-for-ssh-connection입니다. 내 사건을 해결했다.

    기본적으로 SSH 서버는 루트에 대한 암호 기반 로그인을 거부합니다. / etc / ssh / sshd_config에서,

    변화: PermitRootLogin은 암호없이 PermitRootLogin을 yes로 설정합니다.

    그리고 SSH를 다시 ​​시작하십시오 : sudo service ssh restart

    또는 SSH 키를 사용할 수 있습니다. 암호가없는 경우 ssh-keygen을 사용하여 키를 만듭니다 (키의 기본값을 고수하고 암호가 마음에 들지 않으면 건너 뜁니다). 그런 다음 sudo -s (또는 루트가되는 원하는 방법이 무엇이든간에)를 수행하고 /root/.ssh/authorized_keys에 SSH 키를 추가하십시오.

    cat /home/user/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

  7. ==============================

    7.모든 파일의 권한을 777로 설정하여 해결했습니다.

    모든 파일의 권한을 777로 설정하여 해결했습니다.

    sudo chmod 777 /usr/local/hadoop-2.7.6/* -R
    
  8. ==============================

    8.권한이 거부 된 R hadoop 설치, 아래 명령은 start-all.sh에서 작동합니다.

    권한이 거부 된 R hadoop 설치, 아래 명령은 start-all.sh에서 작동합니다.

    sudo chown -R hadoop /usr/local/hadoop/ 
    
  9. from https://stackoverflow.com/questions/15211848/hadoop-start-dfs-sh-permission-denied by cc-by-sa and MIT license