Ubuntu安装HBase2.2.4并进行单机/伪分布式配置

文章目录

  • Ubuntu安装HBase2.2.4并进行单机/伪分布式配置
    • 前言
    • 版本兼容性
    • 详细流程
      • 安装HBase2.2.4
      • HBase单机配置
      • HBase伪分布式配置
      • Web访问HBase信息
    • 常见问题
    • 参考文章

前言

Hadoop安装以后,只包含 HDFS和 Mapreduce,并不包含 HBase,因此我们需要在 Hadoop之上继续安装 HBase。

HBase的运行同样有三种模式:单机模式、伪分布式模式、分布式模式。

  • 单机模式:在一台计算机上安装和使用 HBase,使用 Ubuntu本地文件系统保存数据,不涉及数据的分布式存储 HDFS;
  • 伪分布式模式:在一台计算机上模拟一个小的集群,数据使用分布式文件系统 HDFS存储;
  • 分布式模式:使用多台计算机实现物理意义上的分布式存储。

因为个人电脑不具备集群环境,我们仅介绍在个人电脑上进行单机模式和伪分布式模式的配置。

我个人的操作环境是:

  • 操作系统:Ubuntu 16.04
  • JDK 版本:1.8
  • Hadoop 版本:Hadoop 3.1.3

我选择安装的HBase版本是 HBase 2.2.4。

版本兼容性

HBase一般是运行在 HDFS之上,这里我们默认个人电脑上已经安装了 Java环境,安装了 Hadoop并且已经配置好了伪分布式模式。如果还没有安装 Hadoop环境的请参考这篇博客进行安装 Ubuntu系统安装Hadoop3.1.3并进行单机/伪分布式配置

Hadoop对 Java的兼容性要求并不高,只要 Java版本在 JDK1.7以上基本上都可以进行兼容。但是 HBase对 Java、Hadoop的版本要求比较严格,如果版本不对就要安装指定版本才能保证稳定使用。

现在是2020年4月,Apache HBase官网上对 Java、Hadoop的兼容性如下

三种图标的意义如下:

  • 绿色的√:当前版本通过了完整的功能测试,可以稳定使用
  • 红色的×:当前版本没有通过完整的功能测试,部分功能不可用
  • 黄色的 !:当前版本未经过测试,功能可用性未知

从这里我们可以看出,标出红色的和黄色的版本都是不够安全的,我们如果安装这些版本可能会出很多的错误,因此我们应该选择安装绿色安全的版本。

综合比较之后,我们看到,Java版本当然是选择 JDK1.8最好,Hadoop版本可以选择2.7.1+、2.8.5+、3.1.1+等。

这也怪不得现在都版本都发行到 Java14了,大家现在都喜欢用 JDK1.8,毕竟新版本对这些软件不兼容还是得回到旧版本啊。

如果想知道 HBase最新的版本兼容性消息,可以自己去 Apache HBase官网进行查看 Apache HBase官网配置版本要求

详细流程

接下来我们对 HBase的整个安装配置流程进行详细介绍。

简单提一句,关于 HBase需要不要安装外置 Zookeeper的问题。因为我们现在是伪分布式配置,直接使用 HBase中内置的 Zookeeper即可;如果要进行全分布式配置,建议安装外置的 Zookeeper,将Zookeeper和 HBase分开部署,运营起来会方便很多。

安装HBase2.2.4

在 Apache HBase官网上为我们推荐了两个国内的镜像站:北理工和清华。我们使用北理工的镜像站下载 HBase的稳定版本 HBase北理工镜像

镜像站提供了几个 HBase的稳定版本,根据自己的意愿选择即可。这里我们选择 2.2.4。

进入目录后,我们选择下载 hbase-2.2.4-bin.tar.gz,大小是213M。

下载完成后,通过 WinSCP等软件传输到自己的虚拟机或者服务器中,就放在 /usr/local目录下。然后我们进行解压安装,并把 HBase目录权限赋予给 hadoop用户。

