一、前提
1.1 Zookeeper正常部署
1.2 Hadoop正常部署
二、安装
2.1 上传解压
2.2 配置环境
sudo vim /etc/profile.d/environment.sh
2.3 配置hbase-env.sh
vim /opt/module/hbase/conf/hbase-env.sh
若是JDK配置到profile文件中的,则需要配置JDK路径
2.4 配置hbase-site.xml
vim /opt/module/hbase/conf/hbase-site.sh
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop102:9000/HBase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- 0.98后的新变动,之前版本没有.port,默认端口为60000 -->
<property>
<name>hbase.master.port</name>
<value>16000</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop102,hadoop103,hadoop104</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/opt/module/zookeeper-3.4.10/zkData</value>
</property>
</configuration>
2.5 配置regionservers
vim /opt/module/hbase/conf/regionservers
2.6 建立软连接
软连接hadoop配置文件到HBase
ln -s /opt/module/hadoop-2.7.2/etc/hadoop/core-site.xml /opt/module/hbase/conf/core-site.xml
ln -s /opt/module/hadoop-2.7.2/etc/hadoop/hdfs-site.xml /opt/module/hbase/conf/hdfs-site.xml
2.7 分发
xsync /opt/module/hbase/
sudo xsync /etc/profile.d/environment.sh
2.8 时间同步
2.9 启动
- 启动方式第一种
bin/hbase-daemon.sh start master (选定一台节点)
bin/hbase-daemon.sh start regionserver (三台机子)
- 启动方式第二种
bin/start-hbase.sh (启动)
bin/stop-hbase.sh (停止)
2.10 查看
http://hadoop102:16010
三、HBase Shell
3.1 进入客户端
bin/hbase shell
3.2 帮助命令
help
3.3 查看数据库中存在的表
list
3.4 创建表
create 'student','info'
3.5 插入数据
put 'student','1001','info:sex','male'
put 'student','1001','info:age','18'
put 'student','1002','info:name','Janna'
put 'student','1002','info:sex','female'
put 'student','1002','info:age','20'
3.6 扫描查看表数据
scan 'student'
scan 'student',{STARTROW => '1001', STOPROW => '1001'}
scan 'student',{STARTROW => '1001'}
3.7 查看表结构
describe ‘student’
3.8 其他
- 查看“指定行”或“指定列族:列”的数据
get 'student','1001'
get 'student','1001','info:name'
- 更新指定字段的数据
put 'student','1001','info:name','Nick'
put 'student','1001','info:age','100'
- 统计表数据行数
count 'student'
- 删除数据
删除某rowkey的全部数据:deleteall 'student','1001'
删除某rowkey的某一列数据:delete 'student','1002','info:sex'
- 清空表数据
清空表的操作顺序为先disable,然后再truncate。
truncate 'student'
- 删除表
首先需要先让该表为disable状态:disable 'student'
然后才能drop这个表:drop 'student'
- 变更表信息
alter 'student',{NAME=>'info',VERSIONS=>3}
get 'student','1001',{COLUMN=>'info:name',VERSIONS=>3}
四、Life
“只有一个人对世界了解得更广大,对人生看得更深刻,那么,他才有可能对自己所处的艰难和困苦有更高意义的理解;甚至也会心平气静地对待欢乐和幸福。”