伪分布HBase的安装与部署
1.实训目标
(1)熟悉掌握使用在Linux下安装伪分布式HBase。
(2)熟悉掌握使用在HBase伪分布式下使用自带Zookeeper。
2.实训环境
| 环境 | 版本 | 说明 |
| Windows 10系统 | 64位 | 操作电脑配置 |
| VMware | 15 | 用于搭建所需虚拟机Linux系统 |
| Linux系统 | CentOS 7 | 已配置完成,并命名为hadoop能正常使用 |
| 伪分布式Hadoop | 3.1.4 | 用于HBase伪分布式的配置 |
| 软件 | 版本 | 说明 |
| HBase | 2.5.6 | 最新稳定版本 |
3.实训说明
通过本小节学习,可知HBase内置也有Zookeeper,但为了对HBase的HMaster节点的高可用管理,更好的使用HBase,配置分布式HBase时使用的是外部Zookeeper集群。但如果只是简单的测试,并不需要存储海量数据,使用分布式HBase集群,会造成资源浪费,因此,可以选择使用伪分布式的HBase和HBase内置的Zookeeper以节约资源。请基于HBase 2.5.6版本实现伪分布式的HBase集群搭建。
4.实训步骤
4.1上传HBase安装包并解压
利用FinalShell软件将HBase安装包hbase-2.5.6-bin.tar.gz上传至虚拟机hadoop的/opt目录下。

使用“tar”命令将HBase解压至/usr/local目录下,具体实现如以下代码所示:
tar -zxvf /opt/hbase-2.5.6-bin.tar.gz -C /usr/local/
4.2修改配置文件并设置环境变量
HBase伪分布式安装,需要修改的配置文件有hbase-env.sh、hbase-site.xml、regionservers和/etc/profile。
通过“cd /usr/local/hbase-2.5.6/conf”命令进入HBase的conf目录下。

(1)配置HBase的环境变量
执行“vi /etc/profile”命令,对profile文件修改,添加HBase环境变量,内容如代码4-1所示。
代码4-1 修改profile
#HBASE_HOME
export HBASE_HOME=/usr/local/hbase-2.5.6
export PATH=$PATH:$HBASE_HOME/bin
切换到命令模式,输入命令“:wq”保存退出。执行命令“source /etc/profile”进行刷新。
(2)修改配置文件hbase-env.sh
执行“vi hbase-env.sh”命令,修改配置文件hbase-env.sh,添加内容如代码4-2所示。切换到命令模式,输入命令“:wq”保存退出。
其中HBASE_CLASSPATH设置为Hadoop配置文件的目录,JAVA_HOME设置为JDK的路径,HBASE_MANAGES_ZK设置为ture,使用HBase自带的Zookeeper。
export HBASE_CLASSPATH=/usr/local/hadoop-3.1.4/etc/hadoop
export JAVA_HOME=/usr/local/jdk1.8.0_161
export HBASE_MANAGES_ZK=true
(3)修改配置文件hbase-site.xml
执行命令“mkdir /usr/local/hbase-2.5.6/data”创建data文件夹,存放Zookeeper快照。
执行“vi hbase-site.xml”命令,修改配置文件hbase-site.xml,创建文件夹命令与添加的内容如代码4-3所示。切换到命令模式,输入命令“:wq”保存退出。
其中hbase.rootdir是RegionServer的共享目录,用来持久化HBase,设置为HDFS的地址;hbase.zookeeper.property.dataDir是存放Zookeeper快照的路径,需要提前创建好文件夹;为了避免出现启动时出现无法找到HMaster进程的错误,设置hbase.unsafe.stream.capability.enforce为false。
//创建data文件夹
mkdir /usr/local/hbase-2.5.6/data
//hbase-site.xml配置内容
<configuration><property><name>hbase.rootdir</name>
<value>hdfs://hadoop:8020/hbase</value>
<description>配置HBase的数据存放再HDFS中</description></property><property><name>hbase.zookeeper.property.dataDir</name>
<value>/usr/local/hbase-2.5.6/data/zookeeper</value>
<description>配置存放Zookeeper快照的路径</description></property><property><name>hbase.cluster.distributed</name>
<value>true</value>
<description>开启Hbase的分布式模式</description>
</property>
<property><name>hbase.unsafe.stream.capability.enforce</name><value>false</value>
</property>
</configuration>
(4)修改配置文件regionservers
执行“vi regionservers”命令,修改配置文件regionservers,如代码4-4所示。由于不是安装分布式的HBase集群,所以只需填写hadoop即可。切换到命令模式,输入命令“:wq”保存退出。
hadoop
4.3开启HBase
(1)启动HBase
配置文件都已修改完成,开启伪分布式HBase,并使用自带的Zookeeper,验证安装是否成功。首先启动伪分布式Hadoop,然后启动伪分布式HBase,命令如代码4-5所示。“jps”查看进程,发现已有HMaster、HRegionServer、HQuorumPeer进程(HBase有内置的zookeeper),代表HBase启动成功。结果如图4-1所示。
//启动伪分布式hadoop
start-all.sh
//启动hbase命令
start-hbase.sh
//查看进程
jps

