开发者社区> java厂长> 正文

Linux/Hbase2.2.2安装教程_单机/伪分布式配置

简介: Linux/Hbase2.2.2安装教程_单机/伪分布式配置
+关注继续查看

安装并配置HBase2.2.2

❤️‍ 大家好,我是java厂长,今天带你们了解配置Hbase!❤️‍

文章目录

在安装HBase之前,请确保你的电脑已经安装了Hadoop3.1.3,由于HBase对Hadoop具有版本依赖性,所以,在安装HBase2.2.2时,一定要首先安装Hadoop3.1.3(查看安装方法)。

1. HBase2.2.2安装

点击下面的地址下载HBase2.2.2安装文件HBase官网下载地址

也可以直接点击这里从百度云盘下载软件(提取码:5few)。进入百度网盘后,进入“软件”目录,找到hbase-2.2.2-bin.tar.gz文件,下载到本地。

1.1 解压安装包hbase-2.2.2-bin.tar.gz至路径 /usr/local

命令如下:

cd ~
sudo tar -zxf ~/下载/hbase-2.2.2-bin.tar.gz -C /usr/local

image.png

1.2 将解压的文件名hbase-2.2.2改为hbase,以方便使用

命令如下:

cd /usr/local
sudo mv ./hbase-2.2.2 ./hbase

image.png

下面把hbase目录权限赋予给hadoop用户:

cd /usr/local
sudo chown -R hadoop ./hbase

image.png

1.3 配置环境变量

将hbase下的bin目录添加到path中,这样,启动hbase就无需到/usr/local/hbase目录下,大大的方便了hbase的使用。教程下面的部分还是切换到了/usr/local/hbase目录操作,有助于初学者理解运行过程,熟练之后可以不必切换。

编辑~/.bashrc文件

vim /etc/profile

如果没有引入过PATH请在/etc/profile文件尾行添加如下内容:Shift+g(快速定位末尾)

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

image.png

配置完成后按下Esc—》输入:wq进行保存

编辑完成后,再执行source命令使上述配置在当前终端立即生效,命令如下:

source /etc/profile

扩展阅读: 设置Linux环境变量的方法和区别

1.4 添加HBase权限

cd /usr/local
sudo chown -R hadoop ./hbase       #将hbase下的所有文件的所有者改为hadoop,hadoop是当前用户的用户名。

1.5 查看HBase版本,确定hbase安装成功,命令如下:

/usr/local/hbase/bin/hbase version

image.png

看到输出版本消息表示HBase已经安装成功,接下来将分别进行HBase单机模式和伪分布式模式的配置。

2. HBase配置

HBase有三种运行模式,单机模式、伪分布式模式、分布式模式。作为学习,我们重点讨论单机模式和伪分布式模式。

以下先决条件很重要,比如没有配置JAVA_HOME环境变量,就会报错。

– jdk

– Hadoop( 单机模式不需要,伪分布式模式和分布式模式需要)

– SSH

以上三者如果没有安装,请回到Hadoop3.1.3的安装参考如何安装。

2.1单机模式配置

  1. 配置/usr/local/hbase/conf/hbase-env.sh 。配置JAVA环境变量,并添加配置HBASE_MANAGES_ZK为true,用vi命令打开并编辑hbase-env.sh,命令如下:
vim /usr/local/hbase/conf/hbase-env.sh

配置JAVA环境变量。如果你之前已经按照本网站Hadoop安装教程安装Hadoop3.1.3,则已经安装了JDK1.8。JDK的安装目录是/usr/local/src/jdk/jdk1.8.0_162, 则JAVA _HOME =/usr/local/src/jdk/jdk1.8.0_162;配置HBASE_MANAGES_ZK为true,表示由hbase自己管理zookeeper,不需要单独的zookeeper。hbase-env.sh中本来就存在这些变量的配置,大家只需要删除前面的#并修改配置内容即可(#代表注释):

