IDEA连接HBase集群

#环境介绍#

本地电脑window10

IntelliJ IDEA Community Edition 2023.2.3

虚拟机集群Hadoop3.1.4:master/slave1/slave2/slave3

HBase2.2.2

一、在IDEA中创建工程

  1. file->new->New Project

        设置项目名和存储路径,选择Archetype

        2.选择项目,创建目录结构。

        项目名右击->new->directory(下图的前两个)

        得到如下目录结构:

        将core-site.xml和hbase-site.xml放入resources目录下

                core-site.xml在虚拟机master节点下的/usr/local/hadoop-3.1.4/etc/hadoop/

                hbase-site.xml在虚拟机master节点下的/opt/hbase-2.2.2/conf/

        在项目中导入jar包(hadoop解压后的jar包和hbase解压后的jar包)

        先将hadoop和hbase的压缩包解压到本地

        file->project structure->libraries-> “+”

        导入hadoop解压后(C:\hadoop-3.1.4\share\hadoop\client)路径下所有包

                    hbase解压后(C:\hbase-2.2.2\lib)路径下所有包

                    hbase解压后(C:\hbase-2.2.2\lib\client-facing-thirdparty)路径下所有包

        导完之后的效果:

二、配置Windows系统环境变量

        我的电脑右击属性->高级系统设置->环境变量

        在系统变量中新建,添加HADOOP_HOME的变量名和对应的路径

        在系统变量的Path变量中添加HADOOP_HOME变量

三、配置Windows系统hosts文件

        查看虚拟机中/etc/hosts文件      

     将ip与主机名映射复制,粘贴到windows系统的hosts文件中,hosts文件路径为(C:\Windows\System32\drivers\etc),用记事本打开。

四、hadoop.dll文件导入

        将hadoop.dll文件放入C:\Windows\System32\路径下。

五、启动HBase集群

        master节点start-dfs.sh 和start-yarn.sh

        slave1、slave2和slave3依次启动zookeeper:zkServer.sh start

        master节点start-hbase.sh

        master节点hbase shell进行hbase,输入list_namespace测试        

六、在IDEA中编写程序,测试连接

        在src\main\java下创建com.zx.hbase包,在包下创建HBaseTest文件。

        将以下代码放入其中        

package com.zx.hbase;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.*;
import org.apache.hadoop.hbase.client.*;
import org.apache.hadoop.hbase.util.Bytes;
import java.io.IOException;
public class HBaseTest {
    public static Configuration configuration;  //管理HBase的配置信息
    public static Connection connection;  //管理HBase的连接
    public static Admin admin;   //管理HBase数据库表信息
    public static void main(String[] args)throws IOException{
        init();
        createTable("my_ns:teacher123",new String[]{"score","info"});
        close();
    }
    //建立连接
    public static void init(){
        configuration  = HBaseConfiguration.create();
        configuration.set("hbase.rootdir","hdfs://master:8020/hbase");
        try{
            connection = ConnectionFactory.createConnection(configuration);
            admin = connection.getAdmin();
        }catch (IOException e){
            e.printStackTrace();
        }
    }
    // 关闭连接
    public static void close() {
        try {
            if (admin != null) {
                admin.close();
            }
            if (null != connection) {
                connection.close();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    //创建表
    public static void createTable(String myTableName,String[] colFamily) throws IOException {
        TableName tableName = TableName.valueOf(myTableName);
        if(admin.tableExists(tableName)){
            System.out.println("talbe is exists!");
        }else {
            TableDescriptorBuilder tableDescriptor = TableDescriptorBuilder.newBuilder(tableName);
            for(String str:colFamily){
                ColumnFamilyDescriptor family =
                        ColumnFamilyDescriptorBuilder.newBuilder(Bytes.toBytes(str)).build();
                tableDescriptor.setColumnFamily(family);
            }
            admin.createTable(tableDescriptor.build());
        }
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个喜欢拍照的厨子

您的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值