HBase安装配置-单机、伪分布、完全分布

安装前提

安装hbase之前请确保自己的hadoop正常,可以正常启动关闭,并可以运行mapreduce实例。

hbase安装需要和hadoop对应版本,随意安装可能导致版本不兼容等问题。以下是对应图表:

HBase安装配置-单机、伪分布、完全分布

下面配置来自头歌平台中Hbase模块,在头歌平台可以在线操作并评测,在这里我只把安装配置部分的文档复制出来做了整理,方便配置虚拟机使用。

头歌访问地址:移动云启 —— HBase从入门到实战 (educoder.net)

HBase单机配置

安装单机版很简单,我们只需要配置 JDK的路径即可,我们将 JDK的路径配置到 conf/下的 hbase-env.sh中。

我们先输入 echo $JAVA_HOME来复制 JAVA_HOME的路径,以方便之后的配置:

接着我们编辑 HBase conf目录下的 hbase-env.sh文件,将其中的 JAVA_HOME指向到你 Java的安装目录,最后保存设置:

vim /usr/local/hbase/conf/hbase-env.sh

然后编辑 hbase-site.xml文件,在 <configuration></configuration>标签中添加如下内容:


       hbase.rootdir
       file:///root/data/hbase/data

       hbase.zookeeper.property.dataDir
       /root/data/hbase/zookeeper

  hbase.unsafe.stream.capability.enforce
        false

以上各参数的解释:

  • hbase.rootdir:这个目录是 region server的共享目录,用来持久化 HbaseURL需要是’完全正确’的,还要包含文件系统的 scheme。例如,要表示 hdfs中的 /hbase目录, namenode 运行在 namenode.example.org9090端口。则需要设置为 hdfs://namenode.example.org:9000 /hbase。默认情况下 Hbase是写到 /tmp的。不改这个配置,数据会在重启的时候丢失;
  • hbase.zookeeper.property.dataDirZooKeeperzoo.conf中的配置。快照的存储位置,默认是: ${hbase.tmp.dir}/zookeeper
  • hbase.unsafe.stream.capability.enforce:控制 HBase是否检查流功能( hflush / hsync),如果您打算在 rootdir表示的 LocalFileSystem上运行,那就禁用此选项。

配置好了之后我们就可以启动 HBase了,在启动之前我们可以将 HBasebin目录配置到 /etc/profile中,这样更方便我们以后操作。在 /etc/profile的文件末尾添加如下内容:

SET HBASE_enviroment
HBASE_HOME=/app/hbase-2.1.1
export PATH=$PATH:$HBASE_HOME/bin

HBASE_HOME为你自己本机 Hbase的地址。

不要忘了, source /etc/profile使刚刚的配置生效。

接下来我们就可以运行 HBase来初步的体验它的功能了:

在命令行输入 start-hbase.sh来启动 HBase,接着输入 jps查看是否启动成功,出现了 HMaster进程即表示启动成功了。

启动成功之后,咱们就可以对 Hbase进行一些基本的操作了。

HBase伪分布配置

伪分布式意味着 HBase仍然在单个主机上运行,但每个 HBase的守护程序( HMasterHRegionServerZookeeper)作为单独的进程运行;

实验环境:

hadoop2.7&#xFF1B;JDK8&#xFF1B;HBase2.1.1&#xFF1B;hadoop&#x5DF2;&#x5B89;&#x88C5;&#xFF1B;JDK&#x5DF2;&#x5B89;&#x88C5;&#xFF0C;&#x73AF;&#x5883;&#x53D8;&#x91CF;&#x5DF2;&#x914D;&#x7F6E;&#xFF1B;HBase&#x538B;&#x7F29;&#x5305;&#x5DF2;&#x4E0B;&#x8F7D;&#xFF0C;&#x5B58;&#x653E;&#x5728;/opt&#x76EE;&#x5F55;&#x4E0B;&#x3002;

在搭建环境之前我们首先来了解一下 HBase分布式环境的整体架构:

HBase安装配置-单机、伪分布、完全分布

我们来简单认识一下与 HBase的相关组件:

Zookeeper

Zookeeper能为 HBase提供协同服务,是 HBase的一个重要组件, Zookeeper能实时的监控 HBase的健康状态,并作出相应处理。

HMaster:

HMasterHBase的主服务,他负责监控集群中所有的 HRegionServer,并对表和 Region进行管理操作,比如创建表,修改表,移除表等等。

HRegion:

HRegion是对表进行划分的基本单元,一个表在刚刚创建时只有一个 Region,但是随着记录的增加,表会变得越来越大, HRegionServer会实时跟踪 Region的大小,当 Region增大到某个值时,就会进行切割( split)操作,由一个 Region切分成两个 Region

HRegionServer:

HRegionServerRegionServer的实例,它负责服务和管理多个 HRegion 实例,并直接响应用户的读写请求。

