搭建分布式HBase集群

title: 搭建分布式HBase集群
date: 2024-11-28 23:27:00
categories: 
- 服务器
tags:
- HBase
- 大数据

搭建分布式HBase集群

  • 本次实验环境:Centos 7-2009、Hadoop-3.1.4、JDK 8、Zookeeper-3.6.3、Hbase-2.4.11

功能规划

MasterSlave1Slave2
主节点从节点从节点
HRegionServerHRegionServerHRegionServer
192.168.66.6192.168.66.7192.168.66.21

前提

  • 搭建好Hadoop集群以及ZooKeeper集群,并启动

开始安装

1. 安装程序文件

  • 首先上传HBase的文件到服务器上,或直接进行以下的下载行为
# 使用wget命令下载Hbase文件(二选一)
wget -P /tmp/ -c 'https://repo.huaweicloud.com/artifactory/apache-local/hbase/2.4.11/hbase-2.4.11-bin.tar.gz'# 使用curl命令下载Hbase文件(二选一)
curl -C - 'https://repo.huaweicloud.com/artifactory/apache-local/hbase/2.4.11/hbase-2.4.11-bin.tar.gz' -O /tmp/# 解压文件到指定目录tar -zxvf /tmp/hbase-2.4.11-bin.tar.gz -C /opt/module/# 重命名文件夹mv /opt/module/hbase-2.4.11/ /opt/module/hbase

2. 配置用户环境变量

cat >>  ~/.bashrc << "EOF"# ------------------- Hbase 配置--------------------
# 设置HBASE环境变量,指向HBASE安装目录
export HBASE=/opt/module/hbase# 将HBASE的bin目录添加到PATH环境变量
export PATH=$PATH:$HBASE/bin
# -------------------------------------------------
EOF
-----------------------------------------------------------说明举例   export PATH=$HBASE/bin:$PATH英文冒号代表分隔这段代码表示
1. 当你输入一个命令时,shell会首先在"HBASE"这个变量的"bin"子目录中查找,
2. 最后,若找不到,则在"PATH"的指定目录中查找-------------------------------------------------------------

3. 修改hbase配置文件

# 进入Hbase的配置文件目录
cd /opt/module/hbase/conf
3.1 配置hbase使用外部Zookeeper(二选一)
# 将hase-env.sh文件中HBASE_MANAGES_ZK=true修改为HBASE_MANAGES_ZK=false
sed -i 's|# export HBASE_MANAGES_ZK=true|export HBASE_MANAGES_ZK=false|' hbase-env.sh
3.2 配置hbase使用内部zookeeper(二选一)
# 将hase-env.sh文件中HBASE_MANAGES_ZK=true修改为HBASE_MANAGES_ZK=false
sed -i 's|# export HBASE_MANAGES_ZK=true|export HBASE_MANAGES_ZK=true|' hbase-env.sh
3.3 修改hbase-site.xml文件
# 注释原本的标签内容
sed -i '41a <!--' hbase-site.xml
sed -i '54a -->' hbase-site.xml
根据自己节点的信息,修改下面内容的主机名,随后复制粘贴即可
# 一键新增hbase配置
sed -i '55a \
<!-- 指定hbase在hdfs上数据位置 --> \<property> \<name>hbase.rootdir</name> \<value>hdfs://master:8020/hbase</value> \</property> \
<!-- 指定集群的运行模式,ture代表分布式,flase代表单机模式 --> \<property> \<name>hbase.cluster.distributed</name> \<value>true</value> \</property> \
<!-- 指定zookeeper的主机 --> \<property> \<name>hbase.zookeeper.quorum</name> \<value>master,slave1,slave2</value> \</property> \
<!-- 指定Hbase是否检查流功能 --> \<property> \<name>hbase.unsafe.stream.capability.enforce</name> \<value>true</value> \</property>' hbase-site.xml
3.4 修改regionservers文件
  • 这个文件是配置类似于hadoop中的workers
# 清空原本配置
echo "" > regionservers# 根据自己的节点信息修改主机名,随后复制粘贴
cat > regionservers << EOF
master
slave1
slave2
EOF

4. 分发文件

# 同步到slave1机器
scp -r /opt/module/hbase/ slave1:/opt/module/
scp  ~/.bashrc root@slave1:/root# 同步到slave2机器
scp -r /opt/module/hbase/ slave2:/opt/module/
scp  ~/.bashrc root@slave2:/root

5. 环境变量生效

