大数据平台搭建2024(三)

三:HBase安装

提前上传hbase安装包至虚拟机

1 上传、解压

tar -zxvf hbase-2.0.0-alpha2-bin.tar.gz -C /hadoop

2 修改配置文件

/hadoop/hbase-2.0.0-alpha2-bin/conf文件夹里

vi /hadoop/hbase-2.0.0-alpha2/conf/hbase-env.sh

修改hbase-env.sh文件

export JAVA_HOME=/usr/java/jdk1.8.0_161
export HBASE_MANAGES_ZK=false #不使用HBase内置的zk,使用外部配置好的zk

修改hbase-site.xml文件

在最后的configuration标签改成如下内容:

<configuration><!--主节点位置--><property><name>hbase.rootdir</name><value>hdfs://ns1/HBase</value></property><!--启用分布式--><property><name>hbase.cluster.distributed</name><value>true</value></property><!--设置HMaster的HTTP端口--><property><name>hbase.mater.info.port</name><value>16010</value></property><!--设置HRegionServer的端口--><property><name>hbase.regionserver.info.port</name><value>16030</value></property><!--设置独立ZK的地址--><property><name>hbase.zookeeper.quorum</name><value>node01,node02,node03</value></property>
</configuration>

在这里插入图片描述

配置regionservers

vi /hadoop/hbase-2.0.0-alpha2/conf/regionservers
node01
node02
node03

在这里插入图片描述

配置环境变量,(02\03可以不配置hbase的环境变量)

vi /etc/profile

添加如下内容

export HBASE_HOME=/hadoop/hbase-2.0.0-alpha2
export PATH=$PATH:$HBASE_HOME/bin

在这里插入图片描述

使配置文件生效

source /etc/profile

在这里插入图片描述

复制hadoop(/hadoop/hadoop-2.7.7/etc/hadoop/)里的hdfs-site.xmlcore-site.xml到hbase(/usr/opt/hadoop/hbase-2.0.0-alpha2/conf)中

cp /hadoop/hadoop-2.7.7/etc/hadoop/hdfs-site.xml /hadoop/hbase-2.0.0-alpha2/conf/
cp /hadoop/hadoop-2.7.7/etc/hadoop/core-site.xml /hadoop/hbase-2.0.0-alpha2/conf/

3 复制01的hbase到02、03节点

scp -r /hadoop/hbase-2.0.0-alpha2/ root@node02:/hadoop
scp -r /hadoop/hbase-2.0.0-alpha2/ root@node03:/hadoop

4 启动Hadoop

要先启动Hadoop和zookeeper

cd ~
sh start-all.sh

多起几次确保服务等能起来(看到通过jps查看到namenode,再启动一次即可)
启动hbase

 start-hbase.sh

使用jps查看
出现HMaster和HRegionServer即可
在这里插入图片描述

可能也会出现服务掉线的情况,再启几次即可
浏览器输入
http://node01:16010 能看到3台节点的信息
在这里插入图片描述

5 HBase的终端

进入hbase的命令界面

hbase shell 

6 HBase测试

6-1 显示hbase中的表
list
6-2 创建表user,包含info、data两个列族
create 'user','info','data'
6-3 向user中插入数据
put 'user' , 'rk0001','info:name', 'zhangsan' 
put 'user','rk0001','info:gender','female'
put 'user','rk0001','info:age',20
put 'user','rk0001','data:pic','http://xxxx.jpg'

在这里插入图片描述

6-4 get查询

查看user中rk0001的所有信息

get 'user','rk0001'

查看user中rk0001的info列族所有信息

get 'user','rk0001','info'

查看user中rk0001的info列族中name,age的信息

get 'user','rk0001','info:name','info:age'

查看user中rk0001的info,data列族的信息

get 'user','rk0001','info','data'

表达式查询

get 'user','rk0001',{COLUMN=>['info','data']}
get 'user','rk0001',{COLUMN=>['info:name','data:pic']}

获取user的rk0001时,HBase默认的版本为VERSIONS为1,只会取一个版本的数据,需要修改表的版本号

alter 'user',{NAME=>'info',VERSIONS=>3}

再向info:name插入数据,就可一查看历史版本的数据

get 'user','rk0001',{COLUMN=>'info:name',VERSIONS=>3}

在这里插入图片描述

6-5 其他操作

查询列中包含a的信息

