Hortonworks HDP Sandbox 2.2 修复HBase无法启动的问题

针对Hortonworks HDP Sandbox 2.2版本中HBase无法启动的问题,本文详细介绍了原因及修复步骤。主要是由于HBase路径变更导致启动脚本无法找到hbase-daemond.sh文件。通过修改启动脚本中的路径指向新版本的正确位置即可解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在最新发布的Hortonworks HDP Sandbox 2.2版本上,HBase启动时会报错,原因是新版本的HBase的存放路径与过去有所不同,而启动脚本依然沿用了旧有的命令行启动HBase,导致无法找到hbase-daemond.sh文件,进而启动失败。看得出,2.2版本的Sandbox发布有些仓促,这样明显而简单的错误是不应该出现的。下面来说一下如何修复这个问题:本文原文出处: http://blog.csdn.net/bluishglc/article/details/42110429 严禁任何形式的转载,否则将委托CSDN官方维护权益!

负责启动HBase的命令位于/usr/lib/hue/tools/start_scripts/start_deps.mf这个文件中的,首先,我们做一个该文件的备份:

cp /usr/lib/hue/tools/start_scripts/startup_script /usr/lib/hue/tools/start_scripts/startup_script.bak
然后:

vim /usr/lib/hue/tools/start_scripts/startup_script

找到hbase_master: postgresql zookeeper开始的行,如下:

hbase_master: postgresql zookeeper
        $(call colorized,\
                hbase master, \
                su - hbase -c "/usr/hdp/current/hbase/bin/hbase-daemon.sh --config /etc/hbase/conf start master",\
                sleep 25,\
                /var/log/hbase/hbase-hbase-master-*.log)

hbase_stargate: postgresql hbase_master
        $(call colorized,\
                hbase stargate, \
                su -l hbase -c "/usr/hdp/current/hbase/bin/hbase-daemon.sh start rest -p 60080",\
                true,\
                /var/log/hbase/hbase-hbase-rest-*.log)

hbase_thrift: postgresql hbase_master
        $(call colorized,\
                hbase thrift, \
                su -l hbase -c "/usr/hdp/current/hbase/bin/hbase-daemon.sh start thrift",\
                true,\
                /var/log/hbase/hbase-hbase-rest-*.log)

hbase_regionservers: hbase_master
        $(call colorized,\
                hbase regionservers, \
                su -l hbase -c "/usr/hdp/current/hbase/bin/hbase-daemon.sh --config /etc/hbase/conf start regionserver",\
                sleep 5,\
                /var/log/hbase/hbase-hbase-regionserver-*.log)

我们可以看到所有启动HBase相关服务的命令都是使用的/usr/hdp/current/hbase/bin/hbase-daemon.sh这个文件,而新版本中,在/usr/hdp/current下已经没有hbase这个目录了,取而代之的是hbase-master,hbase-regionserver,hbase-master,所以我们需要根据启动的服务类型,选择对应目录下的hbase-daemond.sh。以下是修改之后的内容:

hbase_master: postgresql zookeeper
        $(call colorized,\
                hbase master, \
                su - hbase -c "/usr/hdp/current/hbase-master/bin/hbase-daemon.sh --config /etc/hbase/conf start master",\
                sleep 25,\
                /var/log/hbase/hbase-hbase-master-*.log)

hbase_stargate: postgresql hbase_master
        $(call colorized,\
                hbase stargate, \
                su -l hbase -c "/usr/hdp/current/hbase-client/bin/hbase-daemon.sh start rest -p 60080",\
                true,\
                /var/log/hbase/hbase-hbase-rest-*.log)

hbase_thrift: postgresql hbase_master
        $(call colorized,\
                hbase thrift, \
                su -l hbase -c "/usr/hdp/current/hbase-client/bin/hbase-daemon.sh start thrift",\
                true,\
                /var/log/hbase/hbase-hbase-rest-*.log)

hbase_regionservers: hbase_master
        $(call colorized,\
                hbase regionservers, \
                su -l hbase -c "/usr/hdp/current/hbase-regionserver/bin/hbase-daemon.sh --config /etc/hbase/conf start regionserver",\
                sleep 5,\
                /var/log/hbase/hbase-hbase-regionserver-*.log)



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Laurence 

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值