cd /usr/local/
sudo tar -zxvf hbase-2.2.4-bin.tar.gz   //解压
sudo mv ./hbase-2.2.4 ./hbase           //文件夹改名为hbase
sudo chown -R hadoop ./hbase            //修改文件权限

hbase-2.2.4已经解压完成,在开始使用之前,我们先测试一下 hbase是否可用。

/usr/local/hbase/bin/hbase version

成功显示 hbase版本信息,hbase可用。

HBase单机配置

在 HBase单机模式下,我们需要配置 Java环境变量,启动内置的 Zookeeper。同时,为了方便访问,我们配置一下 HBase的环境变量。

如果已经忘记了 JAVA_HOME的值,请在修改之前查看一下

echo $JAVA_HOME

第一步,我们去配置 Java环境变量,并启动内置的 Zookeeper。

在 HBase的文件目录下,conf文件夹中放的是配置文件。我们需要更改 hbase-env.sh文件,把 JAVA_HOME环境变量指定到本机的JDK目录。

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

这里要注意的是,hbase-env.sh中本来就存在这些变量的配置,我们只需要耐心找到该配置,删除前面的‘#’并修改配置内容即可。

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_241
export HBASE_MANAGES_ZK=true

编辑完成后,使用 source命令使配置生效

source hbase-env.sh

第二步, 编辑配置文件 /etc/profile,添加 hbase环境变量 HBASE_HOME。

cd ~
sudo vim /etc/profile

在配置文件中输入以下代码:

export HBASE_HOME=/usr/local/hbase
export PATH=$PATH:$HBASE_HOME/sbin:$HBASE_HOME/bin

编辑完成后保存并退出,使用 source命令使配置生效

source /etc/profile

接下来,我们测试环境是否配置成功

hbase version

成功显示 HBase的版本信息,HBase单机模式配置成功。

HBase伪分布式配置

在 HBase伪分布式模式下,我们需要配置 Java环境变量,HBase配置项目录,启动内置的 Zookeeper。以及指定 HBase数据在 HDFS上的存储路径等。

第一步和单机模式下的配置基本一致,打开 hbase-env.sh文件,找到对应配置,去掉前面的‘#’,并修改为对应路径。

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_241
export HBASE_CLASSPATH=/usr/local/hbase/conf
export HBASE_MANAGES_ZK=true

第二步,编辑 hbase-site.xml文件,将需要配置的信息写入 configuration标签内。

cd /usr/local/hbase/conf
sudo vim hbase-site.xml

假设当前 Hadoop集群运行在伪分布式模式下,在本机上运行,且NameNode运行在9000端口的情况下。修改 hbase.rootdir,指定 HBase数据在 HDFS上的存储路径;将属性 hbase.cluter.distributed设置为 true。

<configuration><property><name>hbase.rootdir</name><value>hdfs://localhost:9000/hbase</value></property><property><name>hbase.cluster.distributed</name><value>true</value></property>
</configuration>
  • hbase.rootdir指定 HBase的存储目录
  • hbase.cluster.distributed设置集群处于分布式模式

接下来,我们测试伪分布式模式是否配置成功。

  1. 启动 Hadoop伪分布式环境
cd $HADOOP_HOME
./sbin/start-dfs.sh

输入 jps命令,看到 NameNode、DataNode、SecondaryNameNode结点,则 Hadoop启动成功。

  1. 启动 HBase伪分布式环境
cd $HBASE_HOME
./bin/start-hbase.sh

输入 jps命令,看到 HMaster、HRegionServer、HQuorumPeer结点,则 HBase启动成功。

  1. 进入 shell界面
./bin/hbase shell

如果要退出 HBase Shell交互式执行环境,在 HBase Shell的命令提示符后面输入 exit 即可。

  1. 停止 HBase运行
./bin/stop-hbase.sh
  1. 查看 HDFS
cd $HADOOP_HOME
./bin/hdfs dfs -ls /