export JAVA_HOME=/usr/local/src/jdk/jdk1.8.0_162
export HBASE_MANAGES_ZK=true 

image.png

添加完成后保存退出即可。

  1. 配置/usr/local/hbase/conf/hbase-site.xml
    打开并编辑hbase-site.xml,命令如下:
vim /usr/local/hbase/conf/hbase-site.xml

在启动HBase前需要设置属性hbase.rootdir,用于指定HBase数据的存储位置,因为如果不设置的话,hbase.rootdir默认为/tmp/hbase-${user.name},这意味着每次重启系统都会丢失数据。此处设置为HBase安装目录下的hbase-tmp文件夹即(/usr/local/hbase/hbase-tmp),添加配置如下:

<configuration>
        <property>
                <name>hbase.rootdir</name>
                <value>file:///usr/local/hbase/hbase-tmp</value>
        </property>
</configuration>

image.png

  1. 接下来测试运行。首先切换目录至HBase安装目录/usr/local/hbase;再启动HBase。命令如下:
cd /usr/local/hbase
bin/start-hbase.sh
bin/hbase shell

上述三条命令中,sudo bin/start-hbase.sh用于启动HBase,bin/hbase shell用于打开shell命令行模式,用户可以通过输入shell命令操作HBase数据库。

成功启动HBase,截图如下:

image.png

image.png

停止HBase运行,命令如下:

bin/stop-hbase.sh

注意:如果在操作HBase的过程中发生错误,可以通过{HBASE_HOME}目录(/usr/local/hbase)下的logs子目录中的日志文件查看错误原因。

2.2 伪分布式模式配置

  1. 配置/usr/local/hbase/conf/hbase-env.sh。命令如下:
vim /usr/local/hbase/conf/hbase-env.sh

配置JAVA_HOME,HBASE_CLASSPATH,HBASE_MANAGES_ZK.

HBASE_CLASSPATH设置为本机HBase安装目录下的conf目录(即/usr/local/hbase/conf)

export JAVA_HOME=/usr/local/src/jdk/jdk1.8.0_162
export HBASE_CLASSPATH=/usr/local/hbase/conf 
export HBASE_MANAGES_ZK=true
  1. 配置/usr/local/hbase/conf/hbase-site.xml
    用命令vi打开并编辑hbase-site.xml,命令如下:
vim /usr/local/hbase/conf/hbase-site.xml

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

<configuration>
    <property>
            <name>hbase.rootdir</name>
            <value>hdfs://localhost:9000/hbase</value>
        </property>
        <property>
            <name>hbase.cluster.distributed</name>
            <value>true</value>
        </property>
        <property>
        <name>hbase.unsafe.stream.capability.enforce</name>
        <value>false</value>
    </property>
</configuration>

image.png

base.rootdir—指定HBase的存储目录

hbase.cluster.distributed—设置集群处于分布式模式.

另外,上面配置文件中,hbase.unsafe.stream.capability.enforce这个属性的设置,是为了避免出现启动错误。也就是说,如果没有设置hbase.unsafe.stream.capability.enforce为false,那么,在启动HBase以后,会出现无法找到HMaster进程的错误,启动后查看系统启动日志(/usr/local/hbase/logs/hbase-hadoop-master-ubuntu.log),会发现如下错误:

2021-11-4 17:47:56,916 ERROR [master/localhost:16000:becomeActiveMaster] master.HMaster: Failed to become active master
java.lang.IllegalStateException: The procedure WAL relies on the ability to hsync for proper operation during component failures, but the underlying filesystem does not support doing so. Please check the config value of 'hbase.procedure.store.wal.use.hsync' to set the desired level of robustness and ensure the config value of 'hbase.wal.dir' points to a FileSystem mount that can provide it.
  1. 接下来测试运行HBase。

第一步:首先登陆ssh,之前设置了无密码登陆,因此这里不需要密码;再切换目录至/usr/local/hadoop ;再启动hadoop,如果已经启动hadoop请跳过此步骤。命令如下:

