HBase集群搭建记录 | 云计算[CentOS8] | Maven项目访问HBase(下)

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
简介: step3. 使用eclipse打开maven项目并配置step4. 项目访问HBase

step3. 使用eclipse打开maven项目并配置


我们需要在项目根目录下执行mvn clean进行项目的清理

b7a20665a03643dd9572f415cf957741.png

上图提示正在删除target文件夹


然后给本地仓库加权限:

cd ~/.m2

chmod 777 repository

我们打开eclipse,依次点击:

window → \to→ prefiences → \to→ maven → \to→ user settings

cb0367def3bd4606866ba18641ad4d13.png


浏览选中我们设置的conf/settings.xml文件

然后点击Apply

然后选择:

8697e6b16aa445d1adb360c0dbc8c754.png


在弹出的框中,选择我们安装Maven的路径:

cb0367def3bd4606866ba18641ad4d13.png


然后点击finish完成操作并一路确认回去

就会在界面显示有我们安装的maven:

6798de6614344f8a958445b65079b0c2.png


勾选之后点击apply and close

然后给App.java加权限:

0d31933955de4a89b5eac5e785d1a692.png


step4. 项目访问HBase


在这里,我们将会在项目根目录之下添加HBase目录并加载jar包

创建HBase目录:

cp -a /usr/local/hbase ~/workspace/source/maven_hello/HBase/


打开项目:

4414913c7274490b930fcbf81f8ce632.png


d336b4065f4e483892e31ac4e5e4caaf.png


打开刚才的项目之后,然后添加jar包:

依次点击

58f2625ef79d4c18ad5cb04f1e0a9b89.png


1d3065b2dd68494b8806fd7722d8c8f4.png


弹框中选择/root/workspace/source/maven_hello/Hbase/hbase/lib下所有jar包

然后配置项目:

cp -a ~/workspace/source/maven_hello/HBase/hbase/conf/hbase-site.xml ~/workspace/source/maven_hello/conf/


在Eclipse菜单中选择Project → \to→ Properties → \to→ java build path→ \to→Libraries→ \to→Add Class Folder,将刚刚增加的conf目录加入到Libraries中

然后给pom.xml添加权限和依赖:

chmod 777 ~/workspace/source/maven_hello/pom.xml

71dadf91bb2440738d341cefa832a98e.png


加入:

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>1.7.25</version>
    <scope>compile</scope>
</dependency>


然后打开App.java,写入代码:

记得将里面的主机名等修改为自己的,切勿盲目CV

import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.regionserver.BloomType;
import org.apache.hadoop.hbase.util.Bytes;
public class App 
{
  static Configuration conf=HBaseConfiguration.create();  
  static Connection connection;
  public static void main( String[] args )
  {      String tablename="hbase_tb";                 
          try { 
            App.getConnect();    
            App.createTable(tablename);   
            App.addData(tablename);
              }
          catch (Exception e) { e.printStackTrace();  }      
   }
  public static void getConnect() throws IOException
   {
    conf.set("hbase.zookeeper.quorum", "master315");
    conf.set("hbase.zookeeper.property.clientPort", "2181");
    //conf.set("zookeeper.znode.parent", "/hbase");
     try{ connection=ConnectionFactory.createConnection(conf);  }
    catch(IOException e){     }    
   }
  //创建一张表,通过HBaseAdmin HTableDescriptor来创建  
   public static void createTable(String tablename) throws Exception 
   {     
     TableName tableName= TableName.valueOf(tablename);
     Admin admin = connection.getAdmin();  
        if (admin.tableExists(tableName)) {
         admin.disableTable(tableName);
         admin.deleteTable(tableName);
         System.out.println(tablename + " table Exists, delete ......");  
      }  
            @SuppressWarnings("deprecation")
            HTableDescriptor desc = new HTableDescriptor(tableName);  
            @SuppressWarnings("deprecation")
            HColumnDescriptor colDesc = new HColumnDescriptor("cf1");
            colDesc.setBloomFilterType(BloomType.ROWCOL);
            desc.addFamily(colDesc);  
            desc.addFamily(new HColumnDescriptor("cf2"));  
            admin.createTable(desc);     admin.close();
            System.out.println("create table success!");  
  }  
   public static void addData(String tablename) throws Exception {  
        HTable table = (HTable)connection.getTable( TableName.valueOf(tablename));
        Put p1=new Put(Bytes.toBytes("row1")); //row key  
        p1.addColumn(Bytes.toBytes("cf1"), Bytes.toBytes("name"), Bytes.toBytes("Tom")); 
        p1.addColumn(Bytes.toBytes("cf1"), Bytes.toBytes("age"), Bytes.toBytes("12"));  
        p1.addColumn(Bytes.toBytes("cf2"), Bytes.toBytes("math"), Bytes.toBytes("80")); 
        p1.addColumn(Bytes.toBytes("cf2"), Bytes.toBytes("english"), Bytes.toBytes("90"));  
        table.put(p1);
        table.close();
  } 
}


记得将里面的主机名等修改为自己的,切勿盲目CV

记得打开hadoop,zookeeper,hbase

start-all.sh
zkServer.sh start
start-hbase.sh


点击运行,则会看到:

6bac3928abd14819a587c2e17fab2d4c.png


表创建成功~

进入HBase的shell,手动查询插入的信息:

08d033780693472eb1ad6d57d4b17dd5.png


显然数据插入成功~

eclipse使用maven项目访问HBase

相关实践学习
lindorm多模间数据无缝流转
展现了Lindorm多模融合能力——用kafka API写入,无缝流转在各引擎内进行数据存储和计算的实验。
云数据库HBase版使用教程
&nbsp; 相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情:&nbsp;https://cn.aliyun.com/product/hbase &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
4月前
|
分布式计算 Hadoop Java
Hadoop集群搭建,基于3.3.4hadoop和centos8【图文教程-从零开始搭建Hadoop集群】,常见问题解决
本文是一份详细的Hadoop集群搭建指南,基于Hadoop 3.3.4版本和CentOS 8操作系统。文章内容包括虚拟机创建、网络配置、Java与Hadoop环境搭建、克隆虚拟机、SSH免密登录设置、格式化NameNode、启动Hadoop集群以及通过UI界面查看Hadoop运行状态。同时,还提供了常见问题的解决方案。
Hadoop集群搭建,基于3.3.4hadoop和centos8【图文教程-从零开始搭建Hadoop集群】,常见问题解决
|
3月前
|
Kubernetes Ubuntu Linux
Centos7 搭建 kubernetes集群
本文介绍了如何搭建一个三节点的Kubernetes集群,包括一个主节点和两个工作节点。各节点运行CentOS 7系统,最低配置为2核CPU、2GB内存和15GB硬盘。详细步骤包括环境配置、安装Docker、关闭防火墙和SELinux、禁用交换分区、安装kubeadm、kubelet、kubectl,以及初始化Kubernetes集群和安装网络插件Calico或Flannel。
236 4
|
3月前
|
存储 分布式计算 Hadoop
Hadoop-33 HBase 初识简介 项目简介 整体架构 HMaster HRegionServer Region
Hadoop-33 HBase 初识简介 项目简介 整体架构 HMaster HRegionServer Region
71 2
|
4月前
|
存储 Kubernetes 负载均衡
CentOS 7.9二进制部署K8S 1.28.3+集群实战
本文详细介绍了在CentOS 7.9上通过二进制方式部署Kubernetes 1.28.3+集群的全过程,包括环境准备、组件安装、证书生成、高可用配置以及网络插件部署等关键步骤。
714 3
CentOS 7.9二进制部署K8S 1.28.3+集群实战
|
4月前
|
Kubernetes Linux API
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
该博客文章详细介绍了在CentOS 7.6操作系统上使用kubeadm工具部署kubernetes 1.17.2版本的测试集群的过程,包括主机环境准备、安装Docker、配置kubelet、初始化集群、添加节点、部署网络插件以及配置k8s node节点管理api server服务器。
174 0
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
|
2月前
|
XML Java 测试技术
从零开始学 Maven:简化 Java 项目的构建与管理
Maven 是一个由 Apache 软件基金会开发的项目管理和构建自动化工具。它主要用在 Java 项目中,但也可以用于其他类型的项目。
63 1
从零开始学 Maven:简化 Java 项目的构建与管理
|
2月前
|
Java Maven
maven项目的pom.xml文件常用标签使用介绍
第四届人文,智慧教育与服务管理国际学术会议(HWESM 2025) 2025 4th International Conference on Humanities, Wisdom Education and Service Management
186 8
|
2月前
|
Java 应用服务中间件 Maven
Maven的三种项目打包方式——pom,jar,war的区别
Maven 提供了多种打包方式,分别适用于不同类型的项目。pom 用于父项目或聚合项目,便于项目的结构和依赖管理;jar 用于Java类库或可执行的Java应用程序;war 则专用于Java Web应用程序的部署。理解这些打包方式的用途和特点,可以帮助开发者更好地配置和管理Maven项目,确保构建和部署过程的顺利进行。无论是单模块项目还是多模块项目,选择合适的打包方式对于项目的成功至关重要。
176 3
|
3月前
|
Java 关系型数据库 MySQL
Maven——创建 Spring Boot项目
Maven 是一个项目管理工具,通过配置 `pom.xml` 文件自动获取所需的 jar 包,简化了项目的构建和管理过程。其核心功能包括项目构建和依赖管理,支持创建、编译、测试、打包和发布项目。Maven 仓库分为本地仓库和远程仓库,远程仓库包括中央仓库、私服和其他公共库。此外,文档还介绍了如何创建第一个 SpringBoot 项目并实现简单的 HTTP 请求响应。
227 1
Maven——创建 Spring Boot项目
|
3月前
|
Java 关系型数据库 MySQL
如何使用 maven 创建一个 Spring Boot项目
Maven 是一个强大的项目管理工具,通过配置 `pom.xml` 文件自动获取所需的 jar 包,提高开发效率。其核心功能包括项目构建和依赖管理。项目构建支持编译、测试、打包和发布等流程,而依赖管理则通过中央仓库、本地仓库和私有服务器获取和管理项目依赖。示例中展示了如何创建第一个 SpringBoot 项目并实现简单接口。
63 1
如何使用 maven 创建一个 Spring Boot项目