Linux HBase在./start-HBase.sh之后不运行-权限被拒绝?

Linux HBase在./start-HBase.sh之后不运行-权限被拒绝?,linux,bash,hadoop,hbase,permission-denied,Linux,Bash,Hadoop,Hbase,Permission Denied,我想运行HBase。我已经完全安装了hadoop,当我运行start all.sh时,它工作正常,并提供以下输出: hduser@CSLAP106:/usr/local/hadoop/bin$ jps 11956 SecondaryNameNode 12046 JobTracker 12193 TaskTracker 11800 DataNode 11656 NameNode 12254 Jps 但是当我想运行启动hbase.sh时,它会给我一些权限被拒绝的错误,我不明白为什么: hduser

我想运行HBase。我已经完全安装了hadoop,当我运行
start all.sh
时,它工作正常,并提供以下输出:

hduser@CSLAP106:/usr/local/hadoop/bin$ jps
11956 SecondaryNameNode
12046 JobTracker
12193 TaskTracker
11800 DataNode
11656 NameNode
12254 Jps
但是当我想运行
启动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:
我不知道我应该在这里键入什么。不管怎样,我刚刚单击了Enter,它再次切换回
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.rootdir
hdfs://localhost:54310/hbase
hbase.cluster.distributed
真的


那么,您认为HBase没有运行有什么不对呢!我真的很累了。已经有好几个星期了,我一直在努力,每次都会出现新的错误。非常感谢您花时间和精力帮助我:)

您说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,,,
为了使它成为您的从属…具有可执行状态(
sudo chmod+x start hbase.sh


然后执行脚本…

如果更改start-hbase.sh的权限后仍有问题,请运行以下命令

sudo chown -R hduser:hadoop /usr/local/hbase
授予“hbase”目录写入日志文件的权限


我希望这将有助于其他人

你和sudoers合作过吗?@MortezaLSC:对不起,我在这方面是新手,你说的sudoers是什么意思?如果您是指
sudo命令
,是的,我使用sudo命令运行它,它要求我输入
根本地主机密码
,我不知道。我在我的帖子中包含了代码。哦…试着为你的根用户设置密码。你的根用户没有;我还没有密码。运行脚本之后,这里有一个帮助链接:()@MortezaLSC:但是为root用户设置密码不是有点危险吗?你知道,当我为hadoop运行
start all.sh
时,它不需要我发出任何
sudo
命令,它会立即运行。但我不知道为什么当我键入
启动hbase.sh
时,它会给我权限被拒绝的错误!第一个解决方案也很有效…你需要知道你的用户和组是什么…一个解决方案是通过触摸文件并查看ls-l的结果…你的welcomeno,,,linux非常好…注意第一个解决方案也是可能的…只需要知道你的用户和组是什么…是的,我真的开始喜欢使用它了。我又遇到问题了!当我运行
start hbase.sh
时,它显示它正在登录到
master
zookeeper
regionserver
,并且在没有任何错误的情况下登录。但是当我键入
jps
时,我看到的是
Hregionserver
,而不是
HMaster
。当我在浏览器中运行
localhost:60010
时,它不会显示任何内容:(你使用的是哪个发行版?centos?ubuntu?ubuntu 13.10有趣的是,在我启动hbase之后,现在我想停止它,但它没有停止,也没有显示我想要的输出!我需要重新安装并从头开始吗?问题是在ar之前没有人使用过hadoop和hbase给我打电话,我必须做这个项目!
sudo chown -R hduser:hadoop /usr/local/hbase