1.上传hbase安装包
2.解压
3.配置hbase集群,要修改3个文件(首先zk集群已经安装好了)
注意:要把hadoop的hdfs-site.xml和core-site.xml 放到hbase/conf下
cp ../hadoop-2.4.1/etc/hadoop/{core-site.xml,hdfs-site.xml} ./config/
scp -r hbase-0.96.2-hadoop2/ weekend06:/home/hadoop/app
3.1修改hbase-env.sh
export JAVA_HOME=/usr/java/jdk1.7.0_55
//告诉hbase使用外部的zk
export HBASE_MANAGES_ZK=false
vim hbase-site.xml
<configuration>
<!-- 指定hbase在HDFS上存储的路径 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://ns1/hbase</value>
</property>
<!-- 指定hbase是分布式的 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- 指定zk的地址,多个用“,”分割 -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>weekend05:2181,weekend06:2181,weekend07:2181</value>
</property>
</configuration>
vim regionservers
weekend03
weekend04
weekend05
weekend06
3.2拷贝hbase到其他节点
scp -r /weekend/hbase-0.96.2-hadoop2/ weekend02:/weekend/
scp -r /weekend/hbase-0.96.2-hadoop2/ weekend03:/weekend/
scp -r /weekend/hbase-0.96.2-hadoop2/ weekend04:/weekend/
scp -r /weekend/hbase-0.96.2-hadoop2/ weekend05:/weekend/
scp -r /weekend/hbase-0.96.2-hadoop2/ weekend06:/weekend/
4.将配置好的HBase拷贝到每一个节点并同步时间。
5.启动所有的hbase
分别启动zk
./zkServer.sh start
启动hdfs集群
start-dfs.sh
启动hbase,在主节点上运行:
start-hbase.sh
6.通过浏览器访问hbase管理页面
192.168.1.201:60010
7.为保证集群的可靠性,要启动多个HMaster
hbase-daemon.sh start master
#################################################
插入数据后,hbase会对数据自动进行排序
行之间按照行建进行字典排序
列族内部,key、value对之间按照key的字典顺序排序
################################################
Hbase:没有库的概念 只有表的概念
安装完成后 进入客户端命令行
./hbase shell
进入成功:
hbase(main):001:0>
查询所有表:list
查询如何创建表: help "create"
创建表:create 'user_info',{name=> 'base_info',Version=>3},{name=>'extra_info'}
插入数据: put 'user_info','001','base_info:name','fengjie'
put 'user_info','001','base_info:age',28
put 'user_info','001','base_info:addr','newyork'
put 'user_info','001','extra_info:sex','female'
查询: scan 'user_info'
查询: get 'user_info','001'
修改: put 'user_info','001','base_info:name','fengfeng'
put 'user_info','001','base_info:name','luoyufeng'
get 'user_info','001'
查询到的是 最新的值 name=’luoyufeng'
查询带版本的: get 'user_info','001',{column=> 'base_info:name',version=>10}
查询所有的历史信息 因为内存中还有,等过一段时间 也就查不到了
scan 'user_info',{RAW=>true,VERSION=>5}
只能查询创建表的时版本内的数据
scan 'user_info',{VERsION=>5}
查询表所有信息
scan 'user_info'
查询从001行开始的2行
scan 'user_info',{startrow=> '001',limit=>2}