hbase清除zookeeper历史记录

本文介绍了如何在更换Hadoop/Spark生态系统中的HBase版本时,遇到org.apache.hadoop.hbase.TableExistsException:hbase:namespace错误和HMasterAborted异常时,通过清空zookeeper中hbase的原有记录来解决问题的方法。同时,阐述了该方法同样适用于依赖zookeeper的系统更换版本等场景。

    目前我的hadoop/spark生态圈共用了一个zookeeper集群,有次我更换hbase版本时候,启动HMaster时org.apache.hadoop.hbase.TableExistsException: hbase:namespace,java.lang.RuntimeException: HMaster Aborted,后经查阅资料得知,需清空zookeeper中hbase的原有记录。

   操作步骤:

       1.切换到zookeeper的bin目录,执行zkCli.sh

       2.然后在控制台输入help,查看使用指南

       3.输入 ls /

       4.如果要清空hbase的记录 则 rmr /hbase,其它的类似

       5.退出zookeeper,重新启动hbase,则ok,问题解决

 

   ps:通过此方法,同样可以解决依赖于zookeeper的系统更换版本等等问题。

转载于:https://www.cnblogs.com/weiqiang-liu/p/4271909.html

HBase压缩包已下载,存放在/opt目录下。 在搭建环境之前我们首先来了解一下HBase分布式环境的整体架构: 我们来简单认识一下与HBase的相关组件: ZookeeperZookeeper能为HBase提供协同服务,是HBase的一个重要组件,Zookeeper能实时的监控HBase的健康状态,并作出相应处理。 HMaster: HMaster是HBase的主服务,他负责监控集群中所有的HRegionServer,并对表和Region进行管理操作,比如创建表,修改表,移除表等等。 HRegion: HRegion是对表进行划分的基本单元,一个表在刚刚创建时只有一个Region,但是随着记录的增加,表会变得越来越大,HRegionServer会实时跟踪Region的大小,当Region增大到某个值时,就会进行切割(split)操作,由一个Region切分成两个Region。 HRegionServer: HRegionServer是RegionServer的实例,它负责服务和管理多个HRegion 实例,并直接响应用户的读写请求。 总的来说,要部署一个分布式的HBase数据库,需要各个组件的协作,HBase通过Zookeeper进行分布式应用管理,Zookeeper相当于管理员,HBase数据存储在HDFS(分布式文件系统)中,通过HDFS存储数据,所以我们搭建分布式的HBase数据库的整体思路也在这里,即将各个服务进行整合。 接下来,我们就一起来搭建一个伪分布式的HBase。 配置与启动伪分布式HBase 如果你已经完成了单节点HBase的安装,那伪分布式的配置对你来说应该很简单了,只需要修改hbase-site.xml文件即可: vim /app/hbase-2.1.1/conf/hbase-site.xml 在这里主要有两项配置: 1.开启HBase的分布式运行模式,配置hbase.cluster.distributed为true代表开启HBase的分布式运行模式: <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> 2.是设置HBase数据文件存储位置为HDFS的/hbase目录,要注意的是在这里我们不需要在HDFS中手动创建hbase目录,因为HBase会帮我们自动创建。 <property> <name>hbase.rootdir</name> <value>hdfs://localhost:9000/hbase</value> </property> 修改之后hbase-site.xml的<configuration>代码: 标红部分为我们需要注意的配置。我们在设置单节点的时候将hbase.unsafe.stream.capability.enforce属性值设置为了false,在这里我们需要注意设置它的值为true,或者干脆删除这个属性也是可以的。 配置完成之后,我们需要先启动Hadoop,命令为:start-dfs.sh,然后启动HBase,最后输入jps查看启动的进程: 如果出现HMaster和HRegionServer以及HQuorumPeer三个服务则代表伪分布式环境已经搭建成功了。 在HDFS中验证 接下来我们进一步验证:在HDFS中检查HBase文件。 如果一切正常,HBase会在HDFS中自动建立自己的文件,在上述配置文件中,设置的文件位置为/hbase,我们输入hadoop fs -ls /hbase即可查看,如下图所示,分布式文件系统(HDFS)中hbase文件夹已经创建了: 编程要求 好了,到你啦,你需要先按照上次实训——HBase单节点安装的方式将HBase安装在/app目录下,然后根据本关知识配置好伪分布式的HBase,最后点击测评即可通关。 测试说明 程序会检测你的HBase服务和Hadoop服务是否启动,以及伪分布式HBase是否配置正确。 预期输出: Hadoop 已启动 hbase-env.sh解压路径正确 Hbase已启动 各配置项配置成功! Hbase的HDFS目录创建成功 伪分布式搭建成功!
最新发布
03-23
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值