总的来说,要部署一个分布式的 HBase数据库,需要各个组件的协作, HBase通过 Zookeeper进行分布式应用管理, Zookeeper相当于管理员, HBase将数据存储在 HDFS(分布式文件系统)中,通过 HDFS存储数据,所以我们搭建分布式的 HBase数据库的整体思路也在这里,即将各个服务进行整合。

接下来,我们就一起来搭建一个伪分布式的HBase。

配置与启动伪分布式HBase

如果你已经完成了单节点HBase的安装,那伪分布式的配置对你来说应该很简单了,只需要修改 hbase-site.xml文件即可:

vim /app/hbase-2.1.1/conf/hbase-site.xml

在这里主要有两项配置:

1.开启 HBase的分布式运行模式,配置 hbase.cluster.distributedtrue代表开启 HBase的分布式运行模式:


  hbase.cluster.distributed
  true

2.是设置 HBase的数据文件存储位置为 HDFS
/hbase目录,要注意的是在这里我们不需要在 HDFS中手动创建 hbase目录,因为 HBase会帮我们自动创建。


  hbase.rootdir
  hdfs://localhost:9000/hbase

修改之后 hbase-site.xml<configuration></configuration>代码:

HBase安装配置-单机、伪分布、完全分布

标红部分为我们需要注意的配置。我们在设置单节点的时候将 hbase.unsafe.stream.capability.enforce属性值设置为了 false,在这里我们需要注意设置它的值为 true,或者干脆删除这个属性也是可以的。

配置完成之后,我们需要先启动 Hadoop,命令为: start-dfs.sh,然后启动 HBase,最后输入 jps查看启动的进程:

HBase安装配置-单机、伪分布、完全分布

如果出现 HMasterHRegionServer以及 HQuorumPeer三个服务则代表伪分布式环境已经搭建成功了。

在HDFS中验证

接下来我们进一步验证:在 HDFS中检查 HBase文件。

如果一切正常, HBase会在 HDFS中自动建立自己的文件,在上述配置文件中,设置的文件位置为 /hbase,我们输入 hadoop fs -ls /hbase即可查看,如下图所示,分布式文件系统( HDFS)中 hbase文件夹已经创建了:

HBase安装配置-单机、伪分布、完全分布

HBase完全分布安装配置

1. 下载安装

使用HBase2.4.6版本。下载完成后解压到指定目录,修改文件名为hbase。

tar -zxf hbase-2.4.6-bin.tar.gz
mv hbase-2.4.6 /usr/local/hbase

2. 修改配置文件

hbase-env.sh

为HBase设置Java目录,并从conf文件夹打开hbase-env.sh文件。编辑JAVA_HOME环境变量,改变路径到当前JAVA_HOME变量。

cd /usr/local/hbase/conf
vi hbase-env.sh

export HBASE_MANAGES_ZK=false
export JAVA_HOME=/usr/local/jdk
export HBASE_CLASSPATH=/usr/local/hadoop/etc/hadoop

hbase-site.xml

cd /usr/local/hbase/conf
vi hbase-site.xml

    hbase.rootdir
    hdfs://master:9000/hbase

    hbase.cluster.distributed
    true

    hbase.master
    hdfs://master:6000

    hbase.zookeeper.quorum
    master,slave1,slave2

    hbase.zookeeper.property.dataDir
    /usr/local/zookeeper

    hbase.unsafe.stream.capability.enforce
    false

regionservers

在这里列出了希望运行的全部 HRegionServer,一行写一个 host。列在这里 的 server 会随着集群的启动而启动,集群的停止而停止。

vi regionservers

slave1
slave2

hadoop 配置文件拷入 hbase 的 conf 目录下

当前位置为 hbased 的conf 配置文件夹

cp /usr/local/hadoop/etc/hadoop/hdfs-site.xml .
cp /usr/local/hadoop/etc/hadoop/core-site.xml .

3. 分发hbase

scp -r /usr/local/hbase root@slave1:/usr/local/
scp -r /usr/local/hbase root@slave2:/usr/local/

4. 配置环境变量

vi /etc/profile

set hbase environment
export HBASE_HOME=/usr/local/hbase
export PATH=$PATH:$HBASE_HOME/bin

source /etc/profile

5. 运行测试

开始hadoop,只在master上运行

cd /usr/local/hadoop
sbin/start-all.sh

开启zookeeper,每台虚拟机都执行

cd /usr/local/zookeeper
bin/zkServer.sh start

再在master上执行

cd /usr/local/hbase
bin/start-hbase.sh

三台虚拟机分布执行,master出现HMaster,slave出现HRegionServer

jps

访问master的hbase web界面

http://master IP:16010/master-status

进入hbase shell,分布查看hbase状态和版本

hbase shell

status
version

Original: https://www.cnblogs.com/xxxchik/p/16417292.html
Author: xxxchik
Title: HBase安装配置-单机、伪分布、完全分布

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/564962/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球