门业网站 模板,廊坊建站平台,电子商务网站建设需要学什么,小程序开发需要多少钱一、什么是HBase
HBase是一个分布式#xff0c;版本化#xff0c;面向列的数据库#xff0c;依赖Hadoop和Zookeeper
#xff08;1#xff09;HBase的优点
提供高可靠性、高性能、列存储、可伸缩、实时读写的数据库系统 (2) HBase 表的特性
Region包含多行
列族包含多…一、什么是HBase
HBase是一个分布式版本化面向列的数据库依赖Hadoop和Zookeeper
1HBase的优点
提供高可靠性、高性能、列存储、可伸缩、实时读写的数据库系统 (2) HBase 表的特性
Region包含多行
列族包含多个列
Region Server管理一定数量的Region
如果一个Region Server宕机了Master节点会重新将其负责的Region分配给其他Region Server
Master和Region Server之间的状态同步还有Master HA都借助于Zookeeper
二、HBase的安装
1. 上传hbase-1.4.0-bin.tar.gz
2. 解压
tar xvf hbase-1.4.0-bin.tar.gz
3. 改名
mv hbase-1.4.0 hbase
4. 配置环境vi .bashrc
export HBASE_HOME/usr/local/hbase
export PATH$PATH:$HBASE_HOME/bin
5. 环境变量生效
source .bashrc
6. 测试
hbase version
三 配置HBase
7 配置sh文件
1. 修改conf/hbase-env.sh
export JAVA_HOME/usr/java/default
export HBASE_MANAGES_ZKtrue
8 配置XML 文件
编辑conf/hbase-site.xml
configuration property namehbase.rootdir/name !-- hbase存放数据目录 -- valuehdfs://hadoop-ip-address:9000/opt/hbase/hbase_db/value !-- 端口要和Hadoop的fs.defaultFS端口一致-- /property property namehbase.master/name value60000/value /property !-- 开启集群运行方式 -- property namehbase.cluster.distributed/name!-- 是否分布式部署 -- valuetrue/value /property property namehbase.tmp.dir/name value/opt/hbase/tmp/value /property property namehbase.zookeeper.quorum/name !-- list of zookeeper valuenode1,node2,node3/value-- valuenode1/value /property
/configuration
9 复制hadoop的配置文件
cd /usr/local/hbase/conf
cp /usr/local/hadoop/etc/hadoop/core-site.xml .
cp /usr/local/hadoop/etc/hadoop/hdfs-site.xml .
10 编辑regionservers文件
# 配置多个regionserver
node2
node3
11、配置conf/backup-masters
node01
node02
13、启动
# 依赖hdfs
start-dfs.sh
start-hbase.sh
启动HBase集群
bin/start-hbase.sh 单独启动一个HMaster进程
bin/hbase-daemon.sh start master 单独停止一个HMaster进程
bin/hbase-daemon.sh stop master 单独启动一个HRegionServer进程
bin/hbase-daemon.sh start regionserver 单独停止一个HRegionServer进程
bin/hbase-daemon.sh stop regionserver
四、启动客户端 HBase shell
显示hbase中的表
list 创建user表包含info、data两个列族
create user, info1, data1
create user, {NAME info, VERSIONS 3}
修改表结构
alter user, NAMEinfo, VERSIONS6 向user表中插入信息row key为rk0001列族info中添加name列标示符值为zhangsan
put user, rk0001, info:name, zhangsan 向user表中插入信息row key为rk0001列族info中添加gender列标示符值为female
put user, rk0001, info:gender, female 向user表中插入信息row key为rk0001列族info中添加age列标示符值为20
put user, rk0001, info:age, 20 向user表中插入信息row key为rk0001列族data中添加pic列标示符值为picture
put user, rk0001, data:pic, picture 获取user表中row key为rk0001的所有信息
get user, rk0001 获取user表中row key为rk0001info列族的所有信息
get user, rk0001, info 获取user表中row key为rk0001info列族的name、age列标示符的信息
get user, rk0001, info:name, info:age 获取user表中row key为rk0001info、data列族的信息
get user, rk0001, info, data
get user, rk0001, {COLUMN [info, data]} get user, rk0001, {COLUMN [info:name, data:pic]} 获取user表中row key为rk0001列族为info版本号最新5个的信息
get people, rk0002, {COLUMN info, VERSIONS 2}
get user, rk0001, {COLUMN info:name, VERSIONS 5}
get user, rk0001, {COLUMN info:name, VERSIONS 5, TIMERANGE [1392368783980, 1392380169184]} 获取user表中row key为rk0001cell的值为zhangsan的信息
get people, rk0001, {FILTER ValueFilter(, binary:图片)} 获取user表中row key为rk0001列标示符中含有a的信息
get people, rk0001, {FILTER (QualifierFilter(,substring:a))} put user, rk0002, info:name, fanbingbing
put user, rk0002, info:gender, female
put user, rk0002, info:nationality, 中国
get user, rk0002, {FILTER ValueFilter(, binary:中国)} 查询user表中的所有信息
scan user 查询user表中列族为info的信息
scan people, {COLUMNS info}
scan user, {COLUMNS info, RAW true, VERSIONS 5}
scan persion, {COLUMNS info, RAW true, VERSIONS 3}
查询user表中列族为info和data的信息
scan user, {COLUMNS [info, data]}
scan user, {COLUMNS [info:name, data:pic]} 查询user表中列族为info、列标示符为name的信息
scan user, {COLUMNS info:name} 查询user表中列族为info、列标示符为name的信息,并且版本最新的5个
scan user, {COLUMNS info:name, VERSIONS 5} 查询user表中列族为info和data且列标示符中含有a字符的信息
scan people, {COLUMNS [info, data], FILTER (QualifierFilter(,substring:a))} 查询user表中列族为infork范围是[rk0001, rk0003)的数据
scan people, {COLUMNS info, STARTROW rk0001, ENDROW rk0003} 查询user表中row key以rk字符开头的
scan user,{FILTERPrefixFilter(rk)} 查询user表中指定范围的数据
scan user, {TIMERANGE [1392368783980, 1392380169184]} 删除数据
删除user表row key为rk0001列标示符为info:name的数据
delete people, rk0001, info:name
删除user表row key为rk0001列标示符为info:nametimestamp为1392383705316的数据
delete user, rk0001, info:name, 1392383705316
清空user表中的数据
truncate people
五、访问管理页面
http://node1:16010
六、启动rest服务
hbase-daemon.sh start rest
http://node02:8080/words/10000 Accept:application/json 结果需要Base64解密