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

我的私人笔记(安装hbase)

在安装前需要安装好JDK、Hadoop以及Zookeeper,JDK版本为1.8、Hadoop版本为2.7.4以及Zookeeper的版本为3.4.10。

4.1.下载

下载地址:Index of /dist/hbase

本次学习版本为: hbase-1.2.1-bin.tar.gz

4.2.安装步骤

  1. 上传安装包至hadoop01节点的/opt/software目录下

  2. 解压hbase-1.2.1-bin.tar.gz 至/opt/servers目录下,并将改名为hbase

//解压hbase-1.2.1-bin.tar.gz

tar -xzvf /opt/software/hbase-1.2.1-bin.tar.gz -C /opt/servers/

//改名

cd /opt/servers/

mv hbase-1.2.1 hbase

  1. 配置环境变量

//编辑配置文件

vi /etc/profile

//在PATH变量前添加一行

export HBASE_HOME=/opt/servers/hbase

//在PATH中后添加$HBASE_HOME/bin

export PATH=$PATH:$HBASE_HOME/bin

//更新配置文件

source /etc/profile

  1. 验证

hbase version

4.3.配置hbase

4.3.1.local/standalone模式

  1. 创建本地目录

mkdir -p /home/centos/hbase/zk

  1. 配置hbase-env.sh文件

[hbase/conf/hbase-env.sh]

export JAVA_HOME=/opt/servers/jdk

  1. 配置hbase本地目录

[hbase/conf/hbase-site.xml]

<property>

<name>hbase.rootdir</name>

<value>file:///home/centos/hbase</value>

</property>

  1. 配置zk本地数据存放目录

[hbase/conf/hbase-site.xml]

<property>

<name>hbase.zookeeper.property.dataDir</name>

<value>/home/centos/hbase/zk</value>

</property>

4.3.2.伪分布式

  1. 配置hbase的hbase.cluster.distributed.

//[hbase-site.xml]

<property>

<name>hbase.cluster.distributed</name>

<value>true</value>

</property>

<property>

<name>hbase.rootdir</name>

<value>hdfs://master:8020/hbase</value>

</property>

  1. 启动hbase

start-hbase.sh

  1. 检查进程

jps

----------------------

SecondaryNameNode

HMaster //master服务器

NameNode

HRegionServer //区域区域服务器

Jps

HQuorumPeer //zk

ResourceManager

4.3.3.完全分布式

  1. 配置前需删除HDFS中已经存在的"hdfs://hadoop01:8020/hbase"目录(伪分布式使用过改目录,没有请跳过)。

hdfs dfs -rm -r /hbase

  1. 检查集群中所有节点的时间,保持误差不超过30秒。(因我们是克隆的虚拟机,此步骤可跳过)

ntpdate -u cn.pool.ntp.org

  1. 配置hbase-site.xml文件,更多配置请参照:HBase-site.xml 常见重要配置参数

<!--指定hbase在HDFS上的存储路径-->

<property>

<name>hbase.rootdir</name>

<value>hdfs://hadoop01:9000/hbase</value>

</property>

<!--指定hbase是分布式的-->

<property>

<name>hbase.cluster.distributed</name>

<value>true</value>

</property>

<!--指定zk的地址,多个用","分隔-->

<property>

<name>hbase.zookeeper.quorum</name>

<value>hadoop01:2181,hadoop02:2181,hadoop03:2181</value>

</property>

  1. 配置hbase-env.sh文件

//在文件最后加上

#配置jdk的环境变量

export JAVA_HOME=/opt/servers/jdk

#配置hbase使用外部的zookeeper

export HBASE_MANAGES_ZK=false

  1. 配置regionservers文件

hadoop02

hadoop03

  1. 修改backup-masters配置文件

vi backup-masters

hadoop02

  1. 分发hbase

//分别分发/opt/moudle/hbase到其他节点

scp -r /opt/servers/hbase/ hadoop02:/opt/servers/

scp -r /opt/servers/hbase/ hadoop03:/opt/servers/

  1. 分发配置文件

scp -r /etc/profile hadoop02:/etc/profile

scp -r /etc/profile hadoop03:/etc/profile

  1. 重启系统使/etc/profile生效(或者逐个机器更新)

  2. 启动hbase

//启动hadoop

start-all.sh

//启动zookeeper

start-zk.sh

//启动hbase

start-hbase.sh

11.分别查看各个节点的进程

12.进入HBase Shell查看HBase的运行状态

hbase shell

status

2 servers表示当前有2个HRegionServer正在正常运行。

13.可以通过web端查看HBase运行状态,浏览器输入https://hadoop01:16010

14.最后可以使用exit退出HBase Shell

15.停止集群时先停止HBase(先启后停)