可以看到,在 HDFS中,自动生成了一个“hbase”目录,用来保存 HBase的数据。

到这一步,HBase伪分布式模式已经配置成功,我们关闭 Hadoop就行了。

注意,操作 Hadoop和 HBase的执行顺序是:启动Hadoop—>启动HBase—>关闭HBase—>关闭Hadoop。

Web访问HBase信息

启动 HBase之后,我们可以通过 Ubuntu的图形界面来查看 HBase的信息,打开 FireFox浏览器,在地址栏输入“localhost:16010”即可查看。

如果是云服务器,请先在云控制台打开修改安全组,开放 16010端口,再通过“localhost : 16010”的形式访问。

注意,在 HBase 0.98.x 以上,,HBase Web UI 的端口已经从主节点的 60010 和 RegionServer 的 60030 变化为 16010 和 16030。

常见问题

1、关闭 HBase和 Hadoop之后,执行 jps命令居然发现 HRegionServer没有关闭。

再次执行关闭 HBase的命令,发现 HRegionServer还是没有关闭。这个原因暂时我也没搞明白。

解决方法有两个:

  1. 单独停止RegionServer
  2. kill进程

因为 HBase中的每个 RegionServer节点可以自由启动或停止,可以不随 HBase整体一起。所以我们可以直接启动或者 RegionServer。

cd $HBASE_HOME
./bin/hbase-daemon.sh stop regionserver RegionServer        //停止regionserver
./bin/hbase-daemon.sh start regionserver RegionServer       //启动regionserver

kill进程的意思很简单,就是直接将进程终结掉。这样 RegionServer也就相当于关掉了。这种方式不是正常的关闭进程的方式,但是简单粗暴效果好。

我们输入 jps命令查看的时候,进程前面的数字就是进程的 pid码。比如上图中 HRegionServer的 pid码是8096。

kill xxxx       //关闭pid为xxxx的进程
kill -9 xxxx    //强制终止并关闭pid为xxxx的进程

2、启动 HBase后,过了十几秒,HMaster自动关闭

在进行 Web访问 HBase时一直显示被拒绝,仔细检查了配置文件也没有任何错误。最后在关闭 HBase时发现找不到 HMaster,重新启动后发现 HMaster过了十几秒就会自动关闭。

对于这种无法找到 HMaster的错误,我们先关闭 HBase,然后在 hbase-site.xml中设置 hbase.unsafe.stream.capability.enforce属性值为 false,这样可以避免启动错误。

接着重新启动 HBase,HMaster就不会自动关闭了。

<property><name>hbase.unsafe.stream.capability.enforce</name><value>false</value>
</property>

参考文章

Ubuntu系统安装Hadoop3.1.3并进行单机/伪分布式配置

Hbase入门(二)——安装与配置

在ECS实例的Ubuntu系统中安装HBase

Hadoop与HBase的最新版本兼容性

hbase 停止regionserver

