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

Hbase的安装配置

注:本文默认已经完成hadoop的下载以及环境配置

1.上传zookeeper和hbase压缩包到指令路径并且解压

(理论上讲,hbase其实内置了zookeeper,我们也可以不另外下载,另外下载的目的在于减少组件间依赖性)

cd /home
mkir hbase
cd /home/hbase
tar -zxvf hbase-2.4.4-bin.tar.gz
tar -zxvf zookeeper-3.4.14.jar

  注:这里的下载、解压地址没有特殊规定。本文下载的地址为/home/hbase目录

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

2.配置zookeeper(也可以不配置zookeeper,配置的原因是防止Hmaster启动后不久自动下线)

打开zookeeper解压文件位置,进入conf目录。本文中地址为/homr/hbase/zookeeper-3.4.14/conf,具体以个人实际地址为准。输入以下代码,进行配置工作

mv zoo_sample.cfg zoo.cfg
vim zoo.cfg

进行如下修改:

添加以下内容:

server.1=hadoop11:2888:3888
server.2=hadoop12:2888:3888
server.3=hadoop13:2888:3888

 注:以自己搭建hadoop的机器的机器名为准

修改以下内容:

dataDir=/home/hbase/zookeeper-3.3.4/data

切换回dataDir指向的目录,并建立data目录

cd /home/hbase/zookeeper-3.3.4
mkdir data 
cd data

在data目录中,编辑一个名叫myid的文件,内容就是server.x中x的值,比如hadoop11机器对应的是server.1,那么就这么来修改:

vim myid#然后在文本中按i进入编辑模式,输入1,按esc退出,再按:wq保存修改

剩下两台机器以此类推

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

3.配置hbase

1.

进入conf目录,修改hbase-env.sh配置文件

export JAVA_HOME=/home/java/jdk1.8.0_212
export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP="true"

第一条指令一定要写,第二条可以不写,写了的目的在于规避hbase自带的hadoop包版本和已搭建的hadoop版本冲突的问题。如果发生了冲突,那么在后面启动hbase时会出现如下报错:

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/home/hadoop/hadoop-3.3.4/share/hadoop/common/lib/slf4j-reload4j-1.7.36.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/hadoop/hbase-2.1.5/lib/client-facing-thirdparty/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Reload4jLoggerFactory]
running master, logging to /home/hadoop/hbase-2.1.5/bin/../logs/hbase-csr-master-hadoop01.out
: running regionserver, logging to /home/hadoop/hbase-2.1.5/bin/../logs/hbase-csr-regionserver-hadoop01.out

配置完成后,使用source命令使修改生效

2.修改/etc/profile文件

vim /etc/profile

本人的路径配置如下,仅供参考,文件路径以自己的下载路径为准:

export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
export HADOOP_PID_DIR=/home/hadoop
export HADOOP_HOME=/home/hadoop/hadoop-3.3.4/
PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$JAVA_HOME/bin:$HOME/bin
export PATH

配置完成后,同理,使用source命令使其生效

3.修改hbase-site.xml文件

配置如下:

<property><name>hbase.rootdir</name>				<value>hdfs://192.168.198.100:9000/hbase</value></property><property><name>hbase.cluster.distributed</name>		<value>true</value></property><property><name>hbase.zookeeper.property.dataDir</name>	<value>/home/hbase/zookeeper-3.4.14</value></property><property><name>hbase.unsafe.stream.capability.enforce</name><value>false</value></property><property><name>hbase.zookeeper.quorum</name>			<value>hadoop11:2181,hadoop12:2181,hadoop13:2181</value>	</property><property><name>hbase.master.info.port</name>		<value>60010</value>
</property>

注:第一个property的配置要与hadoop中hdfs使用的端口一致,因为我hdfs使用的端口就是9000而不是8020,所以保留了9000端口。此外,机器名(或者ip地址)和zookeeper下载地址以自己的为准

特别注意:hbase.zookeeper.quorum中三个地址必须紧挨,不能有任何空格!不然在日志中会出现如下报错:

zookeeper.RecoverableZooKeeper: Unable to create ZooKeeper Connection
java.net.UnknownHostException:  192.168.198.202: 未知的名称或服务zookeeper.RecoverableZooKeeper: Unable to create ZooKeeper Connection
java.net.UnknownHostExceptionzookeeper.RecoverableZooKeeper: ZooKeeper create failed after 4 attemptsregionserver.HRegionServer: Failed construction RegionServer
org.apache.hadoop.hbase.ZooKeeperConnectionException: master:160000x0, quorum=192.168.198.100:2181, 192.168.198.101:2181, 192.168.198.102:2181, baseZNode=/hbase Unexpected KeeperException creating base nodeorg.apache.zookeeper.KeeperException$OperationTimeoutException: KeeperErrorCode = OperationTimeout[main] master.HMasterCommandLine: Master exiting
java.lang.RuntimeException: Failed construction of Master: class org.apache.hadoop.hbase.master.HMaster.

