Hadoop生态圈-hbase介绍-伪分布式安装
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.HBase简介
HBase是一个分布式的,持久的,强一致性的存储系统,具有近似最优的写性能(能使I/O利用率达到饱和)进而出色的读性能,它充分利用了磁盘空间,支持特定列族切换可选压缩算法。
HBase继承自谷歌公司的 BigTable模型,只考虑单一的索引,类似于RDBMS的主键,提供了服务器端钩子,可以实施灵活的辅助索引解决方案。此外,它还提供了过滤器功能,减少了网络传输的数据量。
HBase并未将说明性查询语言作为核心实现的一部分,对事物的支持也有限。但行原子性和“读-修改-写”操作在实现中弥补了这个缺陷,它们覆盖了大部分的使用场景并消除了在其他系统中经历过的死锁,等待问题。
HBase在进行负载均衡和故障恢复时对客户端时透明的。在生产环境中,系统的可扩展性体现在系统自动伸缩的过程中。更改数据并不涉及重新全量负载均衡和数据重分区,但整个处理过程完全是自动化的。
二.HBase伪分布式搭建
1>.下载HBase安装包(本次搭建版本是hbase-1.2.6)
官网下载地址:
2>.解压
[yinzhengjie@s101 data]$ tar -zxf hbase-1.2.6-bin.tar.gz -C /soft/[yinzhengjie@s101 data]$
3>.创建符号链接
[yinzhengjie@s101 data]$ ln -s /soft/hbase-1.2.6/ /soft/hbase[yinzhengjie@s101 data]$
4>.配置环境变量并使其生效
[yinzhengjie@s101 data]$ tail -3 /etc/profile#ADD HBASEHBASE_HOME=/soft/hbasePATH=$PATH:$HBASE_HOME/bin[yinzhengjie@s101 data][yinzhengjie@s101 data]$ source /etc/profile[yinzhengjie@s101 data]
5>.修改hbase环境变量脚本
[yinzhengjie@s101 data]$ grep -v ^# /soft/hbase/conf/hbase-env.sh | grep JAVA_HOMEexport JAVA_HOME=/soft/jdk/[yinzhengjie@s101 data]$ grep -v ^# /soft/hbase/conf/hbase-env.sh | grep HBASE_MANAGES_ZKexport HBASE_MANAGES_ZK=flase[yinzhengjie@s101 data]$
6>.修改hbase-site.xml
[yinzhengjie@s101 data]$ more /soft/hbase/conf/hbase-site.xml[yinzhengjie@s101 data]$ hbase.cluster.distributed true hbase.rootdir hdfs://mycluster/user/hbase hbase.zookeeper.property.dataDir /home/yinzhengjie/zookeeper hbase.zookeeper.quorum s102:2181,s103:2181,s104:2181
7>.启动hbase
[yinzhengjie@s101 data]$ start-hbase.sh starting master, logging to /soft/hbase/bin/../logs/hbase-yinzhengjie-master-s101.outJava HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0starting regionserver, logging to /soft/hbase/bin/../logs/hbase-yinzhengjie-1-regionserver-s101.out[yinzhengjie@s101 data]
8>.查看进程是否启动
[yinzhengjie@s101 data]$ jps6689 HMaster ------->2678 NameNode6920 Jps6811 HRegionServer ------->2988 DFSZKFailoverController3135 ResourceManager[yinzhengjie@s101 data]$
9>.WEB UI查看