Hbase集群安装配置及常见问题解决方法

  • Hbase介绍

HBASE是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBASE技术可在廉价PC Server上搭建起大规模结构化存储集群。
HBASE的目标是存储并处理大型的数据,更具体来说是仅需使用普通的硬件配置,就能够处理由成千上万的行和列所组成的大型数据。
HBASE是Google Bigtable的开源实现,但是也有很多不同之处。比如:Google Bigtable利用GFS作为其文件存储系统,HBASE利用Hadoop HDFS作为其文件存储系统;Google运行MAPREDUCE来处理Bigtable中的海量数据,HBASE同样利用Hadoop MapReduce来处理HBASE中的海量数据;Google Bigtable利用Chubby作为协同服务,HBASE利用Zookeeper作为对应。

说明:要使用hbase是需要先安装hadoop和zookeeper
zookeeper集群配置安装 参考[zookeeper集群安装:https://blog.csdn.net/wth_97/article/details/86421476]
[hadoop集群安装] 需要三台机器(自己),hadoop01,hadoop03,hadoop04
Hbase的安装流程
1、将hbase上传到hadoop集群(Linux虚拟机),上传的是hbase-0.99.2-bin.tar.gz。然后解压并且重命名为hbase,为了方便管理我讲hbase移动到了app目录下。(上传、解压、重命名)

[root@hadoop01 ~]# tar –zxvf  hbase-0.99.2-bin.tar.gz
[root@hadoop01 ~]# mv hbase-0.99.2 hbase
[root@hadoop01 ~]# mv hbase apps
[root@hadoop01 ~]# cd apps/

2、修改环境变量
在编辑模式下,最后面添加

[root@hadoop01 app]# vi /etc/profile
...
export HBASE_HOME=/opt/modules/apps/hbase
export PATH=$PATH:$HBASE_HOME/bin

[root@hadoop01 apps]#source /etc/profile

在机器hadoop03,hadoop04上也执行2操作修改环境变量
可以使用远程拷贝scp

  [root@hadoop01 etc] scp -r profile hadoop03:/etc/

3、修改配置文件
修改的是 hbase-env.sh,hbase-site.xml, regionservers
我们现在文本编辑器里面修改再上传覆盖就好了
hbase-env.sh添加内容如下
第一行指定jdk位置
第二行指定额外的classpath元素
第三行是关于jvm的可以不需要
第四行,true表示使用hbase自带的zookeeper,false表示使用自己的zookeeper(推荐,趁此学一下zookeeper,学了hbase后面的storm跟spark也会去学,后面很多都要使用zookeeper,一劳永逸)。

export JAVA_HOME=/opt/modules/jdk1.8/
export JAVA_CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export HBASE_OPTS="-XX:+UseConcMarkSweepGC"
export HBASE_MANAGES_ZK=false

hbase-site.xml内容如下

<configuration>
<property>
<name>hbase.master</name>
<value>hadoop01:60000</value>
<description>指定hbase的主节点与端口号</description>
</property>
<property>
<name>hbase.master.maxclockskew</name> 
<value>180000</value>
<description>时间同步允许的时间差</description>
</property>
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop01:9000/hbase</value>
<description>hbase共享目录,持久化hbase数据,这个需要看你hadoop的核心文件里面配置的是不是mini1:9000不是的话得改成自己的hadoop里面写的</description>
</property>
<property>
<name>hbase.cluster.distributed</name> 
<value>true</value>
<description>是否是分布式的,当然</description>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop01,hadoop03,hadoop04</value>
<description>指定zookeeper,我的zookeeper集群就是在这三台机器的</description>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/root/hbase/tmp/zookeeper</value>
<description>zookeeper配置信息快照的位置,目录会自己创建的</description>
</property>
</configuration>

regionservers里面添加从节点机器名

hadoop03
hadoop04

然后将三个文件上传到hbase的conf目录下
4、将按照配置好的hbase上传到其他机器
这里是hadoop01配置好了,发送到hadoop03和hadoop04机器

scp -r hbase hadoop05:/opt/modules/app/

5、启动hbase
进入到hadoop01的hbase的bin目录下启动
启动完了使用jsp命令查看是否启动起来了
[root@hadoop01 bin]# start-hbase.sh
starting master, logging to /root/apps/hbase/logs/hbase-root-master-hadoop01.out
hadoop03: starting regionserver, logging to /opt/modules/app/hbase/bin/../logs/hbase-root-regionserver-hadoop03.out
hadoop04: starting regionserver, logging to /opt/modules/app/hbase/bin/../logs/hbase-root-regionserver-hadoop04.out
[root@hadoop01 bin]# jps
1593 ResourceManager
7133 HMaster
4550 QuorumPeerMain
2831 NameNode
7310 Jps
注:启动起来的前提需要启动hadoop和zookeeper,最后启动的话,那么hadoop01机器上会多出HMaster进程,hadoop03和hadoop04上多出了HRegionServer。

出现问题启动不起来Hbase时

1.需要关闭DFS安全模式

手动关闭安全模式命令如下:

hdfs dfsadmin -safemode leave

2.测试HRegionServer上下线
单独启动HRegionServer节点:

启动集群中所有的regionserver
./hbase-daemons.sh start regionserver
启动某个regionserver
./hbase-daemon.sh start regionserver

3.如果关闭虚拟机后需要先启动

(1)[root@hadoop01 ~]# start-dfs.sh
(2)[root@hadoop01 ~]# zkServer.sh start
(3)[root@hadoop01 ~]# start-hbase.sh

查看jps是否存在即可。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 参考:https://www.jianshu.com/p/569106a3008f 最近在逐步跟进Hbase的相关...
    博弈史密斯阅读 874评论 1 1
  • 本文首先简单介绍了HBase,然后重点讲述了HBase的高并发和实时处理数据 、HBase数据模型、HBase物理...
    达微阅读 2,763评论 1 13
  • Hadoop HA集群搭建文档.............................................
    钟敏_1788阅读 1,493评论 0 0
  • 1. HBase介绍,Hbase是什么? HBase -- Hadoop Database ,是一个高可靠、高性能...
    奉先阅读 3,785评论 1 36
  • 一、录取批次 录取批次,是指根据不同高校情况所划分的录取顺序、录取步骤。 根据《山东省深化考试招生制度改革实施方案...
    totoroweb阅读 537评论 0 0