get 'user','rk0001',{FILTER=>"(QualifierFilter(=,'substring:a'))"}

在这里插入图片描述

查询user的所有信息

scan 'user'

在这里插入图片描述

user表添加列族

alter 'user',NAME=>'f1'

在这里插入图片描述

删除f1列族

alter 'user','delete'=>'f1'

在这里插入图片描述

删除user的rk0001的info:age的数据

delete 'user','rk0001','info:age'

停用表

disable 'user'

删除表(要先停用再删除)

drop 'user'

在这里插入图片描述

7 打快照

关闭所有服务

sh stop-all.sh

关闭hbase服务

hbase-daemon.sh stop regionserver
hbase-daemon.sh stop master

在这里插入图片描述

内容:HBase环境配置成功(3个节点都打快照)
在这里插入图片描述

据说关机,再打快照,更省空间
请添加图片描述
感谢大家的支持,关注,评论,点赞!
再见!!!

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

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

相关文章

Rust语言入门第六篇-函数

文章目录 Rust 函数函数函数&#xff08;方法&#xff09;讲解1.什么是函数&#xff08;方法&#xff09;2.方法&#xff08;函数的构成&#xff09;1. 什么是形参2.什么是实参3.定义方法&#xff08;函数&#xff09;类型&#xff08;方法&#xff09;函数类型 5.方法&#xf…

如何用JAVA如何实现Word、Excel、PPT在线前端预览编辑的功能?

背景 随着信息化的发展&#xff0c;在线办公也日益成为了企业办公和个人学习不可或缺的一部分&#xff0c;作为微软Office的三大组成部分&#xff1a;Word、Excel和PPT也广泛应用于各种在线办公场景&#xff0c;但是由于浏览器限制及微软Office的不开源等特性&#xff0c;导致…

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单人脸检测/识别实战案例 之十二 简单人脸识别

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单人脸检测/识别实战案例 之十二 简单人脸识别 目录 Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单人脸检测/识别实战案例 之十二 简单人脸识别 一、简单介绍 二、简单人脸识别实现原理 三、简单人脸识别案例实现简…

数据密集型应用系统设计 PDF 电子书(Martin Kleppmann 著)

简介 《数据密集型应用系统设计》全书分为三大部分&#xff1a; 第一部分&#xff0c;主要讨论有关增强数据密集型应用系统所需的若干基本原则。首先开篇第 1 章即瞄准目标&#xff1a;可靠性、可扩展性与可维护性&#xff0c;如何认识这些问题以及如何达成目标。第 2 章我们比…

MongoDB的安装配置及使用

文章目录 前言一、MongoDB的下载、安装、配置二、检验MongoDB是否安装成功三、Navicat 操作MongoDB四、创建一个集合&#xff0c;存放三个文档总结 前言 本文内容&#xff1a; &#x1f4ab; MongoDB的下载、安装、配置 &#x1f4ab; 检验MongoDB是否安装成功 ❤️ Navicat 操…

RHCE1

一.在系统中设定延迟任务要求如下 在系统中建立easylee用户&#xff0c;设定其密码为easylee 延迟任务由root用户建立 要求在5小时后备份系统中的用户信息文件到/backup中 确保延迟任务是使用非交互模式建立 确保系统中只有root用户和easylee用户可以执行延迟任务的设定 [root…

【单例模式】饿汉式、懒汉式、静态内部类--简单例子

单例模式是⼀个单例类在任何情况下都只存在⼀个实例&#xff0c;构造⽅法必须是私有的、由⾃⼰创建⼀个静态变量存储实例&#xff0c;对外提供⼀个静态公有⽅法获取实例。 目录 一、单例模式 饿汉式 静态内部类 懒汉式 反射可以破坏单例 道高一尺魔高一丈 枚举 一、单例…

[html]一个动态js倒计时小组件

先看效果 代码 <style>.alert-sec-circle {stroke-dasharray: 735;transition: stroke-dashoffset 1s linear;} </style><div style"width: 110px; height: 110px; float: left;"><svg style"width:110px;height:110px;"><cir…

【GD32】_时钟架构及系统时钟频率配置

文章目录 一、有关时钟源二、系统时钟架构三、时钟树分析四、修改参数步骤1、设置外部晶振2、选择外部时钟源。3、 设置系统主频率大小4、修改PLL分频倍频系数 学习系统时钟架构和时钟树&#xff0c;验证及学习笔记如下&#xff0c;如有错误&#xff0c;欢迎指正。主要记录了总…

