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

伪分布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

代码4-2 修改hbase-env.sh

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。

代码4-3 修改hbase-site.xml

//创建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”保存退出。

代码4-4 修改regionservers

hadoop

4.3开启HBase

    (1)启动HBase

      配置文件都已修改完成,开启伪分布式HBase,并使用自带的Zookeeper,验证安装是否成功。首先启动伪分布式Hadoop,然后启动伪分布式HBase,命令如代码4-5所示。“jps”查看进程,发现已有HMaster、HRegionServer、HQuorumPeer进程(HBase有内置的zookeeper),代表HBase启动成功。结果如图4-1所示。

代码4-5 启动HBase

//启动伪分布式hadoop
start-all.sh
//启动hbase命令
start-hbase.sh
//查看进程
jps

图4-1 进程结果

(2)访问HBase自带web配置页

     2.1关闭防火墙

        输入命令“systemctl stop firewalld.service”

     2.2打开浏览器访问HBase自带web配置页

        浏览器输入网址:http://192.168.15.128:16010/

     2.3效果图如下

相关文章:

伪分布HBase的安装与部署

1.实训目标 &#xff08;1&#xff09;熟悉掌握使用在Linux下安装伪分布式HBase。 &#xff08;2&#xff09;熟悉掌握使用在HBase伪分布式下使用自带Zookeeper。 2.实训环境 环境 版本 说明 Windows 10系统 64位 操作电脑配置 VMware 15 用于搭建所需虚拟机Linux系统 …...

Python语言基础与应用-北京大学-陈斌-P40-39-基本扩展模块/上机练习:计时和文件处理-给算法计时-上机代码

Python语言基础与应用-北京大学-陈斌-P40-39-基本扩展模块/上机练习&#xff1a;计时和文件处理-给算法计时-上机代码 上机代码&#xff1a; # 基本扩展模块训练 给算法计时 def factorial(number): # 自定义一个计算阶乘的函数i 1result 1 # 变量 result 用来存储每个数的阶…...

Sqllab第一关通关笔记

知识点&#xff1a; 明白数值注入和字符注入的区别 数值注入&#xff1a;通过数字运算判断&#xff0c;1/0 1/1 字符注入&#xff1a;通过引号进行判断&#xff0c;奇数个和偶数个单引号进行识别 联合查询&#xff1a;union 或者 union all 需要满足字段数一致&…...

【Golang星辰图】图像和多媒体处理的创新之路:Go语言的无限潜能

图像处理、音视频编辑&#xff0c;Go语言不再局限&#xff1a;揭秘opencv和goav的威力 前言: 在当今的数字时代&#xff0c;图像处理和多媒体技术在各个领域中的应用越来越广泛。无论是计算机视觉、图像处理还是音视频处理&#xff0c;选择合适的库和工具至关重要。本文将介绍…...

MES管理系统中电子看板都有哪些类型?

随着工业信息化和智能制造的不断发展&#xff0c;MES管理系统已经成为现代制造业不可或缺的重要工具。MES管理系统通过集成和优化生产过程中的各个环节&#xff0c;实现对生产过程的实时监控、调度和管理&#xff0c;提高生产效率和质量。 在生产制造过程中&#xff0c;看板管…...

【Flutter 面试题】await for 如何使用?

【Flutter 面试题】await for 如何使用&#xff1f; 文章目录 写在前面解答补充说明完整代码示例运行结果详细说明 写在前面 &#x1f64b; 关于我 &#xff0c;小雨青年 &#x1f449; CSDN博客专家&#xff0c;GitChat专栏作者&#xff0c;阿里云社区专家博主&#xff0c;51…...

MongoDB聚合运算符:$dayOfWeek

$dayOfWeek返回日期中“星期”的部分&#xff0c;值的范围1-7&#xff0c;即Sunday~Saturday。 语法 { $dayOfWeek: <dateExpression> }参数说明&#xff1a; <dateExpression>为可被解析为Date、Timestamp或ObjectID的表达式<dateExpression>也可以是一个…...

Visual Studio单步调试中监视窗口变灰的问题

在vs调试中&#xff0c;写了这样一条语句 while((nfread(buf, sizeof(float), N, pf))>0) 然而&#xff0c;在调试中&#xff0c;只要一执行while这条语句&#xff0c;监视窗口中的变量全部变为灰色&#xff0c;不能查看&#xff0c;是程序本身并没有报错&#xff0c;能够继…...

【Selenium】selenium介绍及工作原理

一、Selenium介绍 用于Web应用程序测试的工具&#xff0c;Selenium是开源并且免费的&#xff0c;覆盖IE、Chrome、FireFox、Safari等主流浏览器&#xff0c;通过在不同浏览器中运行自动化测试。支持Java、Python、Net、Perl等编程语言进行自动化测试脚本编写。 官网地址&…...

【2024-完整版】python爬虫 批量查询自己所有CSDN文章的质量分:附整个实现流程

【2024】批量查询CSDN文章质量分 写在最前面一、分析获取步骤二、获取文章列表1. 前期准备2. 获取文章的接口3. 接口测试&#xff08;更新重点&#xff09; 三、查询质量分1. 前期准备2. 获取文章的接口3. 接口测试 四、python代码实现1. 分步实现2. 批量获取文章信息3. 从exce…...

