环境:
CentOS 7.4
Hadoop 2.7.4
注意:安装前先确认与 Hadoop 版本的兼容性。
下载:
wget http://mirror.ox.ac.uk/sites/rsync.apache.org/hbase/stable/hbase-1.2.6-bin.tar.gz
tar xvf hbase-1.2.6-bin.tar.gz
cd hbase-1.2.6/设置环境变量:
echo "export PATH=`pwd`/bin:\$PATH" | sudo tee /etc/profile.d/hbase.sh
source /etc/profile.d/hbase.sh修改 conf/hbase-site.xml:
<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///opt/hbase-${user.name}/hbase</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/opt/hbase-${user.name}/zookeeper</value>
</property>
</configuration>设置目录权限:
sudo chmod 777 /opt启动:
$ start-hbase.sh
$ jps # 检查启动的进程
... HMaster测试:
$ hbase shell
> create 'test', 'cf'
> list 'test'
> put 'test', 'row1', 'cf:a', 'value1'
> put 'test', 'row2', 'cf:b', 'value2'
> put 'test', 'row3', 'cf:c', 'value3'
> scan 'test'
> get 'test', 'row1'
> disable 'test'
> enable 'test'
> disable 'test'
> drop 'test'
> quit停止服务:
stop-hbase.sh
先停止服务:
stop-hbase.sh
在 hbase-site.xml 中增加:
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>启动服务:
$ start-hbase.sh
$ jps # 检查启动的进程
... HMaster
... HQuorumPeer
... HRegionServer检查目录是否成功创建:
hdfs dfs -ls /hbase用 hbase shell 检查是否可操作。
启动额外的 HMaster 服务:
# 每个 HMaster 使用两个端口,默认 16000,16010
# 参数个数表示额外启动的服务数量,值表示每个端口的 offset
# 16002,16012 - 16003,16013 - 16005,16015
local-master-backup.sh start 2 3 5 # start|stop|restart|autorestart|foreground_start启动额外的 RegionServer 服务:
# 每个 RegionServer 使用两个端口,默认 16201,16301
# 参数个数表示额外启动的服务数量,值表示每个端口的 offset
# 16202,16302 - 16203,16303 - 16205,16305
local-regionservers.sh start 2 3 5 # start|stop|restart|autorestart|foreground_startHRegionServer 管理 HMsater 指定的文件存储上的数据,一般每个节点运行一个 HRegionServer。
检查启动的服务数量:
$ jps | grep HMaster | wc -l
4
$ jps | grep HRegionServer | wc -l
4chmod 777 /opt不要自己启动 zookeeper(关闭它),让 hbase 启动和管理:
export HBASE_MANAGES_ZK=true
可能是 Hbase 和 Hadoop 的版本不兼容,换个版本试试看。