hbase安装

作者 zhan-bin 日期 2018-08-05
hbase安装

hbase1.2.6 安装

作者:Zhan-bin
日期:2018-08-05

环境

安装Hbase之前需要安装hadoop和zookeeper,Hbase是要依赖于zookeeper来运行的,hbase也有自带的zookeeper,但我们这里Hbase用自己安装的zookeeper来运行。

这里的配置为 VMware+CentOS7+hadoop2.9.1+hive2.3.3+mysql-8.0.11-linux-glibc2.12-x86_64

这里我下载的镜像是 CentOS-7-x86_64-Minimal-1804.iso

CentOS系统镜像下载地址-点击进入

JDK下载地址-点击进入

Hadoop下载地址-点击进入

Hbase下载地址-点击进入

(这里使用的是hadoop2.9.1 尽量下载stable文件夹里面的稳定版本。下载”stable”下的hadoop-2.x.y.tar.gz这个格式的文件)

1.上传并解压文件到安装目录

  • 这里使用xshell上传文件到虚拟机上面,输入命令rz即可上传。
  • 解压文件到安装目录(我这里安装目录为/home/hadoop)
    1
    tar zxvf hbase-1.2.6.1-bin.tar.gz

2.添加文件链接到hase至解压后的文件夹

  • 添加文件链接,如下图所示。
    1
    2
    ln -sf ./hbase-1.2.6.1 ./hbase
    ll

1

3.修改配置文件hbase-env.sh

  • 进入hbase安装目录下的confd文件夹下打开hbase-env.sh文件

    1
    vi hbase-env.sh
  • 找到 JAVA_HOME 去掉前面的 # 并修改成自己jdk的安装目录 如图:
    修改前:
    1
    修改后:
    1

  • 修改完之后保存退出即可

3.修改配置文件hbase-site.xml

  • 进入hbase安装目录下的confd文件夹下打开hbase-site.xml 文件

    1
    vi hbase-site.xml
  • 找到hbase.rootdir属性,如果没有就在标签里面添加如下内容:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    <configuration>
    <property>
    <name>hbase.rootdir</name>
    <value>hdfs://master:9000/hbase</value>
    <!--配置为core-site.xml 中的fs.defaultFS -->
    </property>
    <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
    </property>
    <property>
    <name>hbase.master</name>
    <value>master:60000</value>
    <!-- Hbase HA 方式下只需配置端口 -->
    </property>
    <property>
    <name>hbase.tmp.dir</name>
    <value>/home/hadoop/hbase/tmp</value>
    </property>
    <property>
    <name>hbase.zookeeper.quorum</name>
    <value>169.254.84.3,169.254.84.4,169.254.84.5</value>
    </property>
    <property>
    <name>hbase.zoopkeeper.property.dataDir</name>
    <value>/home/hadoop/zookeeper/data</value>
    </property>
    <property>
    <name>hbase.zookeeper.property.clientPort</name>
    <value>2181</value>
    </property>
    </configuration>

5.修改配置文件regionservers

  • regionservers是设置运行regionserver的机器的文件,在里面写入机器的IP地址或ip映射主机名即可。这里我是将master和slaver1设为Hmaster的运行节点,其他的设为Hregion。这里我的配置文件设置如下:

    1
    2
    cd /home/hadoop/hbase/conf #进入到hbase配置文件存放目录
    vi ./regionservers
  • 配置文件内添加如下内容:

    1
    2
    3
    slaver1
    slaver2
    slaver3

6.修改配置文件backup-masters

  • backup-masters文件可以设置作为Hmaster(hbase管理节点)的机器,可以设置多台机器,在hbase启动之后对应机器jps都可以看到Hmaster的进程,但是在集群中使用的Hmaster只有一台,其他的都只是备用的,正在运行的Hmaster宕掉之后就会选一个备用的Hmaster替代使用。

    1
    vi ./backup-masters
  • 这里我是将master和slaver1作为Hmaster节点,backup-masters文件内容添加如下:

    1
    2
    master
    slzver1

7.配置环境变量

  • 打开profile文件

    1
    vi /etc/profile
  • 增加两处

    1
    2
    :$HBASE_HOME/bin
    export HBASE_HOME=/home/hadoop/hbase

6

8.启动Hbase

  • 启动Hbase之前需要先启动hdfs和zookeeper
  • 进入到hbase安装目录下的bin启动hbase
    1
    ./start-hbase.sh

1

  • 输入jps后看见有一个HMaster就说明启动成功了。
  • 之后再后进入hbase的bin下输入命令进入Hbase的shell模式

    1
    2
    cd /home/hadoop/hbase/bin
    ./hbase shell
  • 打开之后没报错就是成功了。

注意启动之前需要在系统中输入date查询下每台机器的系统时间,最好一样或者差个几秒钟,如果相差太远(超过5分钟)就会导致hbase无法正常运行。
使用本机的ip地址映射名称设置配置文件很可能会出现hostname无法识别,然后hbase会异常停止。只需要将hbase-site.xml文件里面的hostname改成对应的ip地址即可。
hbase将数据溢写到内存中需要使用 flush ‘表名’ 。
在Hbase命令行中退格是要按下 ctrl+退格