Ubuntu系统中分布式安装配置HBase-2.3.7

news2024/11/15 11:50:44

 HBase是一个基于Hadoop的分布式列式数据库,可以存储海量的结构化和半结构化数据。本文介绍如何在三个Ubuntu系统上搭建一个HBase集群,并进行简单的数据操作。

在三个Ubuntu系统上分布式安装配置HBase-2.3.7,主要步骤包括:

  • 准备工作:下载安装包,设置环境变量,解压安装包。
  • 安装配置HBase:编辑配置文件,指定分布式模式,数据目录,Zookeeper地址,RegionServer列表,分发安装包。
  • 启动HBase集群:启动服务,查看状态,使用客户端连接。

一、准备工作

  • 首先确保已经安装配置好Hadoop和Zookeeper,并且可以正常运行。本文假设已经按照之前文章的步骤搭建了一个三节点的Hadoop集群和一个三节点的Zookeeper集群,它们的IP地址和主机名分别如下:
IP地址主机名
192.168.1.100hadoop100
192.168.1.200hadoop200
192.168.1.201hadoop201
  • 然后官网下载HBase-2.3.7的安装包
  • 接着在hadoop100上将下载的安装包放到桌面,然后解压到/usr/local/hbase目录下,例如:
tar zxvf ~/Desktop/hbase-2.3.7-bin.tar.gz -C /usr/local
mv /usr/local/hbase-2.3.7 /usr/local/hbase
  • 最后在hadoop100上设置HBASE_HOME环境变量,可以在/etc/profile文件中添加如下内容:
export HBASE_HOME=/usr/local/hbase
export PATH=$PATH:$HBASE_HOME/bin

然后执行source /etc/profile命令使配置生效。

二、安装配置HBase

  • 在hadoop100上编辑$HBASE_HOME/conf/hbase-env.sh文件,取消以下几行的注释,并修改其中内容:
export JAVA_HOME=/usr/local/java/jdk1.8.0_341 # 根据实际的JAVA_HOME路径修改
export HBASE_MANAGES_ZK=false # 设置为false,表示使用外部的Zookeeper集群
export HBASE_CLASSPATH=/usr/local/hadoop/hadoop-3.2.4/etc/hadoop # 添加Hadoop的配置文件路径
export LD_LIBRARY_PATH=/usr/local/hadoop/hadoop-3.2.4/lib/native

如果报错:HADOOP_ORG.APACHE.HADOOP.HBASE.UTIL.GETJAVAPROPERTY_OPTS: invalid variable name

##修改配置文件最后一项配置,取消注释
# Tell HBase whether it should include Hadoop's lib when start up,
# the default value is false,means that includes Hadoop's lib.
export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP="true"
  •  在hadoop100上编辑$HBASE_HOME/conf/hbase-site.xml文件,添加以下内容:
<configuration>
<property>
<!-- 指定HBase在分布式模式下运行 -->
	<name>hbase.cluster.distributed</name>
    <value>true</value>
</property>
<!-- 临时文件存储位置 -->
<property>
    <name>hbase.tmp.dir</name>
    <value>/home/c914/hbasetsst/tmp</value>
</property>
<property>
    <name>hbase.unsafe.stream.capability.enforce</name>
    <value>false</value>
</property>
<!-- 指定Zookeeper集群的地址和端口 -->
<property>
	<name>hbase.zookeeper.quorum</name>
	<value>hadoop100,hadoop200,hadoop201</value>
</property>
<!-- 配置hbase存储位置,根据自己的hadoop集群配置端口 -->
<property>
	<name>hbase.rootdir</name>
    <value>hdfs://hadoop100:9000/hbase</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/usr/local/hbase/zk</value>
</property>

</configuration>

注意,这里的hbase.rootdir的值要和Hadoop配置中core-site.xml里fs.defaultFS的值一致,而hbase.zookeeper.quorum的值要和Zookeeper配置中zoo.cfg里server.x的值一致。

  • 在hadoop100上编辑$HBASE_HOME/conf/regionservers文件,添加以下内容:
hadoop100
hadoop200
hadoop201

这里指定了三个节点都作为HBase的RegionServer,负责存储数据。

  • 在hadoop100上将配置好的HBase安装包分发到其他两个节点上,例如:
scp -r /usr/local/hbase/ c914@hadoop200:/usr/local/
scp -r /usr/local/hbase/ c914@hadoop201:/usr/local/

