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.重新创建表成功。
五、小结
作为一名dba,做完相关的操作一定要验证,一定要验证,要有严谨的态度。
遇到很多问题根本不是技术问题,而是有些人从来都不用心,得过且过。
压缩在hadoop和hbase中是一个很好的节约空间的方式,值得提倡,尤其是在经费紧张的情况下。
snappy需要单独安装,并不是安装hadoop自带的,需要注意。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341