这是非常具有迷惑性的一类错误,只有在日志中才会找到,在启动界面不会有任何报错甚至还可以使用hbase shell命令进入数据库!用jps检查守护线程时,头4次(经本人实验,最多可以坚持7次!隐蔽性可见一斑)也会有Hmaster线程出现!这种错误也是引起Hmaster自动消失一类原因。另一类引发Hmaster消失的错误本文已经通过配置zookeeper消除,即Hbase自带的zookeeper奔溃了。报错如下:

quorum.QuorumCnxManager: Cannot open channel to 1 at election address node2/192.168.56.12:3888
java.net.ConnectException: Connection refused(Connection refused)

有一种很简单的检查方法,即尝试能不能进入60010端口,如果进不去,但是刚登进去后,使用jps可以检查出Hmaster线程,那就发生了此类错误。

4.配置域服务器(还是conf目录下)

vim regionservers#内容同hadoop中workers的配置
192.168.198.100
192.168.198.101
192.168.198.102

5.分发hbase以及zookeeper(以自己的地址为准)

scp -r /home/hbase/zookeeper-3.4.14 root@192.168.198.101:/home/hbase
scp -r /home/hbase/zookeeper-3.4.14 root@192.168.198.102:/home/hbase
scp -r /home/hbase/hbase-2.1.5 root@192.168.198.101:/home/hbase
scp -r /home/hbase/hbase-2.1.5 root@192.168.198.102:/home/hbase

6.切换到hbase压缩后目录,然后,hbase,启动!

bin/start-hbase.sh

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

其他温馨提醒:

hbase启动或停止卡住的时侯,请不要采用直接虚拟机断电这么暴力的办法,这样做的后果会很严重且无法挽回,会造成你的logs目录整个直接丢失,完全无法开机:

错误: 找不到或无法加载主类 org.apache.hadoop.hbase.util.HBaseConfTool
错误: 找不到或无法加载主类 org.apache.hadoop.hbase.zookeeper.ZKServerTool
running master, logging to /home/haoop/hbase-2.1.5/logs/hbase-csr-master-hadoop01.out
nice: /home/haoop/hbase-2.1.5/bin/hbase: 没有那个文件或目录
cat: /home/haoop/hbase-2.1.5/conf/regionservers: 没有那个文件或目录
cat: /home/haoop/hbase-2.1.5/conf/regionservers: 没有那个文件或目录

如果出现了这种情况,那就可以重新建虚拟机重新搭建Hadoop了。暂时没找到解决的办法。格式化已存在的hadoop或者重新解压hbase都是没有用的(亲测无效)。希望大家都遇不到这种情况,哈哈哈

相关文章:

Hbase的安装配置

注&#xff1a;本文默认已经完成hadoop的下载以及环境配置 1.上传zookeeper和hbase压缩包到指令路径并且解压 (理论上讲&#xff0c;hbase其实内置了zookeeper&#xff0c;我们也可以不另外下载&#xff0c;另外下载的目的在于减少组件间依赖性) cd /home mkir hbase cd /hom…...

VMware17Pro虚拟机安装Linux CentOS 7.9(龙蜥)教程(超详细)

目录 1. 前言2. 下载所需文件3. 安装VMware3.1 安装3.2 启动并查看版本信息3.3 虚拟机默认位置配置 4. 安装Linux4.1 新建虚拟机4.2 安装操作系统4.2.1 选择 ISO 映像文件4.2.2 开启虚拟机4.2.3 选择语言4.2.4 软件选择4.2.5 禁用KDUMP4.2.6 安装位置配置4.2.7 网络和主机名配置…...

QT trimmed和simplified

trimmed&#xff1a;去除了字符串开头前和结尾后的空白&#xff1b; simplified&#xff1a;去除了字符串开头前和结尾后的空白&#xff0c;以及中间内部的空白字符也去掉&#xff08;\t,\n,\v,\f,\r和 &#xff09; 代码&#xff1a; QString str " 1 2 3 4 5 …...

Ensp dhcp全局地址池(配置命令 + 实例)

使用DHCP的好处&#xff1a;减少管理员的工作量、避免输入错误的可能、避免ip冲突 DHCP报文类型&#xff1a; DHCP DISCOVER:客户端用来寻找DHCP服务器 DHCP OFFER:DHCP服务器用来响应DHCP DISCOVER报文&#xff0c;此报文携带了各种配置信息 DHCP REQUEST:客户端配置请求确…...

