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的安装配置
注:本文默认已经完成hadoop的下载以及环境配置 1.上传zookeeper和hbase压缩包到指令路径并且解压 (理论上讲,hbase其实内置了zookeeper,我们也可以不另外下载,另外下载的目的在于减少组件间依赖性) 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:去除了字符串开头前和结尾后的空白; simplified:去除了字符串开头前和结尾后的空白,以及中间内部的空白字符也去掉(\t,\n,\v,\f,\r和 ) 代码: QString str " 1 2 3 4 5 …...
Ensp dhcp全局地址池(配置命令 + 实例)
使用DHCP的好处:减少管理员的工作量、避免输入错误的可能、避免ip冲突 DHCP报文类型: DHCP DISCOVER:客户端用来寻找DHCP服务器 DHCP OFFER:DHCP服务器用来响应DHCP DISCOVER报文,此报文携带了各种配置信息 DHCP REQUEST:客户端配置请求确…...
spring aop实际开发中怎么用,Spring Boot整合AOP,spring boot加spring mvc一起使用aop,项目中使用aop
前言:本文不介绍 AOP 的基本概念、动态代理方式实现 AOP,以及 Spring 框架去实现 AOP。本文重点介绍 Spring Boot 项目中如何使用 AOP,也就是实际项目开发中如何使用 AOP 去实现相关功能。 如果有需要了解 AOP 的概念、动态代理实现 AOP 的&…...
C语言操作符if语句好习惯 详解分析操作符(详解4)
各位少年: 前言 还记得我们上一章讲过一个比较抽象的代码,它要比较两次都是真的情况下才能打印,那么很显然这样写代码是有弊端的?哪我们C语言之父丹尼斯.里奇,先介绍一下上次拉掉了if语句的好习惯 好再分享一些操作符…...
【什么是泛型,有什么好处】
✅什么是泛型,有什么好处 ✅典型回答✅泛型是如何实现的✅什么是类型擦除?📝C语言对泛型的支持📝泛型擦除的缺点有哪些? ✅对泛型通配符的理解📝泛型中上下界限定符 extends 和 super 有什么区别࿱…...
Stable Diffusion系列(三):网络分类与选择
文章目录 网络分类模型基座模型衍生模型二次元模型2.5D模型写实风格模型 名称解读 VAELora嵌入文件放置界面使用 网络分类 当使用SD webui绘图时,为了提升绘图质量,可以多种网络混合使用,可选的网络包括了模型、VAE、超网络、Lora和嵌入。 …...
Twincat中PLC的ST语言编程实现机器人安全交互
在TwinCAT中,使用ST语言(Structured Text)进行PLC编程是一种常见的做法。 机器人接触力超过预设阈值后执行停止动作 为了实现机器人在接触力超过预设阈值后停止动作的功能,你需要编写一段ST语言代码,以检查当前的接触…...
Redis实现日榜|直播间榜单|排行榜|Redis实现日榜01
前言 直播间贡献榜是一种常见的直播平台功能,用于展示观众在直播过程中的贡献情况。它可以根据观众的互动行为和贡献值进行排名,并实时更新,以鼓励观众积极参与直播活动。 在直播间贡献榜中,每个观众都有一个对应的贡献值&#…...
如何使用内网穿透工具实现Java远程连接本地Elasticsearch搜索分析引擎
文章目录 前言1. Windows 安装 Cpolar2. 创建Elasticsearch公网连接地址3. 远程连接Elasticsearch4. 设置固定二级子域名 前言 简单几步,结合Cpolar 内网穿透工具实现Java 远程连接操作本地分布式搜索和数据分析引擎Elasticsearch。 Cpolar内网穿透提供了更高的安全性和隐私保…...
C语言数据结构-----常用七种排序介绍、分类、实现及性能比较
前言 ①排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 ②稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序&#…...
2023年山东省职业院校技能大赛高职组 “软件测试”赛项竞赛任务四 单元测试
任务四 单元测试 任务要求 题目1:任意输入2个正整数值分别存入x、y中,据此完成下述分析:若x≤0或y≤0,则提示:“输入不符合要求。”;若2值相同,则提示“可以构建圆形或正方形”;若2…...
在Redis客户端设置连接密码 并演示密码登录
我们先连接到Redis服务 然后 我们要输入 CONFIG SET requirepass “新密码” 例如 CONFIG SET requirepass "A15167"这样 密码就被设置成立 A15167 我们 输入 AUTH 密码 例如 AUTH A15167这里 返回OK说明成功了 然后 我们退出在登录就真的需要 redis-cli -h IP地…...
阿里云公有云平台
1. 请简要介绍一下公有云平台的基本概念和特点。 公有云是一种云计算模型,其中服务器、网络和存储资源等IT基础架构以虚拟资源的形式提供,并且可以通过互联网进行访问。这些资源是由第三方提供商共享并提供给用户的,包括计算、存储、网络等。…...
Zookeeper的学习笔记
Zookeeper概念 Zookeeper是一个树形目录服务,简称zk。 Zookeeper是一个分布式的、开源的分布式应用程序的协调服务 Zookeeper提供主要的功能包括:配置管理,分布式锁,集群管理 Zookeeper命令操作 zk数据模型 zk中的每一个节点…...
leetcode2两数加和问题(链表)
题目思路: ①创建一个int类型的局部变量,用来存储两个结点的Val值。 ②判断该Val值与10求余(mod)后是否大于0,如果大于0, 则需要在下一个结点进位。 ③最关键的步骤:实现l1,l2结点数值相加后构建新的存储求和后的结点࿰…...
VSCode中配置prettier和ESLint
文章目录 了解ESLint和Prettier的作用prettier配置ESLint配置常见问答ESLint 和Prettier 有什么区别?为什么我应该同时使用ESLint 和Prettier?在使用ESLint 和Prettier 时,有可能出现它们之间的规则冲突吗?我已经在项目中使用了ES…...
如何将本地websocket发布至公网并实现远程访问服务端
文章目录 1. Java 服务端demo环境2. 在pom文件引入第三包封装的netty框架maven坐标3. 创建服务端,以接口模式调用,方便外部调用4. 启动服务,出现以下信息表示启动成功,暴露端口默认99995. 创建隧道映射内网端口6. 查看状态->在线隧道,复制所创建隧道的公网地址加端口号7. 以…...
分享 | 软件测试的基本流程是什么?软件测试流程详细介绍
软件测试 软件测试和软件开发一样,是一个比较复杂的工作过程,如果无章法可循,随意进行测试势必会造成测试工作的混乱。为了使测试工作标准化、规范化,并且快速、高效、高质量地完成测试工作,需要制订完整且具体的测试…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...
零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...
前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...
AspectJ 在 Android 中的完整使用指南
一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...
逻辑回归暴力训练预测金融欺诈
简述 「使用逻辑回归暴力预测金融欺诈,并不断增加特征维度持续测试」的做法,体现了一种逐步建模与迭代验证的实验思路,在金融欺诈检测中非常有价值,本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...
实战设计模式之模板方法模式
概述 模板方法模式定义了一个操作中的算法骨架,并将某些步骤延迟到子类中实现。模板方法使得子类可以在不改变算法结构的前提下,重新定义算法中的某些步骤。简单来说,就是在一个方法中定义了要执行的步骤顺序或算法框架,但允许子类…...
【Linux】Linux安装并配置RabbitMQ
目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的,需要先安…...
数据库正常,但后端收不到数据原因及解决
从代码和日志来看,后端SQL查询确实返回了数据,但最终user对象却为null。这表明查询结果没有正确映射到User对象上。 在前后端分离,并且ai辅助开发的时候,很容易出现前后端变量名不一致情况,还不报错,只是单…...
Linux 内存管理调试分析:ftrace、perf、crash 的系统化使用
Linux 内存管理调试分析:ftrace、perf、crash 的系统化使用 Linux 内核内存管理是构成整个内核性能和系统稳定性的基础,但这一子系统结构复杂,常常有设置失败、性能展示不良、OOM 杀进程等问题。要分析这些问题,需要一套工具化、…...
dvwa11——XSS(Reflected)
LOW 分析源码:无过滤 和上一关一样,这一关在输入框内输入,成功回显 <script>alert(relee);</script> MEDIUM 分析源码,是把<script>替换成了空格,但没有禁用大写 改大写即可,注意函数…...
