복붙노트

[HADOOP] HBase가 ./start-hbase.sh - 권한이 거부 된 후에 실행되지 않습니다?

HADOOP

HBase가 ./start-hbase.sh - 권한이 거부 된 후에 실행되지 않습니다?

HBase를 실행하고 싶습니다. 완전히 hadoop을 설치했고 start -all.sh를 실행하면 잘 작동하고 다음과 같은 결과를 얻습니다.

hduser@CSLAP106:/usr/local/hadoop/bin$ jps
11956 SecondaryNameNode
12046 JobTracker
12193 TaskTracker
11800 DataNode
11656 NameNode
12254 Jps

그러나 start-hbase.sh를 실행하고 싶을 때, 이유가 무엇인지 이해할 수없는 권한 오류가 발생합니다.

hduser@CSLAP106:/usr/local/hbase/hbase-0.94.6.1/bin$ ./start-hbase.sh
localhost: starting zookeeper, logging to /usr/local/hbase/hbase-0.94.6.1/bin/../logs/hbase-hduser-zookeeper-CSLAP106.out

localhost: /usr/local/hbase/hbase-0.94.6.1/bin/hbase-daemon.sh: line 150: /usr/local/hbase/hbase-0.94.6.1/bin/../logs/hbase-hduser-zookeeper-CSLAP106.log: Permission denied

localhost: head: cannot open ‘/usr/local/hbase/hbase-0.94.6.1/bin/../logs/hbase-hduser-zookeeper-CSLAP106.out’ for reading: No such file or directory

/usr/local/hbase/hbase-0.94.6.1/bin/hbase-daemon.sh: line 150: /usr/local/hbase/hbase-0.94.6.1/bin/../logs/hbase-hduser-master-CSLAP106.log: Permission denied

head: cannot open ‘/usr/local/hbase/hbase-0.94.6.1/bin/../logs/hbase-hduser-master-CSLAP106.out’ for reading: No such file or directory

localhost: starting regionserver, logging to /usr/local/hbase/hbase-0.94.6.1/bin/../logs/hbase-hduser-regionserver-CSLAP106.out

localhost: /usr/local/hbase/hbase-0.94.6.1/bin/hbase-daemon.sh: line 150: /usr/local/hbase/hbase-0.94.6.1/bin/../logs/hbase-hduser-regionserver-CSLAP106.log: Permission denied

localhost: head: cannot open ‘/usr/local/hbase/hbase-0.94.6.1/bin/../logs/hbase-hduser-regionserver-CSLAP106.out’ for reading: No such file or directory

그 후, 나는 sudo ./start-hbase.sh를 실행하려고 시도했다. 그리고 나는 더 이상한 것을 얻었다!

root@localhost's password:

나는 여기서 내가 타이핑해야 할 것을 모른다. 어쨌든 난 그냥 입력을 클릭하고 다시 hduser로 전환 :

root@localhost's password: 
root@localhost's password: localhost: Permission denied, please try again.

root@localhost's password: localhost: Permission denied, please try again.

localhost: Permission denied (publickey,password).
starting master, logging to /usr/local/hbase/hbase-0.94.6.1/bin/../logs/hbase-root-  master-CSLAP106.out
root@localhost's password: 
root@localhost's password: localhost: Permission denied, please try again.

root@localhost's password: localhost: Permission denied, please try again.

localhost: Permission denied (publickey,password).
hduser@CSLAP106:/usr/local/hbase/hbase-0.94.6.1/bin$

hbase-env.sh와 hbase-site.xml 파일이 필요할 경우를 대비하여 몇 줄을 추가했습니다.

hbase-env.sh

# File naming hosts on which HRegionServers will run.  $HBASE_HOME/conf/regionservers by    default.
export HBASE_REGIONSERVERS=/usr/local/hbase/hbase-0.94.6.1/conf/regionservers

# File naming hosts on which backup HMaster will run.  $HBASE_HOME/conf/backup-masters by default.
export HBASE_BACKUP_MASTERS=/usr/local/hbase/hbase-0.94.6.1/conf/backup-masters

# Tell HBase whether it should manage it's own instance of Zookeeper or not.
export HBASE_MANAGES_ZK=true

hbase-site.xml

<configuration>
<property>
        <name>hbase.rootdir</name>
    <value>hdfs://localhost:54310/hbase</value>
</property>

<property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
</property>

그래서, HBase가 작동하지 않는다고 생각하는 것은 무엇이라고 생각하십니까? 나는 이것으로 정말로 지쳐 가고있다. 나는 그것에 대해 노력하고 있으며 새로운 오류가 발생할 때마다 몇 주가 지나고 있습니다. 나는 정말로 당신의 시간과 노력을 도와 주셔서 감사합니다 :)

해결법

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

    1.ls -l start-hbase.sh의 결과는 다음과 같습니다.

    ls -l start-hbase.sh의 결과는 다음과 같습니다.

    -rwxr-xr-x 1 root root 1872 huhti 4 2013 start-hbase.sh
    

    로깅 할 사용자 및 그룹을 알고 싶다면 다음과 같은 간단한 방법을 사용하십시오.

    touch test
    ls -l test
    

    사용자 확인 : 그룹 ...

    문제는 스크립트의 사용자 소유자 및 그룹 소유자입니다. 두 가지 해결책이 있습니다.

    1) sudo chown hduser:hduser start-hbase.sh  #here hduser is example...you should know what user and group you have,,,
    

    inorder를 실행 상태 (sudo chmod + x start-hbase.sh)로 노예로 만들자.

    2) you can be root by: "su root" or "sudo su" or "sudo bash"
    

    그런 다음 스크립트를 실행하십시오.

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

    2.start-hbase.sh의 권한을 변경 한 후에도 여전히 문제가 발생하면 다음 명령을 실행하십시오.

    start-hbase.sh의 권한을 변경 한 후에도 여전히 문제가 발생하면 다음 명령을 실행하십시오.

    sudo chown -R hduser:hadoop /usr/local/hbase
    

    로그 파일을 쓰려면 'hbase'디렉토리에 권한을 부여하십시오.

    다른 사람들에게 도움이되기를 바랍니다.

  3. from https://stackoverflow.com/questions/21166542/hbase-does-not-run-after-start-hbase-sh-permission-denied by cc-by-sa and MIT license