ssh localhost
cd /usr/local/src/hadoop/hadoop
./sbin/start-dfs.sh

image.png

image.png

第二步:切换目录至/usr/local/hbase;再启动HBase.命令如下:

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

启动成功,输入命令jps,看到以下界面说明hbase启动成功image.png

第三步:进入shell界面:

bin/hbase shell

image.png

第四步:停止HBase运行,命令如下:

bin/stop-hbase.sh

注意:如果在操作HBase的过程中发生错误,可以通过{HBASE_HOME}目录(/usr/local/hbase)下的logs子目录中的日志文件查看错误原因。

这里启动关闭Hadoop和HBase的顺序一定是:

启动Hadoop—>启动HBase—>关闭HBase—>关闭Hadoop


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云Linux服务器安装JDK运行环境教程
今天先跟大家聊聊最基本的jdk运行环境部署安装,后续再跟大家分享一些更加复杂的项目环境部署,比如oracle数据库安装、redis非关系型数据库安装、以及项目的部署等等,闲话也不说,接下来我们来看要怎样操作吧!
2946 0
Webpack 2 视频教程 002 - NodeJS 安装与配置
原文发表于我的技术博客 这是我免费发布的高质量超清「Webpack 2 视频教程」。 Webpack 作为目前前端开发必备的框架,Webpack 发布了 2.0 版本,此视频就是基于 2.0 的版本讲解的。
1010 0
hadoop伪分布式安装部署HIVE
应用场景 当我们按照hadoop伪分布式集群搭建博客搭建了hadoop以后,发现这是一个空的hadoop,只有YARN,MapReduce,HDFS,而这些实际上我们一般不会直接使用,而是需要另外部署Hadoop的其他组件,来辅助使用。
1393 0
Hadoop2.7.3+Hbase-1.2.6完全分布式安装部署
因为学习,在网上找了很多hbase搭建的文章,感觉这篇很好,点此 搭建好后,jps查看了后台进程,发现在slave上面没有HRegionServer进程 便查看了 slave上关于HRegionServer的日志,发现报错 如下 然后网上查了一下,说是时间不同步的问题,自己使用date命令查看了一...
755 0
Thrift教程初级篇——thrift安装环境变量配置第一个实例
前言:                     因为项目需要跨语言,c++客户端,web服务端,远程调用等需求,所以用到了RPC框架Thrift,刚开始有点虚,第一次接触RPC框架,后来没想到Thrift开发方便上手快,而且性能和稳定性也不错,项目也顺利完成。
1418 0
Hadoop完全分布式安装Hive
应用场景 当我们按照hadoop完全分布式集群搭建博客搭建了hadoop以后,发现这是一个空的hadoop,只有YARN,MapReduce,HDFS,而这些实际上我们一般不会直接使用,而是需要另外部署Hadoop的其他组件,来辅助使用。
1200 0
Node.js 教程 01 - 简介、安装及配置
系列目录: Node.js 教程 01 - 简介、安装及配置 Node.js 教程 02 - 经典的Hello World Node.js 教程 03 - 创建HTTP服务器 Node.js 教程 04 - 模块系统 Node.js 教程 05 - EventEmitter(事件监听/发射器) Node.js 教程 06 - 函数     ▁▃▅ Node.js 教程 01 - 简介、安装及配置 ▅▃▁       简单的说 Node.js 就是运行在服务端的 JavaScript。
1290 0
Hadoop伪分布式安装Spark
应用场景 搭建部署了hadoop环境后,使用MapReduce来进行计算,速度非常慢,因为MapReduce只是分布式批量计算,用于跑批的场景,并不追求速率,因为它需要频繁读写HDFS,并不能实时反馈结果,这种跑批的场景用的还是比较少的。
1439 0
+关注
java厂长
JAVA领域优质创作者🥇、一名在校大三学生🎓、在校期间参加各种省赛、国赛,斩获一系列荣誉🏆。
68
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载