关于在hadoop中搭建HBase时创建表一直显示“Master is initializing”的问题

今天帮室友解决了这个问题,对于我个人来说感触还是蛮深刻的,毕竟这个东西真的弄得要崩溃了,本想着去找老师问问,但是又想自己再挣扎一下下,果然成功了,这简直就像是中了彩票一样哈哈哈哈~

====================== 接下来算是我个人的一些小总结吧=========================

先说明一下:我有三台机器:hadoop01、hadoop02、hadoop03

如果你前面的hadoop以及Zookeeper没有问题的话,建议最好是按着我的步骤来,我会罗列地比较详细!!!

Step1:在hbase的conf文件中找到hbase-env.sh这个文件并添加如下命令:

export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP=true

同时,在hbase的conf文件中找到hbase-site.xml这个文件同时修改或者添加在<configuration>中:

        <property>
                <name>hbase.rootdir</name>
                <value>hdfs://访问hdfs的ip地址:对应的端口号/hbase</value>
        </property>

(ps:在写这个value时注意与之前在hadoop当中的core-site.xml中的那个hdfs地址对应,同时将这个节点上的hbase进行分发一下,就是传给其他节点!!!)

Step2:删除HDFS当中存在的Hbase:

hadoop fs -rm -r  /hbase

Step3:删除Zookeeper当中之前的Hbase元数据信息:

①停止Hbase服务:

stop-hbase.sh

(这个命令根据自己的情况,看有没有配置环境变量,或者有没有写脚本,灵活变通一下,只要能把这个服务关了就行,可以通过jps查看一下!!!)

②进入Zookeeper服务中:

[root@hadoop01 ~]# zkCli.sh 
    [zk: localhost:2181(CONNECTED) 0]   ls /
    [hbase, zookeeper]               #如果有hbase,继续执行下一步,没看到的话输入 quit 回车
    [zk: localhost:2181(CONNECTED) 1] deleteall  /hbase
    [zk: localhost:2181(CONNECTED) 1] quit

Step4:停止zookeeper所有服务,停止hadoop的所有服务

#使得在每一个节点中通过使用“jps”命令,只有一个jps存在即可!!!

Step5:删除格式化生成的data文件:

rm -rf /opt/software/hadoop3.3.0/data                  #每一个节点都要执行该操作

Step6:重新格式化:

hdfs namenode -format

Step7:启动每个节点上对应的所有服务,然后先启动Zookeeper服务:

[root@hadoop01 ~]# zookeeper.sh start
[root@hadoop01 ~]# zookeeper.sh status   

#查看启动状态,保证有一个leader,两个follower即可

然后再启动Hbase服务!!!

Step8:进入Hbase服务当中:

hbase shell

创建表就不会报错啦~~~

快去试试,相信你也可以成功!!!

(个人感想:这个东西真有趣,下次不想再弄了QWQ)

  • 8
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值