spring aop实际开发中怎么用,Spring Boot整合AOP,spring boot加spring mvc一起使用aop,项目中使用aop

前言&#xff1a;本文不介绍 AOP 的基本概念、动态代理方式实现 AOP&#xff0c;以及 Spring 框架去实现 AOP。本文重点介绍 Spring Boot 项目中如何使用 AOP&#xff0c;也就是实际项目开发中如何使用 AOP 去实现相关功能。 如果有需要了解 AOP 的概念、动态代理实现 AOP 的&…...

C语言操作符if语句好习惯 详解分析操作符(详解4)

各位少年&#xff1a; 前言 还记得我们上一章讲过一个比较抽象的代码&#xff0c;它要比较两次都是真的情况下才能打印&#xff0c;那么很显然这样写代码是有弊端的&#xff1f;哪我们C语言之父丹尼斯.里奇&#xff0c;先介绍一下上次拉掉了if语句的好习惯 好再分享一些操作符…...

【什么是泛型,有什么好处】

✅什么是泛型&#xff0c;有什么好处 ✅典型回答✅泛型是如何实现的✅什么是类型擦除&#xff1f;&#x1f4dd;C语言对泛型的支持&#x1f4dd;泛型擦除的缺点有哪些&#xff1f; ✅对泛型通配符的理解&#x1f4dd;泛型中上下界限定符 extends 和 super 有什么区别&#xff1…...

Stable Diffusion系列(三):网络分类与选择

文章目录 网络分类模型基座模型衍生模型二次元模型2.5D模型写实风格模型 名称解读 VAELora嵌入文件放置界面使用 网络分类 当使用SD webui绘图时&#xff0c;为了提升绘图质量&#xff0c;可以多种网络混合使用&#xff0c;可选的网络包括了模型、VAE、超网络、Lora和嵌入。 …...

Twincat中PLC的ST语言编程实现机器人安全交互

在TwinCAT中&#xff0c;使用ST语言&#xff08;Structured Text&#xff09;进行PLC编程是一种常见的做法。 机器人接触力超过预设阈值后执行停止动作 为了实现机器人在接触力超过预设阈值后停止动作的功能&#xff0c;你需要编写一段ST语言代码&#xff0c;以检查当前的接触…...

Redis实现日榜|直播间榜单|排行榜|Redis实现日榜01

前言 直播间贡献榜是一种常见的直播平台功能&#xff0c;用于展示观众在直播过程中的贡献情况。它可以根据观众的互动行为和贡献值进行排名&#xff0c;并实时更新&#xff0c;以鼓励观众积极参与直播活动。 在直播间贡献榜中&#xff0c;每个观众都有一个对应的贡献值&#…...

如何使用内网穿透工具实现Java远程连接本地Elasticsearch搜索分析引擎

文章目录 前言1. Windows 安装 Cpolar2. 创建Elasticsearch公网连接地址3. 远程连接Elasticsearch4. 设置固定二级子域名 前言 简单几步,结合Cpolar 内网穿透工具实现Java 远程连接操作本地分布式搜索和数据分析引擎Elasticsearch。 Cpolar内网穿透提供了更高的安全性和隐私保…...

C语言数据结构-----常用七种排序介绍、分类、实现及性能比较

前言 ①排序&#xff1a;所谓排序&#xff0c;就是使一串记录&#xff0c;按照其中的某个或某些关键字的大小&#xff0c;递增或递减的排列起来的操作。 ②稳定性&#xff1a;假定在待排序的记录序列中&#xff0c;存在多个具有相同的关键字的记录&#xff0c;若经过排序&#…...

2023年山东省职业院校技能大赛高职组 “软件测试”赛项竞赛任务四 单元测试

任务四 单元测试 任务要求 题目1&#xff1a;任意输入2个正整数值分别存入x、y中&#xff0c;据此完成下述分析&#xff1a;若x≤0或y≤0&#xff0c;则提示&#xff1a;“输入不符合要求。”&#xff1b;若2值相同&#xff0c;则提示“可以构建圆形或正方形”&#xff1b;若2…...

在Redis客户端设置连接密码 并演示密码登录

我们先连接到Redis服务 然后 我们要输入 CONFIG SET requirepass “新密码” 例如 CONFIG SET requirepass "A15167"这样 密码就被设置成立 A15167 我们 输入 AUTH 密码 例如 AUTH A15167这里 返回OK说明成功了 然后 我们退出在登录就真的需要 redis-cli -h IP地…...

阿里云公有云平台

