HBase集群搭建记录

2023-11-08

写在前面

本系列文章索引以及一些默认好的条件在 传送门

默认使用master节点并用root用户登录终端进行操作
文章难免会有点小bug,如果有显而易见的错误,比如没有创建文件夹时就已经开始在该文件夹下操作,还请读者自行创建~

step1 下载并解压HBase

官网下载地址
博主因为课程需要以及版本问题,下载的版本为2.0.5
请注意版本兼容性问题,具体适配情况如下图:
在这里插入图片描述
因为Hadoop为3.1.1,所以说HBase下载2.0.5是支持的
在这里插入图片描述

该版本下载地址
下载完成后,将该文件放置在/usr/local/
老样子,将该文件解压到该目录下并重命名

cd /usr/local
tar -zxvf hbase-2.0.5-bin.tar.gz
mv /usr/local/hbase-2.0.5 /usr/local/hbase

step2 环境变量的配置

修改~/.bashrc文件
vim ~/.bashrc
加入下面的几行:

export HBASE_HOME=/usr/local/hbase
export PATH=$HBASE_HOME/bin:$PATH
export PATH=$HBASE_HOME/lib:$PATH

source一下让使其生效
source ~/.bashrc
查看HBase版本以确实环境变量是否得体:
在这里插入图片描述
出现版本号之后则说明环境变量设置的没问题
但是在第一次处理的时候,博主遇到了连个重复的jar包,还是有关日志文件的slf4j,如下图:
在这里插入图片描述
在这种情况下,我们需要删除一个,博主删除的是第一个:
rm -rf /usr/local/hbase/lib/slf4j-log4j12<Tab补全>

step3 配置文件修改

1. hbase-env.sh修改

跳到/usr/local/hbase/conf下,命令:
cd /usr/local/hbase/conf
修改hbase-env.sh,命令vim hbase-env.sh
加入:

export JAVA_HOME=/usr/java/jdk1.8.0_181-amd64
export HBASE_CLASSPATH=/usr/local/hadoop/etc/hadoop
export HBASE_MANAGES_ZK=false

根据自己的JDK版本进行添加,切勿盲目CV
在这里插入图片描述

2. hbase-site.xml 修改

cd /usr/local/hbase/conf
vim hbase-site.xml
加入:

<property><name>hbase.cluster.distributed</name>  <value>true</value> 
</property>
<property>
    <name>hbase.rootdir</name><value>hdfs://master315:9000/hbase</value> 
</property>
<property><name>hbase.zookeeper.quorum</name>
   <value>master315,slave01-315,slave02-315</value>
   <description>The directory shared by RegionServers. </description>
 </property>
<property>
        <name>hbase.unsafe.stream.capability.enforce</name>
        <value>false</value>
</property>
<property>
      <name>hbase.zookeeper.property.dataDir</name>
      <value>/usr/local/zookeeper</value>
</property>

切勿盲目CV,一定看好自己的版本和名字并放到configuration标签之下

请注意:


要用HDFS为Hbase提供存储空间,
定义hbase.rootdir参数时HDFS文件系统的主机名端口号必须与Hadoop的配置文件core-site.xml中fs.default.name参数的配置一致

3. regionservers 修改

cd /usr/local/hbase/conf/
vim regionservers
在master节点加入:
记得删除原本的localhost
在这里插入图片描述

name1
name2
    .
    .
    .
namen	 

4. backup-masters修改

这个是指出备份主机是谁,我们设为slave01
则编辑加入:
cd /usr/local/hbase/conf/
vim backup-masters

slave01

根据自己实际情况来看,切勿盲目CV

step4 传递到其他节点

将master节点下配置好的文件全部分发到slave1和slave2节点
命令:

scp -r /usr/local/hbase name1:/usr/local/
scp -r /usr/local/hbase name2:/usr/local/
                            .
                            .
                            .
scp -r /usr/local/hbase namen:/usr/local/

然后将配置好的环境变量的文件~/.bashrc也手动修改或者是传送到其他节点:

scp -r ~/.bashrc name1:~
scp -r ~/.bashrc name2:~
					 .
					 .
					 .
scp -r ~/.bashrc namen:~

记得source一下使其生效
即在各个节点(除了master): source ~/.bashrc

step5 启动备份(可选)

