三:HBase安装
提前上传hbase安装包至虚拟机
1 上传、解压
tar -zxvf hbase-2.0.0-alpha2-bin.tar.gz -C /hadoop
2 修改配置文件
在/hadoop/hbase-2.0.0-alpha2-bin/conf
文件夹里
vi /hadoop/hbase-2.0.0-alpha2/conf/hbase-env.sh
修改hbase-env.sh
文件
export JAVA_HOME=/usr/java/jdk1.8.0_161
export HBASE_MANAGES_ZK=false #不使用HBase内置的zk,使用外部配置好的zk
修改hbase-site.xml
文件
在最后的configuration
标签改成如下内容:
<configuration>
<!--主节点位置-->
<property>
<name>hbase.rootdir</name>
<value>hdfs://ns1/HBase</value>
</property>
<!--启用分布式-->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!--设置HMaster的HTTP端口-->
<property>
<name>hbase.mater.info.port</name>
<value>16010</value>
</property>
<!--设置HRegionServer的端口-->
<property>
<name>hbase.regionserver.info.port</name>
<value>16030</value>
</property>
<!--设置独立ZK的地址-->
<property>
<name>hbase.zookeeper.quorum</name>
<value>node01,node02,node03</value>
</property>
</configuration>
配置regionservers
vi /hadoop/hbase-2.0.0-alpha2/conf/regionservers
node01
node02
node03
配置环境变量,(02\03可以不配置hbase的环境变量)
vi /etc/profile
添加如下内容
export HBASE_HOME=/hadoop/hbase-2.0.0-alpha2
export PATH=$PATH:$HBASE_HOME/bin
使配置文件生效
source /etc/profile
复制hadoop(/hadoop/hadoop-2.7.7/etc/hadoop/
)里的hdfs-site.xml
、core-site.xml
到hbase(/usr/opt/hadoop/hbase-2.0.0-alpha2/conf
)中
cp /hadoop/hadoop-2.7.7/etc/hadoop/hdfs-site.xml /hadoop/hbase-2.0.0-alpha2/conf/
cp /hadoop/hadoop-2.7.7/etc/hadoop/core-site.xml /hadoop/hbase-2.0.0-alpha2/conf/
3 复制01的hbase到02、03节点
scp -r /hadoop/hbase-2.0.0-alpha2/ root@node02:/hadoop
scp -r /hadoop/hbase-2.0.0-alpha2/ root@node03:/hadoop
4 启动Hadoop
要先启动Hadoop和zookeeper
cd ~
sh start-all.sh
多起几次确保服务等能起来(看到通过jps
查看到namenode,再启动一次即可)
启动hbase
start-hbase.sh
使用jps
查看
出现HMaster和HRegionServer
即可
可能也会出现服务掉线的情况,再启几次即可
浏览器输入
http://node01:16010
能看到3台节点的信息
5 HBase的终端
进入hbase的命令界面
hbase shell
6 HBase测试
6-1 显示hbase中的表
list
6-2 创建表user,包含info、data两个列族
create 'user','info','data'
6-3 向user中插入数据
put 'user' , 'rk0001','info:name', 'zhangsan'
put 'user','rk0001','info:gender','female'
put 'user','rk0001','info:age',20
put 'user','rk0001','data:pic','http://xxxx.jpg'
6-4 get查询
查看user中rk0001的所有信息
get 'user','rk0001'
查看user中rk0001的info列族所有信息
get 'user','rk0001','info'
查看user中rk0001的info列族中name,age的信息
get 'user','rk0001','info:name','info:age'
查看user中rk0001的info,data列族的信息
get 'user','rk0001','info','data'
表达式查询
get 'user','rk0001',{COLUMN=>['info','data']}
get 'user','rk0001',{COLUMN=>['info:name','data:pic']}
获取user的rk0001时,HBase默认的版本为VERSIONS为1,只会取一个版本的数据,需要修改表的版本号
alter 'user',{NAME=>'info',VERSIONS=>3}
再向info:name插入数据,就可一查看历史版本的数据
get 'user','rk0001',{COLUMN=>'info:name',VERSIONS=>3}
6-5 其他操作
查询列中包含a的信息
get 'user','rk0001',{FILTER=>"(QualifierFilter(=,'substring:a'))"}
查询user的所有信息
scan 'user'
user表添加列族
alter 'user',NAME=>'f1'
删除f1列族
alter 'user','delete'=>'f1'
删除user的rk0001的info:age的数据
delete 'user','rk0001','info:age'
停用表
disable 'user'
删除表(要先停用再删除)
drop 'user'
7 打快照
关闭所有服务
sh stop-all.sh
关闭hbase服务
hbase-daemon.sh stop regionserver
hbase-daemon.sh stop master
内容:HBase环境配置成功(3个节点都打快照)
据说关机,再打快照,更省空间
感谢大家的支持,关注,评论,点赞!
再见!!!