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。
相关文章:
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有…...
Mojo的特征与参数(参数化部分)详解
许多语言都具有元编程功能:即编写生成或修改代码的代码。Python 具有动态元编程功能:装饰器、元类等功能。这些功能使 Python 非常灵活且高效,但由于它们是动态的,因此会产生运行时开销。其他语言具有静态或编译时元编程功能,如 C 预处理器宏和 C++ 模板。这些功能可能受到…...
C++数组、vector求最大值最小值及其下标
使用 <algorithm> 头文件来查找数组或向量中最大值、最小值及其索引 #include <iostream> #include <vector> #include <algorithm> // 包含 std::max_element 和 std::min_elementint main() {std::vector<int> vec {3, 1, 4, 2, 5};// 查找最…...
内网安全:多种横向移动方式
1.MMC20.Application远程执行命令 2.ShellWindows远程执行命令 3.ShellBrowserWindow远程执行命令 4.WinRM远程执行命令横向移动 5.使用系统漏洞ms17010横向移动 DCOM: DCOM(分布式组件对象模型)是微软的一系列概念和程序接口。它支持不同…...
搭建 STM32 网关服务器的全流程:集成嵌入式 C++、TCP/IP 通信、Flash 存储及 JWT 认证(含代码示例)
引言 随着物联网(IoT)技术的快速发展,基于 STM32 的服务器(类似网关)在数据采集、设备控制等方面的应用越来越广泛。本文将介绍搭建一个基于 STM32 的服务器所需的技术栈,以及详细的搭建步骤和代码示例。 …...
一款免费强大的电脑锁屏工具,中文绿色免安装
这款软件主要特点是锁屏后不显示密码输入框,直接输入密码即可解锁。 ScreenBlur是一款功能强大的电脑屏幕锁软件,主要用于保护用户的隐私和数据安全。该软件的主要功能包括自动锁屏、隐藏桌面、加密锁机等。 功能特点 自动锁屏:用户可以设…...
Python | Leetcode Python题解之第319题灯泡开关
题目: 题解: class Solution:def bulbSwitch(self, n: int) -> int:return int(sqrt(n 0.5))...
前端Web-JavaScript(上)
要想让网页具备一定的交互效果,具有一定的动作行为,还得通过JavaScript来实现, 这门语言会让我们的页面能够和用户进行交互。 什么是JavaScript JavaScript(简称:JS) 是一门跨平台、面向对象的脚本语言,是…...
【积累】Python的类
类和方法的概念及实例 类 (Class):类是对具有相同属性和方法的对象集合的抽象描述。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。 方法:类中定义的函数。 构造方法 __init__():这是一个特殊的方法,会在类实例…...
Golang | Leetcode Golang题解之第318题最大单词长度乘积
题目: 题解: func maxProduct(words []string) (ans int) {masks : map[int]int{}for _, word : range words {mask : 0for _, ch : range word {mask | 1 << (ch - a)}if len(word) > masks[mask] {masks[mask] len(word)}}for x, lenX : ra…...
【感想】支持八股文在面试的应用
八股文:程序员面试中的利与弊 在现代社会的职场竞争中,尤其是IT行业,面试环节常常成为决定一个人能否入职的重要关卡。在这其中,“八股文”作为一种被广泛应用的考核工具,已经成为面试中不可或缺的一部分。然而&#…...
B - 02-计算球的体积 51Nod - 3266
对于半径为 rr 的球,其体积的计算公式为 V4/3πr3V4/3πr3 ,这里取 π3.14π3.14 。现给定 rr ,求 VV 。 Input 输入为一个不超过 100100 的非负实数,即球半径,类型为 doubledouble 。 Output 输出一个实数&#x…...
Qt pro文件详解
概述 在Qt中,.pro 文件(也称为项目文件)是Qt项目管理系统(qmake)所使用的配置文件。这个文件定义了如何构建你的Qt应用程序或库,其使用简单的键值对语法,允许你指定源文件、头文件、库依赖、配置…...
JavaFX布局-ButtonBar
JavaFX布局-ButtonBar 常用属性buttonOrderpaddingbuttonMinWidth 实现方式Java实现fxml实现 一个特殊的容器,用于创建一组按钮,水平排列按钮太多,会被遮住,不会自动产生滚动条 常用属性 buttonOrder 预制顺序 buttonBar.setBut…...
【C++程序设计】——利用数组处理批量数据(二)
👨💻个人主页:开发者-削好皮的Pineapple! 👨💻 hello 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨💻 本文由 削好皮的Pineapple! 原创 👨Ǵ…...
使用 1panel面板 部署 php网站
代码仓库:https://github.com/talmudmaster/RedCorpus 目录 网站介绍安装步骤1. 准备云服务器2. 准备域名(可跳过)3. 安装1panel面板4. 服务器开放端口5. 进入1panel面板6. 安装并启动软件(服务器和面板开放端口)7. 创…...
Windows调大虚拟内存来代替升级物理运行内存(RAM)真的有用吗?
前言 前段时间有个粉丝突发奇想说:电脑运行内存不足,调大虚拟内存来代替升级物理运行内存(内存条)不就可以了?剩下的大几百块钱吃香的喝辣的不好吗? 嗯。。。直到2024年的今天,估计还有很多小…...
[Unity] ShaderGraph实现DeBuff污染 溶解叠加效果
本篇是在之前的基础上,继续做的功能衍生。 [Unity] ShaderGraph实现Sprite消散及受击变色 完整连连看如下所示:...
java算法day28
java算法day28 300 最长递增子序列136 只出现一次的数字169 多数元素234 回文链表53 最大子数组和 300 最长递增子序列 这个是记忆化搜索的代码。是从递归改过来的。 这题显然是要用dp做比较合适。因为很容易看到原问题与子问题之间的关系。 还是从后往前看。 然后可以利用选…...
vue实现歌词滚动效果
1.结构 <template><div class"lyricScroll"><div class"audio"><audio id"audio" src"./common/周传雄-青花1.mp3" controls></audio></div><div class"container" id"contai…...
IntelliJ Conf:JetBrains Koog Java原生AI Agent框架实战
文章目录前言:Java程序员的"Agent焦虑"终于有解了认识Koog:不是又一个LangChain的Java版环境准备:5分钟让项目跑起来实战:从Hello World到智能客服第一步:定义工具(Tool)第二步&#…...
LangGraph实战:5分钟给你的AI助手装上‘对话记忆’,告别每轮都是新朋友
LangGraph实战:5分钟为AI助手构建对话记忆系统 每次和AI对话都像初次见面?这个问题困扰着许多开发者。想象一下,你告诉助手"我叫Alex",下一句问"你知道我的名字吗?",它却一脸茫然地回答…...
别再硬编码了!Qt QTabBar标签宽度自适应窗体的5种实战方案对比(附完整代码)
Qt QTabBar标签宽度自适应窗体的5种实战方案深度评测 每次看到Qt界面中那些挤在一起或稀疏分布的标签页,总让人想起超市货架上摆放不齐的商品——既影响美观又降低使用效率。作为中级Qt开发者,你一定遇到过这样的困境:当窗体尺寸变化时&#…...
Debian12下Docker国内镜像加速全攻略:以腾讯云为例快速部署WordPress
Debian12下Docker国内镜像加速全攻略:以腾讯云为例快速部署WordPress 在Debian12系统中使用Docker时,国内用户常遇到镜像下载速度慢的问题。本文将详细介绍如何配置国内镜像源加速Docker,并以腾讯云为例,快速部署WordPress环境。…...
Qwen3.5-4B-Claude-Opus推理模型基础教程:Temperature/Top-P参数详解
Qwen3.5-4B-Claude-Opus推理模型基础教程:Temperature/Top-P参数详解 1. 模型概述 Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF是一个基于Qwen3.5-4B的推理蒸馏模型,特别强化了结构化分析、分步骤回答以及代码与逻辑类问题的处理能力。该模型…...
【PAT甲级真题】- Is It a Binary Search Tree (25)
题目来源 Is It a Binary Search Tree (25) 题目描述点击链接自行查看 注意点: 这里的二叉搜索树大于等于插到右边 思路简介 一道二叉树模板题(6202年了应该不会还有人不会写二叉树吧bushi ) 一开始想到前序遍历不可能确定一棵树还以为题目…...
【读书笔记】《逆风跑者》
《逆风跑者》| 长跑人的阿甘正传 如果你也曾困顿过,迷茫过,被生活压得喘不过气来,那么就拉过一把椅子静静地坐一会儿吧。听我说说这位无声跑者的事儿,和他一起不屈不挠地寂静奔跑一次。 📖 关于这本书 《逆风跑者》是…...
OpenClaw备份方案:GLM-4.7-Flash自动化任务容灾保护
OpenClaw备份方案:GLM-4.7-Flash自动化任务容灾保护 1. 为什么需要备份OpenClaw自动化任务 去年冬天,我的硬盘突然崩溃,导致辛苦配置的OpenClaw自动化任务全部丢失。那一刻我才意识到,当AI助手成为日常工作的"数字员工&quo…...
深度学习标量、向量、矩阵与张量(三)
1. 定位导航 线性代数是深度学习最核心的数学工具——没有之一。神经网络的前向传播本质上就是矩阵乘法加非线性激活;反向传播本质上就是链式法则在矩阵/向量上的应用;PCA、SVD、特征分解等工具贯穿从数据预处理到模型分析的全过程。 本篇是最基础的一篇…...
OpenArk:新一代Windows系统安全分析工具完整指南
OpenArk:新一代Windows系统安全分析工具完整指南 【免费下载链接】OpenArk The Next Generation of Anti-Rookit(ARK) tool for Windows. 项目地址: https://gitcode.com/GitHub_Trending/op/OpenArk 如果你正在寻找一款强大的Windows系统安全分析工具&#…...
