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

HBase集群环境搭建与测试

🥇🥇【大数据学习记录篇】-持续更新中~🥇🥇


个人主页:beixi@
本文章收录于专栏(点击传送):【大数据学习】

💓💓持续更新中,感谢各位前辈朋友们支持学习~💓💓

文章目录

    • 1.HBase集群环境介绍
    • 2.搭建环境准备
    • 3.搭建步骤
    • 4.HBase集群环境启动、验证和停止

1.HBase集群环境介绍

HBase集群由多个RegionServer节点和一个或多个HMaster节点组成。HMaster节点负责管理元数据(例如表的位置、分区等),并协调集群中的各个节点。RegionServer节点负责存储和处理数据,并与HMaster节点通信以获取元数据信息。

HBase集群的主要特点包括:

  • 可靠性:HBase采用数据副本和RegionServer读写分离等机制来实现容错和恢复能力,即使部分节点出现故障,集群仍然可用。
  • 高性能:HBase通过将表分割成不同的Region来进行水平扩展,可以处理海量数据并具有很高的读写性能。
  • 数据模型:HBase提供类似于Google的Bigtable的列族存储模型,可以灵活定义列族和列,支持动态添加或删除列族和列。
  • 多版本控制:HBase支持存储多个版本的数据,可以回滚到先前的状态,也可以查询以前的历史值。
    在这里插入图片描述

2.搭建环境准备

本次用到的环境有:
Oracle Linux 7.4
Zookeeper3.4.6集群环境
Hadoop2.7.4集群环境

注:HBase依赖于ZooKeeper来进行分布式协调和管理,因此在搭建启用HBASE之前,需要提前搭建并启动好zookeeper集群环境,zookeeper的搭建和启动可以参考我的上一篇文章:ZooKeeper集群环境搭建

3.搭建步骤

1.启动zookeeper集群环境,zookeeper的搭建和启动可以参考我的上一篇文章:ZooKeeper集群环境搭建

2.解压HBase压缩文件至/opt目录。

tar -zxvf /root/experiment/file/hbase-1.2.6-bin.tar.gz -C /opt

在这里插入图片描述

3.修改解压后文件夹的名字为hbase。

cd /opt
mv /opt/hbase-1.2.6 /opt/hbase

在这里插入图片描述

4.查找Java安装路径

echo $JAVA_HOME

在这里插入图片描述

5.配置hbase-env.sh文件

vim /opt/hbase/conf/hbase-env.sh

在这里插入图片描述

6.按键:set nu回车设置行号,部分截图如下
在这里插入图片描述

7.按键27gg,光标定位到27行,部分截图如下
在这里插入图片描述

8.按键 i ,更改代码如下:

export JAVA_HOME=/usr/lib/java-1.8

在这里插入图片描述

9.按键Esc,按键128gg,光标定位到128行,部分截图如下
在这里插入图片描述

10.按键 i ,设置HBase使用外部独立Zookeeper集群,更改代码如下:

export HBASE_MANAGES_ZK=false

在这里插入图片描述

11.按键Esc,按键”:wq!”保存退出。
12.配置hbase-site.xml文件

vim /opt/hbase/conf/hbase-site.xml

在这里插入图片描述

13.按键:set nu回车设置行号,部分截图如下
在这里插入图片描述

14.按键24gg,光标定位到24行,部分截图如下
在这里插入图片描述

15.按键 i ,在标签之间填加代码如下:

<property><name>hbase.zookeeper.quorum</name><value>master,slave1,slave2</value>
</property>
<property><name>hbase.zookeeper.property.dataDir</name><value>/root/hbase</value>
</property>
<property><name>dfs.datanode.max.transfer.threads</name><value>4096</value>
</property>
<property><name>hbase.rootdir</name><value>hdfs://master:8020/hbase</value>
</property>
<property><name>hbase.cluster.distributed</name><value>true</value>
</property>

在这里插入图片描述

16.按键Esc,按键”:wq!”保存退出。
17.配置regionservers文件

vim /opt/hbase/conf/regionservers

在这里插入图片描述

18.按键dd,删除第一行“localhost”,截图如下
在这里插入图片描述

19.按键 i ,填加代码如下:

slave1
slave2

在这里插入图片描述

按键Esc,按键”:wq!”保存退出。
20.配置hbase环境变量

vim ~/.bashrc

在这里插入图片描述

21.按键“shift+g”组合键,达到页面底部。
22.按键 i ,填加代码如下:

export HBASE_HOME=/opt/hbase
export PATH=$PATH:$HBASE_HOME/bin

在这里插入图片描述

23.按键Esc,按键”:wq!”保存退出。
24.刷新配置文件,使新加Hbase环境变量生效。