1. 请简要介绍一下公有云平台的基本概念和特点。 公有云是一种云计算模型&#xff0c;其中服务器、网络和存储资源等IT基础架构以虚拟资源的形式提供&#xff0c;并且可以通过互联网进行访问。这些资源是由第三方提供商共享并提供给用户的&#xff0c;包括计算、存储、网络等。…...

Zookeeper的学习笔记

Zookeeper概念 Zookeeper是一个树形目录服务&#xff0c;简称zk。 Zookeeper是一个分布式的、开源的分布式应用程序的协调服务 Zookeeper提供主要的功能包括&#xff1a;配置管理&#xff0c;分布式锁&#xff0c;集群管理 Zookeeper命令操作 zk数据模型 zk中的每一个节点…...

leetcode2两数加和问题(链表)

题目思路&#xff1a; ①创建一个int类型的局部变量&#xff0c;用来存储两个结点的Val值。 ②判断该Val值与10求余(mod)后是否大于0,如果大于0, 则需要在下一个结点进位。 ③最关键的步骤&#xff1a;实现l1&#xff0c;l2结点数值相加后构建新的存储求和后的结点&#xff0…...

VSCode中配置prettier和ESLint

文章目录 了解ESLint和Prettier的作用prettier配置ESLint配置常见问答ESLint 和Prettier 有什么区别&#xff1f;为什么我应该同时使用ESLint 和Prettier&#xff1f;在使用ESLint 和Prettier 时&#xff0c;有可能出现它们之间的规则冲突吗&#xff1f;我已经在项目中使用了ES…...

如何将本地websocket发布至公网并实现远程访问服务端

文章目录 1. Java 服务端demo环境2. 在pom文件引入第三包封装的netty框架maven坐标3. 创建服务端,以接口模式调用,方便外部调用4. 启动服务,出现以下信息表示启动成功,暴露端口默认99995. 创建隧道映射内网端口6. 查看状态->在线隧道,复制所创建隧道的公网地址加端口号7. 以…...

分享 | 软件测试的基本流程是什么?软件测试流程详细介绍

软件测试 软件测试和软件开发一样&#xff0c;是一个比较复杂的工作过程&#xff0c;如果无章法可循&#xff0c;随意进行测试势必会造成测试工作的混乱。为了使测试工作标准化、规范化&#xff0c;并且快速、高效、高质量地完成测试工作&#xff0c;需要制订完整且具体的测试…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度​

一、引言&#xff1a;多云环境的技术复杂性本质​​ 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时&#xff0c;​​基础设施的技术债呈现指数级积累​​。网络连接、身份认证、成本管理这三大核心挑战相互嵌套&#xff1a;跨云网络构建数据…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中&#xff0c;Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染&#xff08;即CPU被阻塞&#xff09;&#xff0c;这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案&#xff1a; 对惹&#xff0c;这里有一个游戏开发交流小组&…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略

本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装&#xff1b;只需暴露 19530&#xff08;gRPC&#xff09;与 9091&#xff08;HTTP/WebUI&#xff09;两个端口&#xff0c;即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

unix/linux,sudo,其发展历程详细时间线、由来、历史背景

sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

leetcodeSQL解题:3564. 季节性销售分析

leetcodeSQL解题&#xff1a;3564. 季节性销售分析 题目&#xff1a; 表&#xff1a;sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

蓝桥杯 冶炼金属

原题目链接 &#x1f527; 冶炼金属转换率推测题解 &#x1f4dc; 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V&#xff0c;是一个正整数&#xff0c;表示每 V V V 个普通金属 O O O 可以冶炼出 …...

中医有效性探讨

文章目录 西医是如何发展到以生物化学为药理基础的现代医学&#xff1f;传统医学奠基期&#xff08;远古 - 17 世纪&#xff09;近代医学转型期&#xff08;17 世纪 - 19 世纪末&#xff09;​现代医学成熟期&#xff08;20世纪至今&#xff09; 中医的源远流长和一脉相承远古至…...

快刀集(1): 一刀斩断视频片头广告

一刀流&#xff1a;用一个简单脚本&#xff0c;秒杀视频片头广告&#xff0c;还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农&#xff0c;平时写代码之余看看电影、补补片&#xff0c;是再正常不过的事。 电影嘛&#xff0c;要沉浸&#xff0c;…...

为什么要创建 Vue 实例

核心原因:Vue 需要一个「控制中心」来驱动整个应用 你可以把 Vue 实例想象成你应用的**「大脑」或「引擎」。它负责协调模板、数据、逻辑和行为,将它们变成一个活的、可交互的应用**。没有这个实例,你的代码只是一堆静态的 HTML、JavaScript 变量和函数,无法「活」起来。 …...