# master节点环境变量生效
source  ~/.bashrc# slave1节点环境变量生效
ssh slave1 'source  ~/.bashrc'# slave2节点环境变量生效
ssh slave2 'source  ~/.bashrc'

安装结束

6. 启动Hbase

$HBASE/bin/start-hbase.sh

7. 查看Hbase进程

  • master会有HMasterHRegionServer的进程

  • slave1会有HRegionServer的进程

  • slave2会有HRegionServer的进程

# 命令
jps

停止Hbase

$HBASE/bin/stop-hbase.sh

参考文档

  1. Hbase2.4.11安装_hbase-2.4.11-bin.tar.gz-CSDN博客

  2. HBase2.4.1全分布式安装(一主二从)保姆级教程-CSDN博客

  3. Hadoop之Hbase安装和配置_hadoop之hbase的安装与配置-CSDN博客

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

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

相关文章

金融分析-Transformer模型(基础理论)

Transformer模型 1.基本原理 transformer的core是注意力机制&#xff0c;其本质就是编码器-解码器。他可以通过多个编码器进行编码&#xff0c;再把编码完的结果输出给解码器进行解码&#xff0c;然后得到最终的output。 1.1编码器 数据在编码器中会经过一个self-attention的…

【一本通】两个数的最小公倍数

【一本通】两个数的最小公倍数 C语言代码C 代码Java代码Python代码 &#x1f490;The Begin&#x1f490;点点关注&#xff0c;收藏不迷路&#x1f490; 输入两个正整数&#xff0c;编程计算两个数的最小公倍数。 输入 两个整数 输出 最小公倍数 样例输入 12 18样例输出 …

理解音频采样率和transformer模型:给Python小白的简单解释

理解音频采样率和transformer模型&#xff1a;给Python小白的简单解释 引言什么是采样率&#xff1f;举个例子有趣的现象Python小实验总结 引言 大家好&#xff01;今天我们来聊一个有趣的话题&#xff1a;音频采样率和AI模型。不要被这些专业术语吓到&#xff0c;我会用最简单…

D 咖智能饮品机器人:开启商业新篇

在科技迅猛发展的当下&#xff0c;智能机器人正逐步渗透到各个商业领域&#xff0c;D 咖智能饮品机器人便是其中的佼佼者&#xff0c;它的出现为饮品行业带来全新的发展契机&#xff0c;有望开启商业新篇。 从大环境来看&#xff0c;消费者对于饮品的需求日益多元化和个性化。他…

35. Three.js案例-创建带阴影的球体与平面

35. Three.js案例-创建带阴影的球体与平面 实现效果 知识点 WebGLRenderer WebGLRenderer 是Three.js中用于渲染场景的主要类之一&#xff0c;它负责将场景中的对象渲染到画布上。 构造器 new THREE.WebGLRenderer(parameters : Object) 参数类型描述parametersObject可选…

Python:利用蒙特卡洛方法求解圆周率

1. 蒙特卡洛方法概述 蒙特卡洛方法是一种以概率统计理论为指导的数值计算方法。它通过随机抽样来求解问题&#xff0c;在许多复杂的数学、物理等领域都有广泛的应用。其基本思想是利用随机数来模拟实验&#xff0c;通过大量重复的实验得到近似的结果。 2. 利用蒙特卡洛方法求…

leetcode212. 单词搜索 II

给定一个 m x n 二维字符网格 board 和一个单词&#xff08;字符串&#xff09;列表 words&#xff0c; 返回所有二维网格上的单词 。 单词必须按照字母顺序&#xff0c;通过 相邻的单元格 内的字母构成&#xff0c;其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一…

容器化技术

文章目录 虚拟化容器容器隔离实现隔离文件 chroot隔离访问 namespace隔离资源 cgroups Dockerkubernetes 虚拟化容器 容器的首要目标是让软件分发部署过程从传统的发布安装包、靠人工部署转变为直接发布已经部署好的、包含整套运行环境的虚拟计划镜像。 一个计算机软件能够给正…

【潜意识Java】javaee中的SpringBoot在Java 开发中的应用与详细分析

目录 一、前言 二、Spring Boot 简介 三、Spring Boot 核心模块 四、Spring Boot 项目实战&#xff1a;构建一个简单的 RESTful API 1. 创建 Spring Boot 项目 2. 配置数据库 3. 创建实体类 4. 创建 JPA 仓库接口 5. 创建服务层 6. 创建控制器层 7. 测试 API 8. 运…

算法刷题Day23:BM60 括号生成

