Hbase 无法创建带有snappy压缩属性的表

简介:

一、要求

在Hbase 数据库中创建带有snappy压缩属性的表。


二、登陆到hbase 数据库执行建表操作

hbase(main):016:0> create 'dcs:t_dev_history',{NAME => 'f', DATA_BLOCK_ENCODING => 'PREFIX_TREE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'SNAPPY', MIN_VERSIONS => '0', TTL => '2678400', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}


channel 6: open failed: administratively prohibited: open failed


之前创建的表都没有使用snappy压缩,怀疑是snappy没有安装


三、检查所有hbase节点

Master1节点snappy安装正确

[hadoop@hadoop-test-Master1 lib]$ cd $HBASE_HOME/lib/native/Linux-amd64-64/

[hadoop@hadoop-test-Master1 Linux-amd64-64]$ ls

libhadoop.a         libhadoopsnappy.so.0      libhadoop.so.1.0.0  libhdfs.so        libpython2.7.so      libsnappy.so.1

libhadooppipes.a    libhadoopsnappy.so.0.0.1  libhadooputils.a    libhdfs.so.0.0.0  libpython2.7.so.1.0  libsnappy.so.1.2.0

libhadoopsnappy.so  libhadoop.so              libhdfs.a           libjvm.so         libsnappy.so


Master2节点snappy安装错误,猜测当时安装的时候scp的路径错误

[hadoop@hadoop-test-Master2 ~]$ cd /var/lib/hbase/lib/native/ --发现没有Linux-amd64-64 目录

[hadoop@hadoop-test-Master2 native]$ ls

libhadoop.a         libhadoopsnappy.so.0      libhadoop.so.1.0.0  libhdfs.so        libpython2.7.so      libsnappy.so.1

libhadooppipes.a    libhadoopsnappy.so.0.0.1  libhadooputils.a    libhdfs.so.0.0.0  libpython2.7.so.1.0  libsnappy.so.1.2.0

libhadoopsnappy.so  libhadoop.so              libhdfs.a           libjvm.so  

       libsnappy.so        


四、处理过程


1.把文件传输到指定节点

 scp -rp Linux-amd64-64 hadoop-test-Master2:/var/lib/hbase/lib/native/

 scp -rp Linux-amd64-64 hadoop-test-Node1:/var/lib/hbase/lib/native/

 

2.然后重启hbase集群

 

./stop-hbase.sh 

./start-hbase.sh 


3.重新创建表成功。


五、小结

  1. 作为一名dba,做完相关的操作一定要验证,一定要验证,要有严谨的态度。

  2. 遇到很多问题根本不是技术问题,而是有些人从来都不用心,得过且过。

  3. 压缩在hadoop和hbase中是一个很好的节约空间的方式,值得提倡,尤其是在经费紧张的情况下。

  4. snappy需要单独安装,并不是安装hadoop自带的,需要注意。











本文转自 roidba 51CTO博客,原文链接:http://blog.51cto.com/roidba/1915081,如需转载请自行联系原作者
相关实践学习
lindorm多模间数据无缝流转
展现了Lindorm多模融合能力——用kafka API写入,无缝流转在各引擎内进行数据存储和计算的实验。
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
6月前
|
机器学习/深度学习 分布式计算 Hadoop
一种HBase表数据迁移方法的优化
一种HBase表数据迁移方法的优化
91 0
|
存储 缓存 分布式计算
【Hbase】(十一)详解 HBase 表的设计原则
【Hbase】(十一)详解 HBase 表的设计原则
1216 0
【Hbase】(十一)详解 HBase 表的设计原则
|
存储 缓存 算法
HBase优化之路-合理的使用编码压缩
为什么要讨论HBase编码压缩 编码+压缩能够成倍的减少数据的磁盘占用空间,节省可观的存储费用 编码+压缩通常情况下可以提高系统吞吐率,让系统可以做更多的功 默认建表不启用编码或者压缩,对初学者不友好 了解HBase编码 举个栗子,我们有一张物流表叫"express",记录物流订单的流转详情。
4434 0
|
6月前
|
SQL Java 分布式数据库
实现HBase表和RDB表的转化(附Java源码资源)
该文介绍了如何将数据从RDB转换为HBase表,主要涉及三个来源:RDB Table、Client API和Files。文章重点讲解了RDB到HBase的转换,通过批处理思想,利用RDB接口批量导出数据并转化为`List<Put>`,然后导入HBase。目录结构包括配置文件、RDB接口及实现类、HBase接口及实现类,以及一个通用转换器接口和实现。代码中,`RDBImpl`负责从RDB读取数据并构造`Put`对象,`HBaseImpl`则负责将`Put`写入HBase表。整个过程通过配置文件`transfer.properties`管理HBase和RDB的映射关系。
57 3
实现HBase表和RDB表的转化(附Java源码资源)
|
存储 Java Shell
分布式数据库HBase的常用操作的基本Shell命令的表操作
HBase是一个分布式数据库系统,支持高性能、可伸缩、实时的数据存储和处理。在HBase中,我们可以使用Shell命令来进行常用的操作,如创建表、插入数据、查询数据、更新数据等。本文将介绍关于分布式数据库HBase的常用操作基本Shell命令的表操作。
256 0
|
SQL 缓存 分布式计算
HBase查询一张表的数据条数的方法
HBase查询一张表的数据条数的方法
1019 0
HBase查询一张表的数据条数的方法
|
存储 分布式数据库 开发者
HBase表设计_8 | 学习笔记
快速学习 HBase表设计_8
151 0
|
存储 分布式数据库 开发者
HBase 表设计_7 | 学习笔记
快速学习 HBase 表设计_7
126 0
|
分布式数据库 开发者 Hbase
HBase 表设计_6 | 学习笔记
快速学习 HBase 表设计_6
123 0
|
存储 大数据 Java
HBase 表设计_5 | 学习笔记
快速学习 HBase 表设计_5
125 0