一、下载地址
http://archive.apache.org/dist/hbase/ 在里面找想要安装的hbase版本,我这里选择的是hbase-1.1.6版本。
二、安装步骤
注意:安装hbase的前提是你已经搭建好了hadoop集群和zookeeper集群。如若没有,可先参考我的这2篇文章完成搭建。
搭建hadoop集群:https://www.jianshu.com/p/31dd88692c7e
搭建zookeeper集群:https://www.jianshu.com/p/520059b39b89
-
1、上传hbase安装包到linux集群中
图片.png -
2、解压hbase安装包到指定的目录
图片.png
-
3、修改/etc/profile文件,使用命令
vi /etc/profile
,4台机器都要配置环境变量,加入以下内容,就是配置hbase安装路径。
HBASE_HOME=/usr/hbase
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:${HBASE_HOME}/bin
修改好就使用命令 source /etc/profile
重新载入配置文件
- 4、之后修改
hbase-env.sh
配置文件,如下图
图片.png - 5、修改hbase-site.xml配置文件,如下
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.master.port</name>
<value>16000</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>jiangxb1,jiangxb2,jiangxb3</value>
</property>
<!--这里指的是zookeeper的数据存放目录-->
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/usr/zookeeper-3.4.14/zkData</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>/usr/local/hbase/data</value>
</property>
</configuration>
- 6、之后在conf/regionservers文件中加入所有Region服务的主机名,即从机器 图片.png
- 7、配置完主机的hbase环境后,使用命令
scp -r hbase jiangxb1:/usr/
远程发送hbase到各台从机器。 - 8 、之后先开启hadoop集群,再用命令
start-hbase.sh
开启hbase,如下图结果
图片.png
三、期间报错解决
- 1、停止hbase时报错:
no zookeeper to stop because no pid file /tmp/hbase-root-zookeeper.pid
图片.png 这个报错原因是我个人大意导致,配置hbase/conf/hbase-env.sh
下的export HBASE_MANAGES_ZK=false
属性输入错了,输入成了export HBASE_MANAGES_ZK_false
,这才导致报错。 - 2、报错现象:开启hbase节点刚开始成功,jps是可以主从机器的hbase进程启动了,但是隔了一会使用hbase shell操作hbase的时候就发现HRegionServer进程启动不了,翻看日志寻找原因如下:可能由于软硬件问题导致hbase连接超时了。
图片.png 参考第一次解决方案文章:https://blog.csdn.net/u012630060/article/details/70789559,修改完重启了hbase下,但是这并没有解决我的问题,还是又报错连接超时,于是再查找另一篇资料,提到可能是三台机器节点是日期时间不一致,才会导致连接超时。于是开始排错,输入命令date
查看三台机器节点当前系统时间,果然是不一致,主机器快了一天,于是修改主机器系统时间,如下图操作:
图片.png 现在再次重启hbase就可以了,不报连接超时了,也不报错:org.apache.hadoop.hbase.PleaseHoldException: Master is initializing
这个错误信息了。 如下:
图片.png
附期间参考文章:
1、hbase安装常见报错:https://www.jianshu.com/p/91b6a50b2293
2、端口号被占用问题:https://www.cnblogs.com/qinxu/p/9263235.html
3、启动hbase异常:https://blog.csdn.net/qq_34148646/article/details/78971116
4、linux修改系统时间日期:https://www.cnblogs.com/morganchen/p/9437066.html
网友评论