{

export JAVA_HOME=/opt/servers/jdk

export HADOOP_HOME=/opt/servers/hadoop

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

export ZOOKEEPER_HOME=/opt/servers/zookeeper

export PATH=$PATH:$ZOOKEEPER_HOME/bin

export HIVE_HOME=/opt/servers/hive

export PATH=$PATH:$HIVE_HOME/bin

export HBASE_HOME=/opt/servers/hbase

export PATH=$PATH:$HBASE_HOME/bin

}

相关文章:

我的私人笔记(安装hbase)

在安装前需要安装好JDK、Hadoop以及Zookeeper&#xff0c;JDK版本为1.8、Hadoop版本为2.7.4以及Zookeeper的版本为3.4.10。 4.1.下载 下载地址&#xff1a;Index of /dist/hbase 本次学习版本为&#xff1a; hbase-1.2.1-bin.tar.gz 4.2.安装步骤 上传安装包至hadoop01节点…...

【MySQL】用户管理

之前我们一直都使用root身份来对mysql进行操作&#xff0c;但这样存在安全隐患。这时&#xff0c;就需要使用MySQL的用户管理 目录 一、用户 1.1 用户信息 1.2 添加用户 1.3 删除用户 1.4 修改用户密码 二、用户权限 2.1 赋予授权 2.2 回收权限 一、用户 1.1 用户信息…...

音视频 ffmpeg命令转封装

保持编码格式&#xff1a; ffmpeg -i test.mp4 -vcodec copy -acodec copy test_copy.ts ffmpeg -i test.mp4 -codec copy test_copy2.ts改变编码格式&#xff1a; ffmpeg -i test.mp4 -vcodec libx265 -acodec libmp3lame out_h265_mp3.mkv修改帧率&#xff1a; ffmpeg -i …...

恢复已删除的git分支

1.打开对应项目文件夹目录,在目录下执行git命令 2.执行命令 git reflog --dateiso , 找到最后一次commit 的id 3. 执行git checkout -b 新建分支名称 commitId 就会基于commitId这次提交时工作区新建一个分支&#xff0c;就能达到我们找到删除分支的代码效果。 4.直接看ide…...

ATF(TF-A)安全通告 TFV-3 (CVE-2017-7563)

安全之安全(security)博客目录导读 ATF(TF-A)安全通告汇总 目录 一、ATF(TF-A)安全通告 TFV-3 (CVE-2017-7563) 二、CVE-2017-7563 一、ATF(TF-A)安全通告 TFV-3 (CVE-2017-7563) Title RO内存始终在AArch64 Secure EL1下可执行CVE ID CVE-2017-7563 Date 06 Apr 2017 Vers…...

虚拟机Ubuntu18.04系统使用时所需要的便利配置选项

文章目录 一、屏幕分辨率调节二、解决虚拟机和宿主机之间无法进行复制粘贴和自由移动文件&#xff1a;三、允许使用Git指令四、可以使用Cmake进行编译五、vi编辑器查看代码文件&#xff0c;类型linux的记事本 每次配置虚拟机&#xff0c;都需要重新安装配置一些能提供便利功能的…...

python内置函数

Python 解释器内置了很多函数和类型&#xff0c;任何时候都能使用。以下按字母顺序给出列表。 内置函数 A abs() aiter() all() any() anext() ascii() B bin() bool() breakpoint() bytearray() bytes() C callable() chr() classmethod() compile() complex() D delattr(…...

线性思维和系统思维

1 线性思维介绍 线性思维是一种直线的、均匀的、不变的、单一的、单维的思维方式&#xff0c;一切都随着初始条件的给定而给定。 线性思维的5种具体表现&#xff1a; 简单复制过往经验去推断未来 &#xff08;比如&#xff1a;银行工作者是铁饭碗&#xff09;用已知结果得出…...

为什么要学习C++

操作系统历史 UINX操作系统诞生之初是用汇编语言编写的。随着UNIX的发展&#xff0c;汇编语言的开发效率成为一个瓶颈。寻找新的高效开发语言成为UNIX开发者需要解决的问题。当时BCPL语言成为了当时的选择之一。Ken Thomposn对BCPL进行简化得到了B语言。但是B语言不是直接生成…...

eureka服务注册和服务发现

文章目录 问题实现以orderservice为例orderservice服务注册orderservice服务拉取 总结 问题 我们要在orderservice中根据查询到的userId来查询user&#xff0c;将user信息封装到查询到的order中。 一个微服务&#xff0c;既可以是服务提供者&#xff0c;又可以是服务消费者&a…...

QT的介绍和优点,以及使用QT初步完成一个登录界面

QT介绍 QT主要用于图形化界面的开发&#xff0c;QT是基于C编写的一套界面相关的类库&#xff0c;进程线程库&#xff0c;网络编程的库&#xff0c;数据库操作的库&#xff0c;文件操作的库…QT是一个跨平台的GUI图形化界面开发工具 QT的优点 跨平台&#xff0c;具有较为完备…...

MySQL教程