这里假设已经在三个节点上配置了免密登录,否则需要输入密码。

三、启动HBase集群

启动顺序是 先启动hadoop ==> 再启动zookeeper ==> 最后启动hbase。

关闭的顺序是 先关闭hbase ==> 再关闭zookeeper ==> 最后关闭hadoop。 

  • 在主节点hadoop100上执行如下命令启动HBase集群:
start-hbase.sh
  • 在任意一个节点上执行如下命令查看HBase集群的状态:
jps

如果输出中显示了HMaster和HRegionServer进程,说明该节点已经加入到集群中。

  • 在任意一个节点上执行如下命令使用命令行客户端连接到HBase集群:
hbase shell

如果连接成功,会进入一个交互式的shell环境,可以输入一些命令来操作HBase,例如:

管理界面

如果上述结果都输出成功,就可以到浏览器中查看网页:

http://192.168.1.100:16010/

主节点IP地址:16010/ 

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

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

相关文章

MySQL的执行原理

一、单表访问之索引合并 我们前边说过MySQL在一般情况下执行一个查询时最多只会用到单个二级索引&#xff0c;但存在有特殊情况&#xff0c;在这些特殊情况下也可能在一个查询中使用到多个二级索引&#xff0c;MySQL中这种使用到多个索引来完成一次查询的执行方法称之为&#…

Qgis加载在线XYZ瓦片影像服务的实践操作

目录 背景 一、XYZ瓦片相关知识 1、xyz瓦片金字塔 2、 瓦片编号 3、瓦片访问 二、在Qgis中加载在线地图 1、Qgis版本 2、瓦片加载 3、地图属性预览 总结 背景 在做电子地图应用的时候&#xff0c;很常见的会提到瓦片&#xff08;tile&#xff09;的概念&#xff0c;瓦片…

Java实训日志07

文章目录 八、项目开发实现步骤&#xff08;十&#xff09;创建应用程序类1、创建app子包2、创建Application类 &#xff08;十一&#xff09;创建窗口界面类1、创建主界面窗口&#xff08;1&#xff09;做一个空白的主界面窗口&#xff08;2&#xff09;退出时弹出消息框询问用…

【cutlass】cuTe layout操作

简介 cuTe提供了对Layout操作的算法&#xff0c;可以混合执行来构建更复杂的Layout操作&#xff0c;比如在其他layout之间切分和平铺layout 在host或者device上打印cuTe cuTe的打印函数可以在host和device端打印。cute::print 重载了几乎所有 CuTe 类型&#xff0c;包括指针…

MT8168/MTK8168核心板,4G安卓核心板

MT8168是一款集成度很高的高性能应用处理器&#xff0c;具有低功耗特性&#xff0c;并且提供卓越的多媒体体验&#xff0c;适用于平板电脑、智能手持终端以及智能家居和物联网应用等嵌入式设备。这款芯片采用了先进的12纳米工艺&#xff0c;将四核Arm-Cortex A53 MPCore TM CPU…

关于JAVA中 方法中无法改变String的分析

