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

简介: 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

目录
相关文章
|
8月前
|
分布式计算 Hadoop Java
CentOS中构建高可用Hadoop 3集群
这个过程像是在一个未知的森林中探索。但当你抵达终点,看到那个熟悉的Hadoop管理界面时,所有的艰辛都会化为乌有。仔细观察,尽全力,这就是构建高可用Hadoop 3集群的挑战之旅。
331 21
|
9月前
|
Java Linux
CentOS环境搭建Elasticsearch集群
至此,您已成功在CentOS环境下搭建了Elasticsearch集群。通过以上介绍和步骤,相信您对部署Elasticsearch集群有了充分的了解。最后祝您在使用Elasticsearch集群的过程中顺利开展工作!
528 22
|
分布式计算 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集群】,常见问题解决
|
存储 Kubernetes 负载均衡
CentOS 7.9二进制部署K8S 1.28.3+集群实战
本文详细介绍了在CentOS 7.9上通过二进制方式部署Kubernetes 1.28.3+集群的全过程,包括环境准备、组件安装、证书生成、高可用配置以及网络插件部署等关键步骤。
2413 4
CentOS 7.9二进制部署K8S 1.28.3+集群实战
|
Kubernetes Ubuntu Linux
Centos7 搭建 kubernetes集群
本文介绍了如何搭建一个三节点的Kubernetes集群,包括一个主节点和两个工作节点。各节点运行CentOS 7系统,最低配置为2核CPU、2GB内存和15GB硬盘。详细步骤包括环境配置、安装Docker、关闭防火墙和SELinux、禁用交换分区、安装kubeadm、kubelet、kubectl,以及初始化Kubernetes集群和安装网络插件Calico或Flannel。
1162 4
|
8月前
|
分布式计算 Ubuntu Hadoop
Ubuntu22.04下搭建Hadoop3.3.6+Hbase2.5.6+Phoenix5.1.3开发环境的指南
呈上,这些步骤如诗如画,但有效且动人。仿佛一个画家在画布上描绘出一幅完美的画面,这就是你的开发环境。接下来,尽情去创造吧,祝编程愉快!
580 19
|
分布式计算 Java Hadoop
java使用hbase、hadoop报错举例
java使用hbase、hadoop报错举例
362 4
|
分布式计算 Hadoop Shell
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
347 4
|
SQL 分布式计算 Hadoop
Hadoop-37 HBase集群 JavaAPI 操作3台云服务器 POM 实现增删改查调用操作 列族信息 扫描全表
Hadoop-37 HBase集群 JavaAPI 操作3台云服务器 POM 实现增删改查调用操作 列族信息 扫描全表
205 3
|
分布式计算 Hadoop Shell
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
236 3