MySQL教程 数据库简介数据库的基本概念MySQL简介windows下安装MySQLLinux下安装MySQL在MacOS下面安装MySQLMySQL配置文件分析MySQL数据库的基本操作MySQL创建表MySQL插入数据MySQL删除数据MySQL修改数据MySQL基本查询MySQL可视化客户端SQL语句的分类MySQL的DDLMySQL的数据类型…...

深入理解协同过滤算法及其实现

导语 个性化推荐系统在现代数字时代扮演着重要的角色&#xff0c;协助用户发现他们可能感兴趣的信息、产品或媒体内容。协同过滤是个性化推荐系统中最流行和有效的算法之一。 目录 协同过滤算法的原理 基于用户的协同过滤&#xff08;User-Based Collaborative Filtering&am…...

力扣:随即指针138. 复制带随机指针的链表

复制带随机指针的链表 OJ链接 分析&#xff1a; 该题的大致题意就是有一个带随机指针的链表&#xff0c;复制这个链表但是不能指向原链表的节点&#xff0c;所以每一个节点都要复制一遍 大神思路&#xff1a; ps:我是学来的 上代码&#xff1a; struct Node* copyRandomList(s…...

【从0学习Solidity】合约入门 Hello Web3

【学习Solidity的基础】入门智能合约开发 Hello Web3 &#x1f4f1;不写代码没饭吃上架主页 在强者的眼中&#xff0c;没有最好&#xff0c;只有更好。我们是全栈开发领域的优质创作者&#xff0c;同时也是阿里云专家博主。 ✨ 关注我们的主页&#xff0c;探索全栈开发的无限…...

awtk-ftpd 发布

1. 介绍 在嵌入式应用程序中&#xff0c;有时需要提供一个 FTP 服务&#xff0c;用于对系统的文件进行远程管理。 awtk-ftpd 实现了一个 简单的 FTP 服务。主要特色有&#xff1a; 小巧。约 800 行代码。可以在各种嵌入式平台运行。内存开销低。正常内存需求小于 6K。兼容 F…...

抽象轻松的C语言

#include <stdio.h> /* 预处理指令*/ /* 函数 */ int main() {int log 3.14;printf("hello word * %d\n easy", log);getchar();/* 获取键盘输入的字母&#xff0c;在这个程序中的作用是防止程序瞬间关闭 */return 0; } 上一篇说过&#xff0c;C程序是C语言的…...

【力扣每日一题01】两数之和

开了一个新专栏&#xff0c;用来记录自己每天刷题&#xff0c;并且也是为了养成每日学习这个习惯&#xff0c;期待坚持一年后的自己&#xff01; 一、题目 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&am…...

机器学习——手写数字识别

0、&#xff1a;前言 这篇文章能够帮助你从数据到模型的整个过程实现不过至于安装第三方库等基础问题&#xff0c;本文不涉及&#xff0c;因为确实不难&#xff0c;搜一搜一大把本此实验运行环境为jupyter&#xff0c;当然通过pycharm也是可行的 1、数据&#xff1a; 手写数字…...

【日积月累】后端刷题日志

刷题日志 说说对Java的理解JAVA中抽象类和接口之间的区别Java中的泛型 和equals()的区别八种基本数据类型与他们的包装类在一个静态方法内调用一个非静态成员为什么是非法的静态方法与实例方法有何不同重载与重写深拷贝浅拷贝面向过程与面向对象成员变量与局部变量Spring框架Sp…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型&#xff1a;架构设计与关键步骤 在当今数字化转型的浪潮中&#xff0c;大语言模型&#xff08;LLM&#xff09;已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中&#xff0c;不仅可以优化用户体验&#xff0c;还能为业务决策提供…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言&#xff1a; 通过AI视觉技术&#xff0c;为船厂提供全面的安全监控解决方案&#xff0c;涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面&#xff0c;能够实现对应负责人反馈机制&#xff0c;并最终实现数据的统计报表。提升船厂…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

Golang dig框架与GraphQL的完美结合

将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用&#xff0c;可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器&#xff0c;能够帮助开发者更好地管理复杂的依赖关系&#xff0c;而 GraphQL 则是一种用于 API 的查询语言&#xff0c;能够提…...

【Go】3、Go语言进阶与依赖管理

前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课&#xff0c;做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程&#xff0c;它的核心机制是 Goroutine 协程、Channel 通道&#xff0c;并基于CSP&#xff08;Communicating Sequential Processes&#xff0…...

深度学习水论文:mamba+图像增强

&#x1f9c0;当前视觉领域对高效长序列建模需求激增&#xff0c;对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模&#xff0c;以及动态计算优势&#xff0c;在图像质量提升和细节恢复方面有难以替代的作用。 &#x1f9c0;因此短时间内&#xff0c;就有不…...

Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐&#xff1a;「storms…...

AI语音助手的Python实现

引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...