Nuxt3: useFetch使用过程常见一种报错

一、问题描述 先看一段代码&#xff1a; <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);…...

当代计算机语言占比分析

在当今快速发展的科技领域&#xff0c;计算机语言作为程序员的工具之一&#xff0c;扮演着至关重要的角色。随着技术的不断演进&#xff0c;各种编程语言层出不穷&#xff0c;但在实际开发中&#xff0c;哪些计算机语言占据主导地位&#xff1f;本文将对当代计算机语言的占比进…...

基于大模型和向量数据库的 RAG 示例

1 RAG 介绍 RAG是一种先进的自然语言处理方法&#xff0c;它结合了信息检索和文本生成技术&#xff0c;用于提高问答系统、聊天机器人等应用的性能。 2 RAG 的工作流程 文档加载&#xff08;Document Loading&#xff09; 从各种来源加载大量文档数据。这些文档…...

【C语言】比较两个字符串大小,strcmp函数

目录 一&#xff0c;strcmp函数 1&#xff0c;strcmp函数 2&#xff0c;函数头文件&#xff1a; 3&#xff0c;函数原型&#xff1a; 4&#xff0c;返回取值&#xff1a; 二&#xff0c;代码实现 三&#xff0c;小结 一&#xff0c;strcmp函数 1&#xff0c;strcmp函数 …...

深入理解与应用Keepalive机制

目录 引言 一、VRRP协议 &#xff08;一&#xff09;VRRP概述 1.诞生背景 2.基本理论 &#xff08;二&#xff09;VRRP工作原理 &#xff08;三&#xff09;VRRP相关术语 二、keepalive基本理论 &#xff08;一&#xff09;基本性能 &#xff08;二&#xff09;实现原…...

嵌入(embedding)概念

嵌入&#xff08;embedding&#xff09;在数学和相关领域中的确是指将一个数学对象在保持其某些关键性质不变的前提下&#xff0c;注入到一个更大或更高维的空间中。这个过程不仅仅是简单的映射&#xff0c;而是要求注入的对象在新空间中的表现形式能够完整反映原有对象的内在结…...

豆瓣书影音存入Notion

使用Python将图书和影视数据存放入Notion中。 &#x1f5bc;️介绍 环境 Python 3.10 &#xff08;建议 3.11 及以上&#xff09;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&#xff1a; neituijunsir 交流*裙 &#xff0c;内推/实习/校招汇总表格 1、自动驾驶一周资讯 - 李想回应“年终奖有点大”&#xff1b;智界升级为奇瑞独立事业部&#xff1b;小鹏汽车春节累计智驾总里程公布 自动驾驶一周资讯 - 李想回应“年终奖有点大”&…...

spring中事务失效的场景有哪些?

异常捕获处理 在方法中已经将异常捕获处理掉并没有抛出。 事务只有捕捉到了抛出的异常才可以进行处理&#xff0c;如果有异常业务中直接捕获处理掉没有抛出&#xff0c;事务是无法感知到的。 解决&#xff1a;在catch块throw抛出异常。 抛出检查异常 spring默认只会回滚非检…...

Docker 离线安装指南

参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性&#xff0c;不同版本的Docker对内核版本有不同要求。例如&#xff0c;Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本&#xff0c;Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...

conda相比python好处

Conda 作为 Python 的环境和包管理工具&#xff0c;相比原生 Python 生态&#xff08;如 pip 虚拟环境&#xff09;有许多独特优势&#xff0c;尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处&#xff1a; 一、一站式环境管理&#xff1a…...

Linux 文件类型,目录与路径,文件与目录管理

文件类型 后面的字符表示文件类型标志 普通文件&#xff1a;-&#xff08;纯文本文件&#xff0c;二进制文件&#xff0c;数据格式文件&#xff09; 如文本文件、图片、程序文件等。 目录文件&#xff1a;d&#xff08;directory&#xff09; 用来存放其他文件或子目录。 设备…...

【Java学习笔记】Arrays类

Arrays 类 1. 导入包&#xff1a;import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序&#xff08;自然排序和定制排序&#xff09;Arrays.binarySearch()通过二分搜索法进行查找&#xff08;前提&#xff1a;数组是…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现

摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序&#xff0c;以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务&#xff0c;提供稳定高效的数据处理与业务逻辑支持&#xff1b;利用 uniapp 实现跨平台前…...

Matlab | matlab常用命令总结

常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

【python异步多线程】异步多线程爬虫代码示例

claude生成的python多线程、异步代码示例&#xff0c;模拟20个网页的爬取&#xff0c;每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程&#xff1a;允许程序同时执行多个任务&#xff0c;提高IO密集型任务&#xff08;如网络请求&#xff09;的效率…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)

Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败&#xff0c;具体原因是客户端发送了密码认证请求&#xff0c;但Redis服务器未设置密码 1.为Redis设置密码&#xff08;匹配客户端配置&#xff09; 步骤&#xff1a; 1&#xff09;.修…...

基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解

JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用&#xff0c;结合SQLite数据库实现联系人管理功能&#xff0c;并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能&#xff0c;同时可以最小化到系统…...

技术栈RabbitMq的介绍和使用

目录 1. 什么是消息队列&#xff1f;2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...