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

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: 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
目录
相关文章
|
5月前
|
Linux 数据库管理 Python
CentOS7编译安装Python3.10(含OpenSSL1.1.1安装),创建虚拟环境,运行Django项目(含sqlite版本报错)
CentOS7编译安装Python3.10(含OpenSSL1.1.1安装),创建虚拟环境,运行Django项目(含sqlite版本报错)
783 4
|
10天前
|
Prometheus 监控 Cloud Native
在 HBase 集群中,Prometheus 通常监控哪些类型的性能指标?
在 HBase 集群中,Prometheus 监控关注的核心指标包括 Master 和 RegionServer 的进程存在性、RPC 请求数、JVM 内存使用率、磁盘和网络错误、延迟和吞吐量、资源利用率及 JVM 使用信息。通过 Grafana 可视化和告警规则,帮助管理员实时监控集群性能和健康状况。
|
1月前
|
分布式计算 Hadoop Shell
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
69 4
|
1月前
|
SQL 分布式计算 Hadoop
Hadoop-37 HBase集群 JavaAPI 操作3台云服务器 POM 实现增删改查调用操作 列族信息 扫描全表
Hadoop-37 HBase集群 JavaAPI 操作3台云服务器 POM 实现增删改查调用操作 列族信息 扫描全表
33 3
|
1月前
|
分布式计算 Hadoop Shell
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
57 3
|
1月前
|
存储 分布式计算 Hadoop
Hadoop-33 HBase 初识简介 项目简介 整体架构 HMaster HRegionServer Region
Hadoop-33 HBase 初识简介 项目简介 整体架构 HMaster HRegionServer Region
52 2
|
6月前
|
jenkins 网络安全 持续交付
新的centos7.9安装docker版本的jenkins2.436.1最新版本-后端项目发布(四)
新的centos7.9安装docker版本的jenkins2.436.1最新版本-后端项目发布(四)
125 3
|
3月前
|
Prometheus 监控 Cloud Native
在 HBase 集群中,Prometheus 通常监控哪些类型的性能指标?
在 HBase 集群中,Prometheus 通常监控哪些类型的性能指标?
123 2
|
3月前
|
Prometheus 监控 Cloud Native
在 HBase 集群中,Prometheus 通常监控哪些类型的性能指标?
在 HBase 集群中,Prometheus 通常监控哪些类型的性能指标?
|
5月前
|
缓存 Kubernetes Linux
CentOS 7上的GitLab Runner,让你的项目加速奔跑
CentOS 7上的GitLab Runner,让你的项目加速奔跑
396 1