因为这块在后续用不到,所以说可以选择性跳过

cd /usr/local/hbase/bin/
./local-master-backup.sh start 2 3 5

其中2,3,5为偏移量,master其中一个默认端口为16010,那么偏移后就是16012

step6 启动RegionServers(可选)

因为这块在后续用不到,所以说可以选择性跳过

cd /usr/local/hbase/bin/
./local-regionservers.sh start 2 3 5

这里的2,3,5也是偏移量

step7 启动HBase

一定要记住这条常用的命令:
启动HBase集群: start-hbase.sh
关闭HBase集群: stop-hbase.sh
启动后在浏览器查看HBase集群的运行情况:

一定要注意,如果说操作了上面的偏移端口号的操作,要将下面地址的端口号+2
master:16010
然后就可以看到:
在这里插入图片描述
在这里插入图片描述
上图可以看到我们设置的备份主机为slave01
可以缩刷新几下
如果你的这个界面转瞬即逝或者是说昙花一现并出现服务器错误server error500,并且日志文件(/usr/local/hbase/logs下)显示空指针异常的话,肯定是某个配置文件有误(别问,问就是因为这里卡了一晚上,这不得点个赞?

step8 进入hbase shell

在这一步中,我们需要进入hbase shell 查看具体是否安装完成
在命令行中,我们输入:hbase shell
进入之后,我们打上
version查看版本
status查看基本状态
在这里插入图片描述
发现一个active master 一个备份master,三个服务器,一个死掉的(博主稍后刷新会恢复,不必在意)
如果说你的status展示没有active master并报错,请检查每部的配置文件是否按照自己的需求和实际情况更改

step9 jps进程查看

master:
在这里插入图片描述
slave01:
在这里插入图片描述
slave02:
在这里插入图片描述
到此该有的进程每个节点都有了~

step10 集群测试

在web浏览器输入:
master:16010
如果出现:

在这里插入图片描述
则说明集群配置成功~

HBase完结撒花~

到此,HBase安装结束
如有问题可以 留言 or 私信 or q_2649432030
在这里插入图片描述
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HBase集群搭建记录 的相关文章

随机推荐

  • 机器学习(基于python数学基础)——概率统计篇(一)全概率与贝叶斯公式

    注 学习本篇前最好一定的数学基础 即学习过概率论与数理统计 这个问题是求全概率的 在这里我们给它加上一问求 取得正品且是甲厂生产的概率 import numpy as np H np array 1 2 3 10 2 10 完备事件组概率
  • 增强学习/强化学习 综述

    创建于 20210512 修改于 20210512 文章目录 1 增强学习概念 2 1 增强学习定义 2 2 两大特点 2 简书 阿阿阿阿毛 https www jianshu com u a18653721b40 3 知乎 叶强 http
  • Java程序员不得不会的面试题(含答案)

    每个技术人都有个大厂梦 我觉得这很正常 并不是饭后的谈资而是每个技术人的追求 像阿里 腾讯 美团 字节跳动 京东等等的技术氛围与技术规范度还是要明显优于一些创业型公司 小公司 如果说能够在这样的公司锻炼几年 相信对自己能力的提升还是非常大的
  • 计算机文件路径的表示

    文件路径作为计算机基础内容 在很多时候都扮演着十分重要的角色 例如控制台命令 资源文件的存放等等 以下将介绍计算机文件路径的表示方法以及一些常见的使用场景 文件路径的表示分为两种方式 绝对路径表示法和相对路径表示法 绝对路径与相对路径的区别
  • node koa发送邮箱验证码

    1 注册一个邮箱 开启POP3 SMTP IMAP 下方代码内的auth pass 下图授权码 2 nodejs koa发送邮箱验证码 const nodemailer require nodemailer const userEmail
  • 【第六章】STM32单片机+NB-IoT模组BC95采集温湿度数据发到电信平台(下)

    相关信息 设备接入方式 CoAP非加密方式 应用开发 串口助手AT命令对接平台 这部分内容是通过电脑串口调试软件 手动发AT指令 直接发给NB IoT模块 NB模块返回的信息 直接到电脑串口调试软件 一步一步动手操作 实现连接OceanCo
  • volatile关键字概览

    1 多线程下变量的不可见性 1 1 概述 在多线程并发执行下 多个线程修改共享的成员变量 会出现一个线程修改了共享变量的值后 另一个线程不能直接看到该线程修改后的变量的最新值 package Ls import java util Hash
  • python book.save_Writer.save文件()使用新名称python

    尝试用其他名称保存excel文件时出错 这是我代码的一部分 precios read pd read excel Precios xls format auth2 sheet name Precios precios read precio
  • 如何使用树莓派连接电脑无线网络热点并查看树莓派ip地址

    1 确保电脑已经联网 在电脑右下角点开 网络连接 打开 无线热点 右键转到 设置 2 查看 热点名称和密码 并确保网络频率为2 4GHz 树莓派现时只支持802 11 n的WIFI标准所以只能连接2 4G网络 所以你需要确保你所连接的是2
  • RSA密钥长度、明文长度和密文长度

    RSA密钥长度 明文长度和密文长度 本文整理RSA加解密中必须考虑到的密钥长度 明文长度和密文长度问题知识 对第一次接触RSA的开发人员来说 RSA算是比较复杂的算法 以后还会补充几篇RSA基础知识专题文章 用最简单最通俗的语言描述RSA
  • tomcat与myeclipse的安装与建立连接

    tomcat与myeclipse的安装与建立连接 1 首先需要下载Tomcat与Myeclipse 官网下载 Tomcat http tomcat apache org Myeclipse http www myeclipseide com
  • docker 容器内报错 Failed to establish a new connection: [Errno -3] Temporary failure in name ....

    docker 直接镜像 save 然后 load 当 load 到不同主机后 由于镜像的配置文件完整保存 默认的 bridge 网络会继承原主机的配置项 这样会导致在另一个主机上可能会出现网络请求无法发出的问题 这时可以通过直接将 brid
  • Centos系统上nginx安装

    目录 一 安装nginx依赖 pcre 二 安装 openssl zlib gcc 依赖 三 安装nginx 四 启动nginx 五 访问nginx 前置 创建nginx目录后 进入nginx目录下操作 root ecs b612 mkdi
  • java根据模板导出PDF详细教程(无bug版)

    题记 由于业务的需要 需要根据模板定制pdf文档 经测试根据模板导出word成功了 但是导出pdf相对麻烦了一点 两天的研究测试java导出PDF 终于成功了 期间走了不少弯路 今分享出来 欢迎大家有问题在此交流 与君共勉 一 需求 根据业
  • wx.getUserInfo() API的使用方案流程汇总

    注 wx getUserInfo API 官网介绍是获取用户信息功能 但是在小程序中调用时弹出的框展示的是授权登录弹框 所以下文中说的 授权登录 和 获取用户信息 都是指这个功能 所遇问题 本文主要聊一聊wx getUserInfo API
  • 反射与注解

    反射与注解 一 反射 使用反射机制可以动态的获取当前class的信息 比如方法的信息 注解信息 方法的参数 属性 反射目的 方便开发者对框架的拓展 缺点 消耗一定资源 破坏封装性 二 字节码对象创建方式 Class class1 类名 cl
  • 测试学习(三)——用例编写

    一 穷举场景设计测试点 等价类划分法 针对穷举场景设计测试点 步骤 1 明确需求 2 确定有效和无效等价 3 提取数据 编写用例 用例总数原则 正向 有效数据集 一条用例尽可能覆盖多条 逆向 无效数据集 每一条用例都是一个单独用例 用例编写
  • Vue2按需引入vant组件

    1 先引入vant Ui 选择Vue2项目引入 引入 vant Ui npm i vant latest v2 S 按需引入 npm i babel plugin import D 2 在根目录创建 babel config js文件 mo
  • 学习笔记:射频基础测试参数(S参数、OP1dB、IMD、NF)

    本篇非常表面的介绍了一些射频测试测量的基本参数 主要包括有S参数 OP1dB IMD NF等基础测试测量 只针对个人方便记录 目录 1 S参数 2 OP1dB 1dB压缩点 3 IMD 互调 IP3 3阶截获点 4 NF 噪声系数 1 S参
  • HBase集群搭建记录

    本文目录 写在前面 step1 下载并解压HBase step2 环境变量的配置 step3 配置文件修改 1 hbase env sh修改 2 hbase site xml 修改 3 regionservers 修改 4 backup m