package com.atguigu.String01;public class String01 {public static void main(String[] args) {// 字符串不变性String str "hello";// 对象成员数组是finalchange(str);System.out.println("change后的str:"str);int[] a {1,3,5,7,9};int[] b {2,3,…

【V4L2】 v4l2框架分析之v4l2_fh

一、v4l2_fh简介 &#x1f53a;相关源码文件&#xff1a; /drivers/media/v4l2-fh.c /drivers/media/v4l2-fh.h 在V4L2中&#xff0c;struct v4l2_fh结构用于保存V4L2框架中使用的文件句柄&#xff08;File Handle&#xff09;的数据&#xff0c;即每个打开的视频设备都会对…

微信小程序开发入门学习01-TDesign模板解读

目录 1 使用模板创建小程序2 app.json3 页面布局总结 原来我们使用微信开发者工具&#xff0c;比较困难的是前端框架的选择上&#xff0c;官方也没有提供一套框架供我们使用&#xff0c;最近开发者工具已经提供了一套前端框架&#xff0c;后续我们开发的效率会因为使用模板提高…

Linux-线程的同步与互斥

线程的同步与互斥 进程/线程间的互斥相关背景概念互斥量互斥量接口互斥量的初始化互斥量的销毁加锁和解锁 改善抢票系统互斥量原理 可重入与线程安全重入和线程安全的概念常见线程不安全情况常见线程安全的情况常见不可重入情况常见可重入情况可重入与线程安全的关系可重入与线…

Spring Security系列之认证(Authentication)架构

文章目录 架构主要组件SecurityContextHolderAuthenticationAuthenticationManagerProviderManagerAuthenticationProviderAuthenticationEntryPointAbstractAuthenticationProcessingFilter 架构主要组件 SecurityContextHolder - SecurityContextHolder 是 Spring Security …

【tensorflow】连续输入的神经网络模型训练代码

【tensorflow】连续输入的神经网络模型训练代码 全部代码 - 复制即用 训练输出 代码介绍 全部代码 - 复制即用 from sklearn.model_selection import train_test_split import tensorflow as tf import numpy as np from keras import Input, Model, Sequential from keras.l…

try-catch-finally中的四大坑

目录 1.坑1&#xff1a;finally中使用return 2.坑2&#xff1a;finally中的代码好像“不执行” 3.坑3&#xff1a;finally中的代码“非最后”执行 4.坑4&#xff1a;finally中的代码真的“不执行” 在 Java 语言中 try-catch-finally 看似简单&#xff0c;但想要真正的“掌…

对现在的生活不满意?《围城》给你个人,婚姻,爱情的启示

杨绛先生在100岁感言的时候说&#xff0c;我们曾如此期盼外界的认可&#xff0c;到最后才知道&#xff1a;世界是自己的&#xff0c;与他人毫无关系&#xff01;百岁老人的感言&#xff0c;清晰透彻地道出了人生的真相。我们每个人都是生活于关系之中的&#xff0c;在错综复杂的…

华为OD机试真题 JavaScript 实现【找车位】【2023 B卷 100分】,附详细解题思路

一、题目描述 停车场有一横排车位&#xff0c;0代表没有停车&#xff0c;1代表有车。至少停了一辆车在车位上&#xff0c;也至少有一个空位没有停车。 为了防剐蹭&#xff0c;需为停车人找到一个车位&#xff0c;使得距停车人的车最近的车辆的距离是最大的&#xff0c;返回此…

【tensorflow】连续输入的线性回归模型训练代码

【tensorflow】连续输入的感知机模型训练 全部代码 - 复制即用 训练输出 代码介绍 全部代码 - 复制即用 from sklearn.model_selection import train_test_split import tensorflow as tf import numpy as np from keras import Input, Model, Sequential from keras.layers …

2023ciscn初赛 Unzip

参考&#xff1a; 奇安信攻防社区-2021深育杯线上初赛官方WriteUp-Web篇 1.打开环境 2.上传一个文件&#xff0c;得到以下源码&#xff0c;分析一下8 <?php error_reporting(0); highlight_file(__FILE__);$finfo finfo_open(FILEINFO_MIME_TYPE); //使用 PHP 内置函数…

【软考系统规划与管理师笔记】第7篇 IT服务运营管理

这章也基本上是纯概念&#xff0c;整体上来说系统规划与管理师考试&#xff0c;以概念记忆为主。课本上的知识点往往告诉我们该怎么做&#xff0c;但是如何确保执行到位&#xff0c;如何主动激发员工、客户执行到位&#xff0c;往往还是空白&#xff1f;&#xff0c;作为考试记…

Android ANR分析

ANR(Application Not Responding&#xff0c;即应用程序无响应)。在Android中&#xff0c;当应用程序在规定时间内没有处理完毕相应的事件,系统就会报出ANR。 ANR类型 InputDispatchingTimedOut&#xff1a;应用程序主线程在5s内没有完成用户的input事件ServiceTimeout&#…

小型企业社交完整指南(2023年)

目录 如何制定成功的社交媒体营销策略 1. 设定预算和目标 2. 确定你的目标受众 3.研究竞争对手 4.选择社交媒体网站 5.定义你的社交媒体品牌 6.制定内容策略 社交媒体营销指标 如何制定成功的社交媒体营销策略 有效的内容营销始于计划。以下是通过六个步骤制定企业…

数据备份- rclone ,Duplicity, restic,rsync

目录 Duplicity 安装 语法&#xff1a; 案例&#xff1a; Rclone 简介 安装 设置 命令语法 备份 同步 常用功能选项 常用参数 日志 文件过滤 常用命令 查看远程文件夹的体积占用大小 Restic Restic 支持的存储类型 安装 备份至本地 创建备份仓库 备份至云…