伪分布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默认只会回滚非检…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...
ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...
tree 树组件大数据卡顿问题优化
问题背景 项目中有用到树组件用来做文件目录,但是由于这个树组件的节点越来越多,导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多,导致的浏览器卡顿,这里很明显就需要用到虚拟列表的技术&…...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...
Fabric V2.5 通用溯源系统——增加图片上传与下载功能
fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...
Git常用命令完全指南:从入门到精通
Git常用命令完全指南:从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...
AI语音助手的Python实现
引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...
上位机开发过程中的设计模式体会(1):工厂方法模式、单例模式和生成器模式
简介 在我的 QT/C 开发工作中,合理运用设计模式极大地提高了代码的可维护性和可扩展性。本文将分享我在实际项目中应用的三种创造型模式:工厂方法模式、单例模式和生成器模式。 1. 工厂模式 (Factory Pattern) 应用场景 在我的 QT 项目中曾经有一个需…...