力扣152. 乘积最大子数组

Problem: 152. 乘积最大子数组 文章目录 题目描述思路复杂度Code 题目描述 思路 1.初始化&#xff1a;首先&#xff0c;我们创建两个数组maxNum和minNum&#xff0c;并将它们初始化为输入数组nums。这两个数组用于存储到当前位置的最大和最小乘积。我们还需要一个变量maxProduc…

c#数据储存栈(stack)和堆(heap)的方式

C#中&#xff0c;类的数据存储是通过堆&#xff08;Heap&#xff09;和栈&#xff08;Stack&#xff09;这两种内存结构来实现的。理解这两种数据结构的工作方式有助于更好地理解C#中的数据存储机制。 栈&#xff08;Stack&#xff09; 栈是一种后进先出&#xff08;Last In,…

Python医院挂号脚本

创建一个简单的医院挂号系统通常涉及患者注册、挂号功能&#xff0c;以及医生的安排。这里我们将使用 Python 来实现一个基本的命令行挂号系统。我们将构建以下功能&#xff1a; 患者注册&#xff1a;输入患者基本信息&#xff0c;注册后保存患者信息。挂号服务&#xff1a;根…

python 一个点运算符操作的字典库:DottedDict

DottedDict 是一种特殊的数据结构&#xff0c;它结合了字典&#xff08;Dictionary&#xff09;和点符号&#xff08;Dot Notation&#xff09;访问的优点&#xff0c;为用户提供了一种更加直观和方便的方式来处理和访问嵌套的数据。在这篇文章中&#xff0c;我们将深入探讨 Do…

Java复习第二十天学习笔记(过滤器Filter),附有道云笔记链接

【有道云笔记】二十 4.8 过滤器Filter https://note.youdao.com/s/dSofip3f 一、为什么要使用过滤器 项目开发中&#xff0c;经常会用到重复代码的实现。 1、请求每个servlet都要设置编码 2、判断用户是否登录&#xff0c;只有登录了才有操作权限。 二、过滤器相关Api int…

从汇编代码理解数组越界访问漏洞

数组越界访问漏洞是 C/C 语言中常见的缺陷&#xff0c;它发生在程序尝试访问数组元素时未正确验证索引是否在有效范围内。通常情况下&#xff0c;数组的索引从0开始&#xff0c;到数组长度减1结束。如果程序尝试访问小于0或大于等于数组长度的索引位置&#xff0c;就会导致数组…

.Net ajax 接收参数

后端部分代码 一般处理程序 public void ProcessRequest(HttpContext context){context.Response.ContentType "text/plain";string str_index context.Request.Form.AllKeys.Contains("index") ? context.Request.Form["index"].ToString(…

windows关闭Windows Search功能

我发现windows最恶心的功能就是自动更新和搜索。自动更新就是个毒瘤&#xff0c;得到了全世界的人讨厌。 而搜索功能难用、慢和造成卡死&#xff0c;根本没有存在的必要。并且他的windows search filter服务会在每次移动大量文件后建立索引&#xff0c;持续的占用cpu和硬盘的资…

常用的Java线程阻塞业务方法

在Java中常常使用到多线程处理一些业务&#xff0c;但是也会遇到多线程处理时带来的业务逻辑时序不对问题&#xff0c;例如需要等待一个业务处理完或者下一步的逻辑需要等待多线程得到的结果&#xff0c;下面是几种常用的方法 使用 Thread.join() 方法 对于已知的线程列表&…

python解释器安装路径查询以及版本查询

查询安装路径 1、利用脚本&#xff1a; 路径: import sys import osprint(当前 Python 解释器路径&#xff1a;) print(sys.executable)运行结果&#xff1a; 目录: print(当前 Python 解释器目录&#xff1a;) print(os.path.dirname(sys.executable))运行结果&#xff1a…

static+单例模式+类的复合继承

汇编语言 汇编语言是最靠谱的验证“编程语言相关知识点”正确性的方式 汇编语言与机器语言一一对应&#xff0c;每一条机器语言都有与之对应的汇编指令 机器语言是计算机使用的语言&#xff0c;它是一串二进制数字 汇编语言可以通过汇编得到机器语言机器语言可以通过反汇编得到…