题目链接 描述&#xff1a;给出n对括号&#xff0c;请编写一个函数来生成所有的由n对括号组成的合法组合。 例如&#xff0c;给出n3&#xff0c;解集为&#xff1a; “((()))”, “(()())”, “(())()”, “()()()”, “()(())” 思路&#xff1a; 回溯左子树不断添加‘&#…

SAST静态应用安全测试常见的编码规则

行业优先级难易度标准标准名称数量 军工12易GJB 5369:2005GJB_5369&#xff08;国家军用标准航天型号软件C语言可靠性编程规范&#xff09;138军工行业最早的C语言编码标准&#xff0c;强制性4易GJB 8114:2013GJB_8114&#xff08;国家军用标准C/C语言可靠性编程规范&#xff…

土地档案管理关系[源码+文档]

目录 摘 要 Abstract 1 绪论 1.1 可行性研究编写目的 1.2 项目背景 1.3 土地管理现状 1.4 土地档案管理研究方向 1.5 项目目标 1.6 项目设计原则 1.6.1 实用性原则 1.6.2 经济性原则 1.6.3 合法性原则 2 相关技术介绍 2.1 三层架构的选择 2.2 编程…

使用C语言编写UDP循环接收并打印消息的程序

使用C语言编写UDP循环接收并打印消息的程序 前提条件程序概述伪代码C语言实现编译和运行C改进之自由设定端口注意事项在本文中,我们将展示如何使用C语言编写一个简单的UDP服务器程序,该程序将循环接收来自指定端口的UDP消息,并将接收到的消息打印到控制台。我们将使用POSIX套…

iClient3D for Cesium 实现限高分析

作者&#xff1a;gaogy 1、背景 随着地理信息技术的发展&#xff0c;三维地球技术逐渐成为了许多领域中的核心工具&#xff0c;尤其是在城市规划、环境监测、航空航天以及军事领域。三维地图和场景的应用正在帮助人们更加直观地理解空间数据&#xff0c;提供更高效的决策支持。…

Audiocraft智能音频和音乐生成工具部署及使用

1、概述 Facebook开源了一款名为AudioCraft的AI音频和音乐生成工具。 该工具可以直接从文本描述和参考音乐生成高质量的音频和音乐。AudioCraft包含MusicGen、AudioGen和EnCodec三个模型&#xff0c;分别实现音乐生成、音频生成和自定义音频模型构建。 2、项目地址 https://…

【0368】Postgres内核 清除所有旧的 relcache cache files ( 11 )

上一篇: 【0367】Postgres内核 XLOG record 中 main data 数据是什么 ? ( 10 ) 文章目录 1. 移除 old relcache 缓存文件1.1 删除 init files1.1.1 移除 global 下的 init files1.1.2 扫描 default tablespace1. 移除 old relcache 缓存文件 清除所有旧的 relcache 缓存文…

vulnhub靶场【DriftingBlues】之7

前言 靶机&#xff1a;DriftingBlues-6&#xff0c;IP地址192.168.1.65 攻击&#xff1a;kali&#xff0c;IP地址192.168.1.16 都采用虚拟机&#xff0c;网卡为桥接模式 主机发现 使用arp-scan -l或netdiscover -r 192.168.1.1/24 信息收集 使用nmap扫描端口 SSH服务&…

SCAU期末笔记 - Linux系统应用与开发教程样卷解析(2024版)

我真的不理解奥&#xff0c;为什么会有给样卷不自带解析的&#xff0c;对答案都没得对&#xff0c;故整理一篇 样卷1 一、选择题 1、为了遍历shell脚本调用时传入的参数&#xff0c;需要在shell脚本中使用_____。 A.$#表示参数的个数B.S表示所有参数C.$0表示脚本名D.$1表示…

spring\strust\springboot\isp前后端那些事儿

后端 一. 插入\更新一条数据&#xff08;老&#xff09; Map<String, Object> parameterMap MybatisUtil.initParameterSave("Send_ProjectFrozenLog", sendProjectFrozenLog); commonMapper.insert(parameterMap);parameterMap MybatisUtil.initParameter…

对golang的io型进程进行off-cpu分析

背景&#xff1a; 对于不能占满所有cpu核数的进程&#xff0c;进行on-cpu的分析是没有意义的&#xff0c;因为可能程序大部分时间都处在阻塞状态。 实验例子程序&#xff1a; 以centos8和golang1.23.3为例&#xff0c;测试下面的程序&#xff1a; pprof_netio.go package m…