source ~/.bashrc

在这里插入图片描述

25.拷贝master主机“.bashrc”文件到slave1、slave2从机“~”下。

scp ~/.bashrc slave1:~/
scp ~/.bashrc slave2:~/

在这里插入图片描述

26.拷贝配置好的hbase文件夹到slave1、slave2从机“/opt”下。

scp -r /opt/hbase slave1:/opt

在这里插入图片描述

scp -r /opt/hbase slave2:/opt

在这里插入图片描述

27.切换至“从节点1”机器,双击桌面“Xfce终端”图标打开命令窗口。刷新配置文件,使新加Hbase环境变量生效,退回master主机。

ssh slave1
source ~/.bashrc
exit

在这里插入图片描述

28.切换至“从节点2”机器,双击桌面“Xfce终端”图标打开命令窗口。刷新配置文件,使新加Hbase环境变量生效,退回master主机。

ssh slave2
source ~/.bashrc
exit

在这里插入图片描述

4.HBase集群环境启动、验证和停止

1.切换至“主节点”,双击桌面“Xfce终端”图标打开命令窗口,启动Hadoop。

start-all.sh

在这里插入图片描述

2.启动HBase。

start-hbase.sh

在这里插入图片描述

3.查看守护进程。其中HMaster为HBase的守护进程。

jps

在这里插入图片描述

4.切换至“从节点1”,查看守护进程。其中HRegionServer为HBase的守护进程。

ssh slave1
jps
exit

在这里插入图片描述

5.切换至“从节点2”,查看守护进程。其中HRegionServer为HBase的守护进程。

ssh slave2
jps
exit

在这里插入图片描述

6.切换至“主节点”,查看HDFS平台上Hbase。

hdfs dfs -lsr /hbase

在这里插入图片描述

7.启动HBase-shell。

hbase shell

在这里插入图片描述

8.HBase下建立带有一个列族family1的表table1。

create 'table1','family1'

在这里插入图片描述

9.向表table1中列族family1下建立列为column1,并向列中播入数据value-1。

put 'table1','myrow-1','family1:column1','value-1'

在这里插入图片描述

10.查询表table1中内容。

scan 'table1'

在这里插入图片描述

11.删除表。

disable 'table1'
drop 'table1'

12.退出HBase shell。

quit

在这里插入图片描述

13.停止Hbase进程。注意:这里速度有点慢,可能需要稍等几分钟。

stop-hbase.sh

在这里插入图片描述

14.停止Hadoop进程。

stop-all.sh

在这里插入图片描述

15.停止“主节点”,即master机上的zookeeper进程。

zkServer.sh stop

在这里插入图片描述

16.停止“从节点1”,即slave1机上的zookeeper进程。

ssh slave1
zkServer.sh stop
exit

在这里插入图片描述

17.停止“从节点2”,即slave2机上的zookeeper进程。

ssh slave2

在这里插入图片描述

zkServer.sh stop

在这里插入图片描述

相关文章:

HBase集群环境搭建与测试

&#x1f947;&#x1f947;【大数据学习记录篇】-持续更新中~&#x1f947;&#x1f947; 个人主页&#xff1a;beixi 本文章收录于专栏&#xff08;点击传送&#xff09;&#xff1a;【大数据学习】 &#x1f493;&#x1f493;持续更新中&#xff0c;感谢各位前辈朋友们支持…...

【iOS】Masonry的基本使用

文章目录 前言一、使用Masonry的原因二、约束的常识三、Masonry的简单使用四、Masonry的用例总结 前言 暑假安装了cocoapods&#xff0c;简单使用其调用了SVGKit&#xff0c;但是没有学习Masonry&#xff0c;特此总结博客记录Masonry的学习 一、使用Masonry的原因 Masonry是一…...

浅析SAS协议:链路层

文章目录 概述原语通用原语连接管理原语连接通信原语 地址帧IDENTIFY地址帧OPEN地址帧 链路复位Link ResetHard ResetSATA的Link Reset 连接管理建立连接连接仲裁 流量控制SSP流控Credit Advance SMP流控 相关参考 概述 SAS链路层用于定义原语、地址帧以及连接相关的内容&…...

ES6之浅尝辄止1:class的用法

class是es6新增的一种语法糖&#xff0c;用于简化js中构造类的过程 1.es5中如何构造类&#xff1f; function Person(name,age){this.name name;this.age age; } Person.prototype.sayName function(){return this.name; } let p1 new Person(小明,22);2.es6中的class方式…...

django-发送邮件