(2)访问HBase自带web配置页
2.1关闭防火墙
输入命令“systemctl stop firewalld.service”
2.2打开浏览器访问HBase自带web配置页
浏览器输入网址:http://192.168.15.128:16010/
2.3效果图如下

相关文章:
伪分布HBase的安装与部署
1.实训目标 (1)熟悉掌握使用在Linux下安装伪分布式HBase。 (2)熟悉掌握使用在HBase伪分布式下使用自带Zookeeper。 2.实训环境 环境 版本 说明 Windows 10系统 64位 操作电脑配置 VMware 15 用于搭建所需虚拟机Linux系统 …...
Python语言基础与应用-北京大学-陈斌-P40-39-基本扩展模块/上机练习:计时和文件处理-给算法计时-上机代码
Python语言基础与应用-北京大学-陈斌-P40-39-基本扩展模块/上机练习:计时和文件处理-给算法计时-上机代码 上机代码: # 基本扩展模块训练 给算法计时 def factorial(number): # 自定义一个计算阶乘的函数i 1result 1 # 变量 result 用来存储每个数的阶…...
Sqllab第一关通关笔记
知识点: 明白数值注入和字符注入的区别 数值注入:通过数字运算判断,1/0 1/1 字符注入:通过引号进行判断,奇数个和偶数个单引号进行识别 联合查询:union 或者 union all 需要满足字段数一致&…...
【Golang星辰图】图像和多媒体处理的创新之路:Go语言的无限潜能
图像处理、音视频编辑,Go语言不再局限:揭秘opencv和goav的威力 前言: 在当今的数字时代,图像处理和多媒体技术在各个领域中的应用越来越广泛。无论是计算机视觉、图像处理还是音视频处理,选择合适的库和工具至关重要。本文将介绍…...
MES管理系统中电子看板都有哪些类型?
随着工业信息化和智能制造的不断发展,MES管理系统已经成为现代制造业不可或缺的重要工具。MES管理系统通过集成和优化生产过程中的各个环节,实现对生产过程的实时监控、调度和管理,提高生产效率和质量。 在生产制造过程中,看板管…...
【Flutter 面试题】await for 如何使用?
【Flutter 面试题】await for 如何使用? 文章目录 写在前面解答补充说明完整代码示例运行结果详细说明 写在前面 🙋 关于我 ,小雨青年 👉 CSDN博客专家,GitChat专栏作者,阿里云社区专家博主,51…...
MongoDB聚合运算符:$dayOfWeek
$dayOfWeek返回日期中“星期”的部分,值的范围1-7,即Sunday~Saturday。 语法 { $dayOfWeek: <dateExpression> }参数说明: <dateExpression>为可被解析为Date、Timestamp或ObjectID的表达式<dateExpression>也可以是一个…...
Visual Studio单步调试中监视窗口变灰的问题
在vs调试中,写了这样一条语句 while((nfread(buf, sizeof(float), N, pf))>0) 然而,在调试中,只要一执行while这条语句,监视窗口中的变量全部变为灰色,不能查看,是程序本身并没有报错,能够继…...
【Selenium】selenium介绍及工作原理
一、Selenium介绍 用于Web应用程序测试的工具,Selenium是开源并且免费的,覆盖IE、Chrome、FireFox、Safari等主流浏览器,通过在不同浏览器中运行自动化测试。支持Java、Python、Net、Perl等编程语言进行自动化测试脚本编写。 官网地址&…...
【2024-完整版】python爬虫 批量查询自己所有CSDN文章的质量分:附整个实现流程
【2024】批量查询CSDN文章质量分 写在最前面一、分析获取步骤二、获取文章列表1. 前期准备2. 获取文章的接口3. 接口测试(更新重点) 三、查询质量分1. 前期准备2. 获取文章的接口3. 接口测试 四、python代码实现1. 分步实现2. 批量获取文章信息3. 从exce…...
Nuxt3: useFetch使用过程常见一种报错
一、问题描述 先看一段代码: <script setup> const fetchData async () > {const { data, error } await useFetch(https://api.publicapis.org/entries);const { data: data2, error: error2 } await useFetch(https://api.publicapis.org/entries);…...
当代计算机语言占比分析
在当今快速发展的科技领域,计算机语言作为程序员的工具之一,扮演着至关重要的角色。随着技术的不断演进,各种编程语言层出不穷,但在实际开发中,哪些计算机语言占据主导地位?本文将对当代计算机语言的占比进…...
基于大模型和向量数据库的 RAG 示例
1 RAG 介绍 RAG是一种先进的自然语言处理方法,它结合了信息检索和文本生成技术,用于提高问答系统、聊天机器人等应用的性能。 2 RAG 的工作流程 文档加载(Document Loading) 从各种来源加载大量文档数据。这些文档…...
【C语言】比较两个字符串大小,strcmp函数
目录 一,strcmp函数 1,strcmp函数 2,函数头文件: 3,函数原型: 4,返回取值: 二,代码实现 三,小结 一,strcmp函数 1,strcmp函数 …...
深入理解与应用Keepalive机制
目录 引言 一、VRRP协议 (一)VRRP概述 1.诞生背景 2.基本理论 (二)VRRP工作原理 (三)VRRP相关术语 二、keepalive基本理论 (一)基本性能 (二)实现原…...
嵌入(embedding)概念
嵌入(embedding)在数学和相关领域中的确是指将一个数学对象在保持其某些关键性质不变的前提下,注入到一个更大或更高维的空间中。这个过程不仅仅是简单的映射,而是要求注入的对象在新空间中的表现形式能够完整反映原有对象的内在结…...
豆瓣书影音存入Notion
使用Python将图书和影视数据存放入Notion中。 🖼️介绍 环境 Python 3.10 (建议 3.11 及以上)Pycharm / Vs Code / Vs Code Studio 项目结构 │ .env │ main.py - 主函数、执行程序 │ new_book.txt - 上一次更新书籍 │ new_video.…...
Lucene 分词 示例代码
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute; import org.apache.lucene.analysis.TokenStream; import org...
2.18 校招 实习 内推 面经
绿*泡*泡VX: neituijunsir 交流*裙 ,内推/实习/校招汇总表格 1、自动驾驶一周资讯 - 李想回应“年终奖有点大”;智界升级为奇瑞独立事业部;小鹏汽车春节累计智驾总里程公布 自动驾驶一周资讯 - 李想回应“年终奖有点大”&…...
spring中事务失效的场景有哪些?
异常捕获处理 在方法中已经将异常捕获处理掉并没有抛出。 事务只有捕捉到了抛出的异常才可以进行处理,如果有异常业务中直接捕获处理掉没有抛出,事务是无法感知到的。 解决:在catch块throw抛出异常。 抛出检查异常 spring默认只会回滚非检…...
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...
R语言AI模型部署方案:精准离线运行详解
R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...
Linux简单的操作
ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...
ffmpeg(四):滤镜命令
FFmpeg 的滤镜命令是用于音视频处理中的强大工具,可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下: ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜: ffmpeg…...
python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...
ArcGIS Pro制作水平横向图例+多级标注
今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...
面向无人机海岸带生态系统监测的语义分割基准数据集
描述:海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而,目前该领域仍面临一个挑战,即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...
GruntJS-前端自动化任务运行器从入门到实战
Grunt 完全指南:从入门到实战 一、Grunt 是什么? Grunt是一个基于 Node.js 的前端自动化任务运行器,主要用于自动化执行项目开发中重复性高的任务,例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...
腾讯云V3签名
想要接入腾讯云的Api,必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口,但总是卡在签名这一步,最后放弃选择SDK,这次终于自己代码实现。 可能腾讯云翻新了接口文档,现在阅读起来,清晰了很多&…...
