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

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: 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

目录
相关文章
|
12月前
|
Java 区块链 Maven
关于引入maven项目后出现‘parent.relativePath’ of POM错误时的解决方法
关于引入maven项目后出现‘parent.relativePath’ of POM错误时的解决方法
814 3
|
11月前
|
Java jenkins 应用服务中间件
结合Jenkins与Tomcat,实施Maven项目的自动构建和部署流程。
任何项目构建和部署的自动化流程,总离不开对各个环节精细把控与密切配合。涉及到源代码管理、构建工具、持续集成服务器以及最终的运行时环境的协调。通过上述简洁实用的步骤,可以实现Maven项目从源代码到运行状态的无缝过渡,进而提升软件开发的效率与质量。
546 0
|
Java Maven 开发者
maven项目中官方setting.xml文件
`settings.xml` 是 Maven 的配置文件,用于定义用户或全局级别的构建行为。它包含本地仓库路径、网络代理、服务器认证、仓库镜像及构建配置文件等设置,帮助开发者根据环境定制 Maven 行为,提升构建效率与灵活性。
1683 0
|
Java 测试技术 项目管理
【JavaEE】从 0 到 1 掌握 Maven 构建 Java 项目核心技巧 解锁 Java 项目高效管理实用实例
本文从Maven基础概念讲起,涵盖安装配置、核心概念(如POM与依赖管理)及优化技巧。结合Java Web项目实例,演示如何用Maven构建和管理项目,解决常见问题,助你高效掌握这一强大工具,提升Java开发与项目管理能力。适合初学者及进阶开发者学习。资源链接:[点此获取](https://pan.quark.cn/s/14fcf913bae6)。
473 6
|
XML Java 测试技术
从零开始学 Maven:简化 Java 项目的构建与管理
Maven 是一个由 Apache 软件基金会开发的项目管理和构建自动化工具。它主要用在 Java 项目中,但也可以用于其他类型的项目。
991 1
从零开始学 Maven:简化 Java 项目的构建与管理
|
Java 关系型数据库 MySQL
Maven——创建 Spring Boot项目
Maven 是一个项目管理工具,通过配置 `pom.xml` 文件自动获取所需的 jar 包,简化了项目的构建和管理过程。其核心功能包括项目构建和依赖管理,支持创建、编译、测试、打包和发布项目。Maven 仓库分为本地仓库和远程仓库,远程仓库包括中央仓库、私服和其他公共库。此外,文档还介绍了如何创建第一个 SpringBoot 项目并实现简单的 HTTP 请求响应。
1320 1
Maven——创建 Spring Boot项目
|
Java 关系型数据库 MySQL
如何使用 maven 创建一个 Spring Boot项目
Maven 是一个强大的项目管理工具,通过配置 `pom.xml` 文件自动获取所需的 jar 包,提高开发效率。其核心功能包括项目构建和依赖管理。项目构建支持编译、测试、打包和发布等流程,而依赖管理则通过中央仓库、本地仓库和私有服务器获取和管理项目依赖。示例中展示了如何创建第一个 SpringBoot 项目并实现简单接口。
677 1
如何使用 maven 创建一个 Spring Boot项目
|
Java Maven
maven项目的pom.xml文件常用标签使用介绍
第四届人文,智慧教育与服务管理国际学术会议(HWESM 2025) 2025 4th International Conference on Humanities, Wisdom Education and Service Management
1359 8
|
Java 应用服务中间件 Maven
Maven的三种项目打包方式——pom,jar,war的区别
Maven 提供了多种打包方式,分别适用于不同类型的项目。pom 用于父项目或聚合项目,便于项目的结构和依赖管理;jar 用于Java类库或可执行的Java应用程序;war 则专用于Java Web应用程序的部署。理解这些打包方式的用途和特点,可以帮助开发者更好地配置和管理Maven项目,确保构建和部署过程的顺利进行。无论是单模块项目还是多模块项目,选择合适的打包方式对于项目的成功至关重要。
2886 3
|
Prometheus 监控 Cloud Native
在 HBase 集群中,Prometheus 通常监控哪些类型的性能指标?
在 HBase 集群中,Prometheus 监控关注的核心指标包括 Master 和 RegionServer 的进程存在性、RPC 请求数、JVM 内存使用率、磁盘和网络错误、延迟和吞吐量、资源利用率及 JVM 使用信息。通过 Grafana 可视化和告警规则,帮助管理员实时监控集群性能和健康状况。