当前位置: 首页 > news >正文

ubuntu上安装HBase伪分布式-2024年08月04日

ubuntu上安装HBase伪分布式-2024年08月04日

  • 1.HBase介绍
  • 2.HBase与Hadoop的关系
  • 3.安装前言
  • 4.下载及安装
  • 5.单机配置
  • 6.伪分布式配置

1.HBase介绍

HBase是一个开源的非关系型数据库,它基于Google的Bigtable设计,用于支持对大型数据集的实时读写访问。HBase有以下几个特点:高可靠性、高性能、面向列的存储以及可伸缩性。

2.HBase与Hadoop的关系

Hadoop是一个分布式计算框架,用于存储和处理大规模数据集。它包括Hadoop分布式文件系统(hdfs)和MapReduce编程模型,可以在集群中进行数据存储和处理。

HBase可以与Hadoop一起使用,以提供一个完整的数据处理解决方案。Hadoop用于存储和处理大规模数据,而HBase用于实时访问和查询这些数据。在实际应用中,可以将HBase作为Hadoop生态系统的一部分使用,以满足不同的数据处理需求。

3.安装前言

1.要想安装HBase首先你的ubuntu上得安装了Java环境,安装了 Hadoop并且已经配置好了伪分布式模式。
2.安装HBase前先查询你安装的hadoop的版本,然后再去查一下和它匹配的HBase的版本。如果想知道 HBase最新的版本兼容性消息,可以自己去 Apache HBase官网进行查看 Apache HBase官网配置版本要求https://hbase.apache.org/book.html#basic.prerequisites
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
我的hadoop版本是2.10.2,根据上2张表,那我我可以用的hbase就有2.5、2.6、2.3、2.4这几个任选就行,这里再选择国内镜像https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/ ,我选择2.4,主要原因就是时间,选个不要太近又不太远的。
在这里插入图片描述

4.下载及安装

1.使用国内镜像下载
在这里插入图片描述
2.下载下来后是放在主文件夹下的下载文件夹里的
在这里插入图片描述
3.解压命令

sudo tar -zxvf hbase-2.4.18-bin.tar.gz

4.将解压后的文件移动到/usr/local下

sudo mv hbase-2.4.18 /usr/local/

5.重命名hbase-2.4.18为hbase

sudo mv ./hbase-2.4.18 ./hbase 

在这里插入图片描述
6.把文件权限给hadoop账户

sudo chown -R hadoop ./hbase 

7.测试是否能用

/usr/local/hbase/bin/hbase version

在这里插入图片描述

5.单机配置

1.找到自己的 JAVA_HOME的值

echo $JAVA_HOME

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

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

打开后修改JAVA_HOME为自己的变量,并且把#去掉

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

在这里插入图片描述
然后找到export HBASE_MANAGES_ZK=true把前面的#去掉
在这里插入图片描述
3.编辑完成后,使用 source命令使配置生效

source hbase-env.sh

4.编辑配置文件 /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

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

source /etc/profile

6.测试时候安装成功,显示大致如下图即可,单机配置完成

hbase version

在这里插入图片描述

6.伪分布式配置

1.打开 hbase-env.sh文件,

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

找到对应配置,去掉前面的‘#’,并修改为对应路径。

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export HBASE_CLASSPATH=/usr/local/hbase/conf
export HBASE_MANAGES_ZK=true

在这里插入图片描述
执行source /etc/profile,让配置生效

source /etc/profile

2.编辑 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。

        <property><name>hbase.rootdir</name><value>hdfs://localhost:9000/hbase</value></property><property><name>hbase.cluster.distributed</name><value>true</value></property>

在这里插入图片描述
3.接下来,我们测试伪分布式模式是否配置成功。

cd $HADOOP_HOME
./sbin/start-dfs.sh
jps

执行jps后正常应该显示如下图,展示secondarynamenode,namenode,jps.datanode四个节点,但是如果你缺少了datanode,去看下日志,多半是你数据没清除,造成lnitialization failed for Block pool错误,解决方法就是使用./sbin/stop-all.sh命令先停止集群,然后把data目录下的所有内容删除,不知道目录在哪的,打开 hdfs .-site.xml文件中配置的dfs.data.dir目录。删除后,执行./bin/hdfs namenode -format重新格式化NameNode。然后再启动集群,再执行jps,保证4个节点都在才进行下一步。
在这里插入图片描述
4.启动 HBase伪分布式环境

cd $HBASE_HOME
./bin/start-hbase.sh
jps

执行jps后应显示如下图,看到 HMaster、HRegionServer、HQuorumPeer结点,则 HBase启动成功。
在这里插入图片描述
5.停止运行的命令

./bin/stop-hbase.sh

6.查看 HDFS

cd $HADOOP_HOME
./bin/hdfs dfs -ls /

在 HDFS中,多了一个/hbase目录,用来保存 HBase的数据。
在这里插入图片描述
到这一步,HBase伪分布式模式已经配置成功,关闭 Hadoop就行了。
注意,操作 Hadoop和 HBase的执行顺序是:启动Hadoop—>启动HBase—>关闭HBase—>关闭Hadoop。

http://www.lryc.cn/news/414222.html

相关文章:

  • Mojo的特征与参数(参数化部分)详解
  • C++数组、vector求最大值最小值及其下标
  • 内网安全:多种横向移动方式
  • 搭建 STM32 网关服务器的全流程:集成嵌入式 C++、TCP/IP 通信、Flash 存储及 JWT 认证(含代码示例)
  • 一款免费强大的电脑锁屏工具,中文绿色免安装
  • Python | Leetcode Python题解之第319题灯泡开关
  • 前端Web-JavaScript(上)
  • 【积累】Python的类
  • Golang | Leetcode Golang题解之第318题最大单词长度乘积
  • 【感想】支持八股文在面试的应用
  • B - 02-计算球的体积 51Nod - 3266
  • Qt pro文件详解
  • JavaFX布局-ButtonBar
  • 【C++程序设计】——利用数组处理批量数据(二)
  • 使用 1panel面板 部署 php网站
  • Windows调大虚拟内存来代替升级物理运行内存(RAM)真的有用吗?
  • [Unity] ShaderGraph实现DeBuff污染 溶解叠加效果
  • java算法day28
  • vue实现歌词滚动效果
  • 【算法设计题】合并两个非递减有序链表,第1题(C/C++)
  • Vue前端工程
  • 什么是药物临床试验?
  • 编译和汇编的区别
  • C# 设计倒计时器、串口助手开发
  • 图论① dfs | Java | LeetCode 797,Kama 98 邻接表实现(未完成)
  • Mac安装nvm以及配置环境变量
  • AUTOSAR实战教程-使用DET来发现开发错误
  • ZeroMQ(二):请求-响应模式,C和C++。
  • 【虚拟仿真】Unity3D中实现2DUI显示在3D物体旁边
  • 代码随想录 day 29 贪心