一、前期准备工作
1、下载hbase安装包
Hbaser官方下载地址:http://mirror.bit.edu.cn/apache/hbase/
目前安装的版本为:hbase-2.0.2-bin.tar.gz
2、准备好要安装的集群环境的目标机器
3、将下载好的压缩包拷贝到集群机器中
----可利用shell软件的rz命令进行拷贝
4、安装JDK,可参照:https://blog.csdn.net/xuexi_39/article/details/82854735
5、创建hadoop用户并赋予管理员权限
6、hadoop及zookeeper集群环境都已搭建好(因hbase依赖于hadoop及zookeeper)
二、解压压缩包到目标安装目录下
1、将压缩包解压到/usr/local下
tar -xvf hbase-2.0.2-bin.tar.gz -C /usr/local/
2、将hbase-2.0.2名称修改为hbase
mv hbase-2.0.2 hbase
三、更改hbase目录所属者及所属组为hadoop用户
chown -hR hadoop /usr/local/hbase/ # 修改所有者为hadoop
chgrp -hR hadoop /usr/local/hbase/ # 修改所属组为hadoop
四、配置系统环境变量
1、打开sudo vim /etc/profile在底部添加如下信息
#hbase environment
export HBASE_HOME=/usr/local/hbase
export PATH=$PATH:$HBASE_HOME/bin
2、source /etc/profile 使得添加的环境变量信息立即生效
3、使用echo $HBASE_HOME检测环境变量是否生效
五、修改habse相关配置文件
1、修改/usr/local/hbase/conf目录下的hbase-env.sh,在该文件添加如下内容
-- 1、设置java安装路径
export JAVA_HOME=/opt/java/jdk1.8.0_131
-- 2、设置hbase的日志地址
export HBASE_LOG_DIR=${HBASE_HOME}/logs
-- 3、设置是否使用hbase管理zookeeper(因使用zookeeper管理的方式,故此参数设置为false)
export HBASE_MANAGES_ZK=false
-- 4、设置hbase的pid文件存放路径
export HBASE_PID_DIR=/var/hadoop/pids
2、添加集群内所有的机器名称到regionservers文件中
master
dataserver1
dataserver2
3、修改/usr/local/hbase/conf目录下的hbase-site.sh,(在configuration节点下添加如下内容)
<property>
<name>hbase.rootdir</name> <!-- hbase存放数据目录 -->
<value>hdfs://master:9000/hbase</value>
<!-- 端口要和Hadoop的fs.defaultFS端口一致-->
</property>
<property>
<name>hbase.cluster.distributed</name> <!-- 是否分布式部署 -->
<value>true</value>
</property>
<property>
<name> hbase.master</name>
<value>hdfs://master:60000</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name> <!-- list of zookooper -->
<value>master,dataserver1,dataserver2</value>
</property>
<property><!--zookooper配置、日志等的存储位置 -->
<name>hbase.zookeeper.property.dataDir</name>
<value>/usr/local/hbase/logs</value>
</property>
<property>
<name>hbase.master.info.port</name>
<value>16010</value>
</property>
<property>
<name>hbase.regionserver.info.port</name>
<value>16030</value>
</property>
4、将配置文件拷贝到其它分支对应的目录下
sudo scp hbase-env.sh hadoop@dataserver1:/usr/local/hbase/conf/
sudo scp hbase-site.xml hadoop@dataserver1:/usr/local/hbase/conf/
sudo scp regionservers hadoop@dataserver1:/usr/local/hbase/conf/
六、启动hbase服务
1、在主节点master上,进入cd /usr/local/hbase/bin目录下
2、执行启动命令:./start-hbase.sh
3、在web界面访问
http://masterIP地址:16010
七、在部署过程中遇见的问题:
1)提示文件权限问题,错误信息如下所示:
解决方式如下:
1)在根目录中新建文件夹:mkdir /var/hadoop/pids
2)设置hadoop目录所有者及所属权限为hadoop用户
3)将export HBASE_PID_DIR=/var/hadoop/pids添加到系统环境变量中
2)提示如下错误信息
输入jps查看hbase进程,一直显示主节点启动,分支节点没有启动
解决方式:
1)查看集群内所有机器的系统时间是否都一致,同时保证每一台机器的系统时间与硬件时间也都一致;
2)查看系统时间date
3)查看硬件时间hwclock
4)统一设置系统时间date -s "13:00:00" #系统正常时间
5)硬件时间与系统时间同步 hwclock -s
6)重新启动hadoop ,zookeeper,在启动hbase即可
3、启动habse后,hmaster会出现自动消失的现象
解决方式:
关闭hadoop及zookeeper所有进程后,删除hadoop目录下的tmp及logs文件,重新格式化hadoop ,在重新依次启动hadoop、zookeeper,hbase即可