一、前提要求
注:本文部署结构为,全部搭建在一台机器上。事先部署了独立的Zookeeper集群和Hadoop集群(集群均为1个 =。 =)
JDK版本
有关要求见 https://hbase.apache.org/book.html#basic.prerequisites
本文采用jdk1.8.0_144
Hadoop版本
有关要求见 https://hbase.apache.org/book.html#hadoop
本文采用hadoop-2.7.4
ZooKeeper版本
有关要求见 https://hbase.apache.org/book.html#zookeeper.requirements
本文采用独立Zookeeper集群,非HBase管理,版本为zookeeper-3.4.9
SSH无密登录
要求任意节点间可以无密码登录NTP时间同步
HBase要求所有节点时间同步,可通过NTP服务器同步
二、下载安装
1.下载安装HBase二进制包
本文采用版本为hbase-2.0.0-alpha3
下载地址为 http://ftp.cuhk.edu.hk/pub/packages/apache.org/hbase/
2.将HBase添加到环境变量
如果仅对当前用户有效,添加到~/.bashrc
或~/.bash_profile
,当然也可以添加到/etc/profile
。添加内容如下:
# 根据实际情况更改你的hbase目录
export HBASE_HOME=/home/hadoop/hbase-.-alpha3
export PATH=$HBASE_HOME/bin:$PATH
3.设置HBase的Java和Zookeeper
修改HBase安装目录下 的conf/hbase-env.sh
# 由于本文采用独立Zookeeper集群,因此将此项设置为false
export HBASE_MANAGES_ZK=false
# 根据实际情况更改你的java路径
export JAVA_HOME=/usr/local/java/jdk1._65
4.添加HBase配置
修改HBase安装目录下 的conf/hbase-site.xml
<configuration>
<!-- 必须。HDFS入口地址,地址和端口与hadoop一致 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://localhost:9000/hbase</value>
<description>The directory shared byRegionServers.</description>
</property>
<!-- 必须。分布式集群 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- 必须。配置独立Zookeeper端口 -->
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<!-- 必须。配置独立Zookeeper集群,本文就只有localhost -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>localhost</value>
</property>
<!-- 必须。配置独立Zookeeper数据存储路径,根据实际情况修改 -->
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/hadoop/zookeeper-data/data</value>
</property>
<!-- 可选。若需要打开Web UI,则设置该属性 -->
<property>
<name>hbase.master.info.port</name>
<value>60010</value>
</property>
</configuration>
5.修改文件regionservers
修改文件 conf/regionservers
,修改内容为localhost(本文只有localhost)
三、启动和Shell命令
1.先启动Zookeeper和HDFS
2.启动HBase
输入命令jps
,查看进程,如图;
输入网址 http://localhost:60010,如图
3.HBase Shell
进入Shell
hadoop@ubuntu:~/hbase-.-alpha3$ bin/hbase shell
常用命令
更多请见https://learnhbase.wordpress.com/2013/03/02/hbase-shell-commands/
# 创建表,3个列族
create 'test', 'cf1', 'cf2', 'cf3'
# 添加数据,一次只能添加一个表的一行中一列的一个数据
put 'test', 'row1', 'cf1:c1', 'value'
# 浏览表的信息
scan 'test'
# 获取单元格的值
get 'test', 'row1', {COLUMN=>'cf1:c1'}
# 使表有效或无效
enable 'test' / disable 'test'
# 删除数据
delete 'test', 'row1', 'cf1:c2'
# 删除表(需先diable表)
drop 'test