`
zk_chs
  • 浏览: 215598 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

记录hbase遇到的问题

阅读更多

这次记录下学习hbase遇到的一些问题,有了新问题也会追加。

 

背景:使用vmware创建3台桥接模式虚拟机进行集群,熟练之后大概会使用7台。

宿主机操作系统:mac osx 10.11.3 16G 256G SSD。

软件版本:hadoop 2.7.2、zookeeper 3.4.8、hbase 1.2.2

 

1、瞎捣鼓,通过hdfs将/hbase目录删除了,此时执行在hbase shell中执行list命令是看不到表了的,但是再创建与之前相同名称的表便发生了Table Already Exists异常。

 

因为hbase的所有数据是在hdfs上进行存储的,所以当时以为删除hdfs上的hbase信息就可以了,但是,zookeeper中也对我们的目录结构进行了保存。所以,还需要将zookeeper中的hbase信息删除。

 

进入zookeeper,然后执行rmr /hbase/table便能清空所有表信息(慎用),当然也可以只删除指定表的信息。

 

 

2、wifi环境,dhcp协议,java客户端连接zookeeper服务器速度异常缓慢,当使用网线时却没有这个问题。

 

解决方式:1、使用网线   2、配置静态ip与dns

Ps:该问题仅在mac上发生过。

 

 

3、集群的zookeeper服务列表如下:

dataDir=/usr/local/project/hadoop/tmp/zookeeper/data
dataLogDir=/usr/local/project/hadoop/tmp/zookeeper/log
clientPort=2181
server.1=Master:2888:3888
server.2=Slave1:2888:3888
server.3=Slave2:2888:3888

结果启动hbase服务之后,dataDir下的myid遭到了覆写,变成了0、1、2,而且关闭时也会报错

no zookeeper to stop because no pid file /tmp/hbase-root-zookeeper.pid 

 

关于这个问题,是因为hbase/conf目录下的配置不正确导致的,为hbase/conf/hbase-env.sh添加export HBASE_MANAGES_ZK=false即可。

 

 

4、PleaseHoldException:Master is initializing

其实我虚拟机有6台,家里环境一套,公司一套,然后某次突然发生了这个错误。该错误在是通过shell执行list命令时出现的,查资料后发现是几台虚拟机时间不同步导致的,所以我们需要统一配置时间。

[root@Master ~]# date
2016年 08月 04日 星期四 19:14:28 CST
[root@Master ~]# yum install -y ntpdate
.........
[root@Master ~]# ntpdate  0.cn.pool.ntp.org
.........
[root@Slave2 ~]# date
2016年 08月 04日 星期四 11:42:03 CST

这样便能使集群机器的时间同步了。

这之后还可能会继续报错,原因还是时间问题,因为如果之前有table的话,创建时间与现在的时间有差异。

解决时是按照上面第1点中的方式将table表进行了删除,之后便能保证不会发生这样的错误了。

 

 

 

0
0
分享到:
评论

相关推荐

    Hbase调用JavaAPI实现批量导入操作

    在批量导入过程中,可能会遇到网络异常、Region Server故障等问题,因此需要实现错误处理和重试策略,确保数据的完整性和一致性。 7. **监控和调试**: 通过HBase的监控工具(如HBase Master UI)和日志系统,...

    hbase-echarts.zip

    5. **错误处理和日志记录**:确保在与HBase交互时遇到问题时,有适当的错误处理机制和日志记录,方便问题排查。 这个项目对于想要学习如何使用Java操作HBase以及如何将HBase数据展示为可视化图表的开发者来说,具有...

    HBASE架构和原理解析

    4. **扩展能力**:传统数据库在面对PB级别的数据时可能会遇到性能瓶颈,而HBase支持水平扩展,适用于处理大规模数据集。 5. **查询能力**:传统数据库更适合进行复杂的多表关联查询,而HBase更擅长执行单表查询操作...

    hbase基本概念和hbase shell常用命令用法

    **HBase基本概念** HBase,全称是Apache HBase,是一个分布式的、面向列的...同时,HBase与其他大数据组件(如Hadoop MapReduce、Hive、Spark等)的集成也是日常工作中经常遇到的问题,需要熟练掌握相关接口和配置。

    hbase在阿里搜索中的应用

    接下来,我们将深入探讨HBase在阿里搜索中的应用、历史、规模、服务能力、架构分层、遇到的问题及优化方案。 1. HBase在阿里搜索中的应用历史和发展 阿里搜索自2010年起开始使用HBase,至今已经历经十余个版本的...

    java代码使用thrift2操作hbase示例

    10. **异常处理**:在操作HBase时,可能会遇到各种异常,如`IOException`、`TableNotFoundException`、`ConstraintException`等,需要适当地捕获并处理这些异常。 在实践中,你可能需要根据具体需求对上述步骤进行...

    Hbase二级索引与JOIN

    #### 遇到的问题及解决方案 - **写性能下降**:随着Region数量增加,写性能会受到影响。可以通过调整RegionServer配置、优化RegionSplit策略等方式来缓解。 - **RegionServer OOM**:当行的版本过多或者RowKey设计不...

    HBase专场:HBase在时序数据库中的应用(悠你).pdf

    这有助于提高存储效率和查询速度,同时也能有效地解决HBase热点问题。 HiTSDB的核心技术包括: 1. 倒排索引:用于快速检索时序数据,提高查询性能。 2. 高压缩比:由于时序数据存在大量的重复和规律性,可以使用高...

    Elasticsearch-HBase-River同步

    4. **错误处理**:如果在同步过程中遇到问题,插件通常会有一定的错误处理机制,比如重试或记录错误日志。 **优化与注意事项** 1. **性能优化**:为了减少对HBase和ES的压力,可以调整同步频率,例如设置合适的...

    Hbase数据库的发展

    HBase借鉴了Google BigTable的设计理念,旨在解决传统关系型数据库在处理大规模数据时所遇到的问题,尤其适合存储非结构化或半结构化的数据。 - **面向列的存储**:HBase采用了面向列的存储模型,这使得它可以高效...

    4.抽取mysql数据到hbase表中.docx

    3. **错误处理**:在ETL过程中可能会遇到各种错误,比如网络问题、数据格式不匹配等。合理设置日志记录级别,以便出现问题时能够快速定位原因。 4. **数据一致性**:在数据迁移过程中,要确保数据的一致性和完整性...

    实验9-HBase shell命令使用.pdf

    在出现的问题部分,需要详细记录在实验过程中遇到的具体问题,并给出相应的解决方案。如果有些问题未能解决,也应记录下来并说明原因。 根据上述描述,可以看出HBase Shell命令是管理HBase数据库中数据的重要工具,...

    java 通过thrift-0.9.1读取hbase表数据

    4. **实验步骤**:根据提供的文档`Hadoop(第八期第15周)书面作业.docx`,应详细记录实验过程,包括环境配置、代码编写、运行结果和可能遇到的问题及解决方案。 5. **代码实现**:在`...

    java集成hadoop-hbase用到的jar包

    在实际项目中,你可能还会遇到其他依赖,如Guava、SLF4J、protobuf等,这些都是Hadoop和HBase的间接依赖,需要一并导入。例如: 1. `guava-*.jar`:Google的Guava库,提供了一系列实用工具类。 2. `slf4j-api-*.jar...

    HBase应用与发展之ApacheHBase的现状和发展.pdf

    - **数据写入机制**:所有写操作首先记录在一个内存中的日志结构中,随后周期性地刷新到磁盘上。 - **随机写变顺序写**:这种方式避免了传统B+树在随机写入时遇到的性能瓶颈。 - **写吞吐量高**:相比B+树,在写操作...

    hbase专题测试文件

    博客文章可能涵盖了创建HBase表、导入数据、执行查询、分析结果以及遇到的问题和解决方案。通过阅读,读者可以学习如何配置和使用HBase,以及如何根据具体需求调整参数以优化性能。 9. **实战应用**: HBase常...

Global site tag (gtag.js) - Google Analytics