Ubuntu安装HBase2.2.4并进行单机/伪分布式配置相关推荐

  1. Ubuntu系统安装Hadoop3.1.3并进行单机/伪分布式配置

    Ubuntu系统安装Hadoop3.1.3并进行单机/伪分布式配置 文章目录 Ubuntu系统安装Hadoop3.1.3并进行单机/伪分布式配置 前言 详细流程 创建Hadoop用户 安装Java 配 ...

  2. 大数据-安装 Hadoop3.1.3 详细教程-单机/伪分布式配置(Centos)

    Centos 7 安装 Hadoop3.1.3 详细教程 前言 00 需准备 01 需掌握 一.准备工作 00 环境 01 创建 hadoop 用户 02 修改 hadoop 用户权限 03 切换为 ...

  3. Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04

    给力星 追逐内心的平和 首页 笔记 搜藏 代码 音乐 关于 Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04 2014-08-09 (updated: 2016 ...

  4. Hadoop安装教4程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.0

    Hadoop安装教4程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.0 当开始着手实践 Hadoop 时,安装 Hadoop 往往会成为新手的一道门槛.尽管安装其实很简单,书上有写到 ...

  5. Hadoop3.1.3安装教程_单机/伪分布式配置_Hadoop3.1.3/Ubuntu18.04(16.04)

    厦门大学(林子雨老师)Hadoop3.1.3安装教程_单机/伪分布式配置_Hadoop3.1.3/Ubuntu18.04(16.04)

  6. Ubuntu16.04/Hadoop3.1.3安装教程_单机/伪分布式配置

    Hadoop3.1.3安装教程_单机/伪分布式配置_Hadoop3.1.3/Ubuntu16.04.6 为了方便学习本教程,请读者们利用Linux系统中自带的firefox浏览器打开本指南进行学习. ...

  7. ubuntu 安装java_Hadoop3.1.3安装教程_单机/伪分布式配置

    环境: 本教程使用 Ubuntu 18.04 64位 作为系统环境(或者Ubuntu 14.04,Ubuntu16.04 也行,32位.64位均可),请自行安装系统 装好了 Ubuntu 系统之后,在 ...

  8. Hadoop安装教程_单机/伪分布式配置_CentOS6.4/Hadoop2.6.0

    本 Hadoop 教程由厦门大学数据库实验室出品,转载请注明.本教程适合于在 CentOS 6.x 系统中安装原生 Hadoop 2,适用于Hadoop 2.7.1, Hadoop 2.6.0 等版本 ...

  9. Hadoop2.6.0安装教程_单机/伪分布式配置

    创建hadoop用户 如果你安装 Ubuntu 的时候不是用的 "hadoop" 用户,那么需要增加一个名为 hadoop 的用户. 输入如下命令创建新用户 : sudo user ...

最新文章

  1. Learn OpenGL (十一):光照贴图
  2. Ibatis的类型处理器TypeHandler解析
  3. Android Studio Butter Knife —— 快速开发
  4. mysql concat 日期_mysql group_concat时间用法
  5. Jenkins修改管理员密码.
  6. 同为Chromium浏览器,Edge却被“特别关照”
  7. 简单的Session案例 —— 一次性验证码
  8. Oracle 游标使用大全
  9. 线性代数【14】线性变换 linear transformation
  10. 普林斯顿大学英伟达Facebook提出基于深度神经网络的全动态推理,助力轻量级网络!...
  11. u深度win10pe装机版制作教程
  12. 2021全新整合单机游戏 PC电脑版中文合集系列下载持续更新
  13. web开发设为首页、添加到收藏夹实现方法
  14. 使用Servlet和JSP开发Java应用程序 ---- 豆瓣瓣项目(数据库 + JSP + Servlet)
  15. 关于Gephi的安装的一些问题
  16. 人员离职it检查_员工离职的IT流程
  17. CentOS6.4x84挂载U盘
  18. WebRTC系列-网络传输之IceConfig及stunPing失败处理
  19. 在通用计算机内 PC是指,计算机模拟考试题答案
  20. 联想服务器安装系统蓝屏怎么办,联想笔记本u盘装系统出现蓝屏怎么解决

热门文章

  1. 使用nomad部署mysql
  2. go初学者安装echo框架
  3. java集合:LinkedList
  4. 多线程:线程之间的协作(join、wait、notify、notifyAll、await、signal、signalAll)
  5. C语言 数组传递与值传递讲解
  6. java中io流案例_Java IO流的简单使用 通俗易懂 超详细 【内含案例】
  7. 数据中心液体冷却方案正在兴起的五大原因
  8. 成功解决but is 0 and 2 (computed from start 0 and end 9223372 over shape with rank 2 and stride-1)
  9. Algorithm:C++语言实现之贪心法算法相关问题
  10. DL之Yolov3:基于深度学习Yolov3算法实现视频目标检测之对《俄罗斯总统普京对沙特王储摊的“友好摊手”瞬间—东道主俄罗斯5-0完胜沙特》视频段实时检测