一、业务场景 业务警告 邮箱验证 密码找回 二、邮件相关协议 1.SMYTP&#xff08;简答邮件传输协议 25端口&#xff09; 属于“推送”协议 负责发送 2.IMAP&#xff08;交互式邮件访问协议&#xff0c;应用层协议&#xff0c;143端口&#xff09; 用于从本地邮件客户端…...

IP私域系统搭建课,视频号打通你的个人ip私域

标题&#xff1a;搭建IP私域系统课程&#xff1a;打通视频号&#xff0c;打造个人IP私域的关键策略 导语&#xff1a; 在当今信息爆炸的时代&#xff0c;个人IP&#xff08;知识产权&#xff09;的价值越来越受到重视。搭建IP私域系统通过打通视频号&#xff0c;成为了打造个人…...

咸虾米之一些快捷方式的操作,一行方块的左右滑动,方块在一区域内的任意移动

由于本着只学习微信小程序的目的&#xff0c;上面的几篇博文都是跟着黑马程序的课程走的&#xff01;后面的就讲解uni-app的实验呢&#xff01;一个人的精力是有限的&#xff0c;于是换了们课程继续深造微信小程序&#xff01;&#xff01;&#xff01; 以下是在 .wxml中的一些…...

Linux 高级指令

十个常用高级Linux指令、其具体用法和示例&#xff1a; 1.grep&#xff1a;用于搜索指定文本内容&#xff0c;可以通过正则表达式匹配搜索。 用法示例&#xff1a;在当前目录下搜索包含关键词“hello”的文件并列出文件名&#xff1a; grep -r "hello" 2.find&a…...

江苏移动基于OceanBase稳步创新推进核心数据库分布式升级

*本文首发自《中国电信业》 数字经济时代&#xff0c;数据库作为企业核心数据存储、处理、挖潜等方面的关键载体&#xff0c;重要性日益凸显。对于运营商而言&#xff0c;数据库具有行业用户数量多、访问数量多、业务复杂度高、数据安全性高、响应要求性高以及需要 7*24 小时服…...

6. 删除顺序表中的重复元素

p17 6. 删除顺序表中的重复元素 #include<stdio.h> #include<stdlib.h> #define MaxSize 100 typedef struct {int* data;int capacity;int length; }SeqList;int InitList(SeqList &L) {L.data (int*)malloc(MaxSize * sizeof(int));L.capacity MaxSize;L.l…...

Vue——axios的二次封装

文章目录 一、请求和传递参数1、get 请求2、post 请求3、axios 请求配置 二、axios 的二次封装1、配置拦截器2、发送请求 三、API 的解耦1、配置文件对应的请求2、获取请求的数据 四、总结 一、请求和传递参数 在 Vue 中&#xff0c;发送请求一般在 created 钩子中&#xff0c…...

JavaScript Web APIs -03 事件流、事件委托、其他事件(加载、滚动、尺寸)

Web APIs - 03 文章目录 Web APIs - 03事件流捕获和冒泡阻止冒泡 事件委托其他事件页面加载事件元素滚动事件页面尺寸事件 元素尺寸与位置 进一步学习 事件进阶&#xff0c;实现更多交互的网页特效&#xff0c;结合事件流的特征优化事件执行的效率 掌握阻止事件冒泡的方法理解事…...

QT DAY 2

window.cpp #include "window.h" #include<QDebug> #include<QIcon> Window::Window(QWidget *parent) //构造函数的定义: QWidget(parent) //显性调用父类的构造函数 {//this->resize(430,330);this->resize(QSize(800,600));// this…...

ELK安装、部署、调试(三)zookeeper安装,配置

1.准备 java安装&#xff0c;系统自带即可 2.下载zookeeper zookeeper.apache.org上可以下载 tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz -C /usr/local mv apache-zookeeper-3.7.1-bin zookeeper 3.配置zookeeper mv zoo_sample.cfg zoo.cfg /usr/local/zookeeper/con…...

企业级智能PDF及文档处理SDK GdPicture.NET 14.2 Crack

企业级智能PDF及文档处理SDK GdPicture.NET 提供了一组非常先进的 API&#xff0c;这些 API 利用了人工智能、机器学习和模糊逻辑算法等尖端技术。经过超过 15 年的持续研究和对创新的专注&#xff0c;我们的 SDK 已成为市场上针对PDF、OCR、条形码、文档成像和各种格式最全面的…...

应用程序管理工具

应用程序管理是 DevOps 的重要组成部分。它可以定义为在所有阶段监控和管理软件应用程序的可用性、运行状况、性能和功能的过程&#xff0c;包括规划、设计、构建、测试、部署、维护和更新。这意味着应用程序从概念到停止都受到监控。 应用程序管理的重要性 管理应用程序可确…...

当数据集较小时,调节学习率的方法

