HBase集群环境搭建与测试

news2024/11/26 14:29:26

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


个人主页: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

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/940926.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【第四阶段】kotlin语言的List创建与元素获取

1.list创建 val list listOf("jave","kotlin","c","c")2.list集合获取的三种方式 开发过程中尽量使用getOrElse()或者getOrNull&#xff0c;因为他可以防止崩溃取值 package Stage4fun main() {//list 创建val list listOf("jav…

m4s格式转换mp4

先安装 ffmpeg&#xff0c;具体从官网可以查到&#xff0c;https://ffmpeg.org&#xff0c;按流程走。 转换代码如下&#xff0c;可以任意选择格式导出 import subprocess import osdef merge_audio_video(input_audio_path, input_video_path, output_mp4_path):# 构建 FFmpe…

ViT论文Pytorch代码解读

ViT论文代码实现 论文地址&#xff1a;https://arxiv.org/abs/2010.11929 Pytorch代码地址&#xff1a;https://github.com/lucidrains/vit-pytorch ViT结构图 调用代码 import torch from vit_pytorch import ViTdef test():v ViT(image_size 256, patch_size 32, num_cl…

【第四阶段】kotlin语言可变list集合

1.可变list集合 完整写法 var list:MutableList<String> mutableListOf<String>("java","kotlin","c","c") 省略写法 var list mutableListOf("java","kotlin","c","c")fun ma…

CobaltStrike提权

攻击机&#xff1a;Kali Linux 靶 机&#xff1a;Windows 7 一、上线CS 复制命令&#xff0c;在靶机执行上线CS 2.安装插件&#xff0c;获取shell https://github.com/rsmudge/ElevateKit 上线CS 右击shell&#xff0c;选择插件 有七个模块可以利用&#xff0c;可以逐一…

C++实现YOLOP

C实现YOLOP 一、简介 使用OpenCV部署全景驾驶感知网络YOLOP&#xff0c;可同时处理交通目标检测、可驾驶区域分割、车道线检测&#xff0c;三项视觉感知任务&#xff0c;依然是包含C和Python两种版本的程序实现 onnx文件从百度云盘下载&#xff0c;链接&#xff1a;https://…

【AutoLayout案例07-如何通过代码添加约束 Objective-C语言】

一、那么,接下来,我们就给大家介绍一下,如何通过代码,来实现这个AutoLayout 1.咱们之前是不是都是通过,storyboard、来拖、拉、拽、的方式实现的吧 现在给大家介绍一下,如何通过代码,来实现 在继续介绍,如何通过代码,来实现AutoLayout之前呢, 我们先要给大家补充一…

基于Java+SpringBoot+Vue前后端分离疫苗发布和接种预约系统设计和实现

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

前端开发之Element Plus的分页组件el-pagination显示英文转变为中文

前言 在使用element的时候分页提示语句是中文的到了element-plus中式英文的&#xff0c;本文讲解的就是怎样将英文转变为中文 效果图 解决方案 如果你的element-plus版本为2.2.29以下的 import { createApp } from vue import App from ./App.vue import ElementPlus from …

ruoyi-vue-plus 配置邮箱

ruoyi-vue-plus 配置邮箱 &#x1f4d4; 千寻简笔记介绍 千寻简笔记已开源&#xff0c;Gitee与GitHub搜索chihiro-notes&#xff0c;包含笔记源文件.md&#xff0c;以及PDF版本方便阅读&#xff0c;且是用了精美主题&#xff0c;阅读体验更佳&#xff0c;如果文章对你有帮助请…

Java实现根据短连接获取1688商品详情数据,1688淘口令接口,1688API接口封装方法

要通过1688的API获取商品详情数据&#xff0c;您可以使用1688开放平台提供的接口来实现。以下是一种使用Java编程语言实现的示例&#xff0c;展示如何通过1688开放平台API获取商品详情属性数据接口&#xff1a; 首先&#xff0c;确保您已注册成为1688开放平台的开发者&#xf…

网络工程师的尽头是……

大家好&#xff0c;我是许公子。 最近工作挺忙&#xff0c;很久没有给你们输出文章了&#xff0c;抽空和大家唠嗑唠嗑。 前两天&#xff0c;一个实习生问了我这个问题&#xff1a; “网络工程师的尽头是什么&#xff1f;” 我当时一下子&#xff0c;脑子空白了&#xff0c;…

stackoverflow问题

Stack Overflow requires external JavaScript from another domain, which is blocked or failed to load. stackoverflow引用了谷歌中被屏ajax.googleapis.com的jquery.min.js文件。“https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js” 方案1.打开网站…

Viobot算法控制

一.上位机控制 状态反馈在系统反馈出会根据当前系统状态显示。 控制是在操作栏里面的一个选项三个按键。具体的已经在前面一篇基本功能使用及介绍中讲过了。 二.ROS控制 算法的控制我们也整合成了一个ROS msg&#xff0c;具体的msg信息可以查看demo里面的msg包的algo_ctrl.m…

Arduino RGBLED灯 模块学习与使用

Arduino RGBLED灯模块学习与使用 硬件原理制作衍生连接线Mixly程序Arduino程序演示视频 人生如逆旅&#xff0c;我亦是行人。 —— 苏轼江客:时荒 硬件原理 RGBLED灯三个引脚分别控制三个LED灯的亮度&#xff0c;RGB分别是red&#xff0c;green&#xff0c;blue的英文缩写&…

iOS - 资源按需加载 - ODR

一、瘦身技术大图 二、On-Demand Resources 简介 将其保存管理在苹果的服务器&#xff0c;按需使用资源、优化包体积&#xff0c;实现更小的应用程序。ODR 的好处&#xff1a; 应用体积更小&#xff0c;下载更快&#xff0c;提升初次启动速度资源会在后台下载操作系统将会在磁…

《C/C++等级考试(1~8级)历届真题解析》专栏总目录

❤️ 专栏名称&#xff1a;《C/C等级考试&#xff08;1~8级&#xff09;历届真题解析》 &#x1f338; 专栏介绍&#xff1a;中国电子学会《全国青少年软件编程等级考试》C/C编程&#xff08;1~8级&#xff09;历届真题解析。 &#x1f680; 订阅专栏&#xff1a;订阅后可阅读专…

【Linux】进程概念,轻松入门【下篇】

目录 1. 基本概念 2. 常见环境变量 常见环境变量指令 &#xff08;1. PATH &#xff08;2. HOME &#xff08;3. SHELL 3.环境变量的组织形式 &#xff08;1&#xff09;通过代码如何获取环境变量 &#xff08;2&#xff09;普通变量与环境变量的区别 &#xff08;3&…

第十二届中国PMO大会在京成功召开

8月12-13日&#xff0c;由PMO评论主办&#xff0c;以“拥抱变革 展现PMO力量”为主题的第十二届中国PMO大会在京成功召开。全国项目管理标准化技术委员会俞彪秘书长、《项目管理技术》杂志张星明主编莅临大会并致开幕词&#xff0c;53位来自知名企业的PMO实践精英及业内专家做了…

【某大型攻防演练中 QQ 远程代码执行复现】

目录 前言 漏洞概述 复现过程 修复方式 前言 在最近某全国大型攻防演练中&#xff0c;接近尾声爆出了QQ 0day&#xff0c;攻击者使用QQ版本<9.7.13&#xff0c;存在远程命令执行漏洞&#xff0c;对众多靶标系统进行攻击。漏洞爆出后&#xff0c;就做过一次复现。最近活动…