当数据集较小时&#xff0c;调节学习率的方法 当数据集较小时&#xff0c;调节学习率的方法可以参考以下步骤&#xff1a; 当数据集较小时&#xff0c;调节学习率的方法可以参考以下步骤&#xff1a; 先尝试一个较小的学习率&#xff0c;如0.001&#xff0c;或者根据经验设置一…...

JS实现数组的扁平化(ES6实现)----例子+难点解析

要求&#xff1a; 取出嵌套数组(多维)中的所有元素放到一个新数组(一维)中如: [1, [3, [2, 4]]] > [1, 3, 2, 4] 基础知识&#xff1a; arr.concat() 语法&#xff1a;数组.concat(其他数组) 作用&#xff1a;将其他数组和数组拼接在一起 返回值&#xff1a;拼接好的新数…...

git 提交错误,回滚到某一个版本

git log 查看版本号 commit 后面跟的就是版本号git reset --hard 版本号 &#xff08;就可以回滚到你要去的版本&#xff09;git push -f &#xff08;因为本地回滚了&#xff0c;所以和远程会差几个版本。所以这时候只有强制推送&#xff0c;覆盖远程才可以&#xff09;...

数据结构:八种数据结构大全

数据结构 1.1 数据结构概述 数据结构是计算机存储、组织数据的方式&#xff1b;通常情况下&#xff0c;精心选择的数据结构可以带来更高的运行或者存储效率。数据结构的优良将直接影响着我们程序的性能&#xff1b;常用的数据结构有&#xff1a;数组&#xff08;Array&#xff…...

【WiFi帧结构】

文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成&#xff1a;MAC头部frame bodyFCS&#xff0c;其中MAC是固定格式的&#xff0c;frame body是可变长度。 MAC头部有frame control&#xff0c;duration&#xff0c;address1&#xff0c;address2&#xff0c;addre…...

基于Flask实现的医疗保险欺诈识别监测模型

基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施&#xff0c;由雇主和个人按一定比例缴纳保险费&#xff0c;建立社会医疗保险基金&#xff0c;支付雇员医疗费用的一种医疗保险制度&#xff0c; 它是促进社会文明和进步的…...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版&#xff01;&#xff01;&#xff01;6.8截至答题&#xff0c;大家注意呀&#xff01; 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:&#xff08; B &#xff09; A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)

一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解&#xff0c;适合用作学习或写简历项目背景说明。 &#x1f9e0; 一、概念简介&#xff1a;Solidity 合约开发 Solidity 是一种专门为 以太坊&#xff08;Ethereum&#xff09;平台编写智能合约的高级编…...

LLM基础1_语言模型如何处理文本

基于GitHub项目&#xff1a;https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken&#xff1a;OpenAI开发的专业"分词器" torch&#xff1a;Facebook开发的强力计算引擎&#xff0c;相当于超级计算器 理解词嵌入&#xff1a;给词语画"…...

安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)

船舶制造装配管理现状&#xff1a;装配工作依赖人工经验&#xff0c;装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书&#xff0c;但在实际执行中&#xff0c;工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...

Mysql8 忘记密码重置,以及问题解决

1.使用免密登录 找到配置MySQL文件&#xff0c;我的文件路径是/etc/mysql/my.cnf&#xff0c;有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...

淘宝扭蛋机小程序系统开发:打造互动性强的购物平台

淘宝扭蛋机小程序系统的开发&#xff0c;旨在打造一个互动性强的购物平台&#xff0c;让用户在购物的同时&#xff0c;能够享受到更多的乐趣和惊喜。 淘宝扭蛋机小程序系统拥有丰富的互动功能。用户可以通过虚拟摇杆操作扭蛋机&#xff0c;实现旋转、抽拉等动作&#xff0c;增…...

Ubuntu系统多网卡多相机IP设置方法

目录 1、硬件情况 2、如何设置网卡和相机IP 2.1 万兆网卡连接交换机&#xff0c;交换机再连相机 2.1.1 网卡设置 2.1.2 相机设置 2.3 万兆网卡直连相机 1、硬件情况 2个网卡n个相机 电脑系统信息&#xff0c;系统版本&#xff1a;Ubuntu22.04.5 LTS&#xff1b;内核版本…...

STL 2迭代器

文章目录 1.迭代器2.输入迭代器3.输出迭代器1.插入迭代器 4.前向迭代器5.双向迭代器6.随机访问迭代器7.不同容器返回的迭代器类型1.输入 / 输出迭代器2.前向迭代器3.双向迭代器4.随机访问迭代器5.特殊迭代器适配器6.为什么 unordered_set 只提供前向迭代器&#xff1f; 1.迭代器…...