idea连接Hbase卡住,没有输出

1.项目场景 (idea连接hbase)

先检查hadoop,zookeeper,hbase启动没有

 idea连接hbase,创建命名空间,idea一直卡住在日志,没有输出

package com.wf.hbase;

import org.apache.hadoop.hbase.NamespaceDescriptor;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.Connection;


import java.io.IOException;

public class HbaseDDL {
    //连接
    //  public static Connection connection=HbaseConnectUtil.connection;
    // 添加静态属性 connection 指向单例连接
    public static Connection connection = ConnectUtil.getConnection();

    // 1. 获取 admin
    public static void createNamespace(String namespace) throws
            IOException {

        Admin admin = connection.getAdmin();
        NamespaceDescriptor.Builder builder =
                NamespaceDescriptor.create(namespace);
        // 2.2 给命令空间添加需求
        builder.addConfiguration("user", "atguigu");
        // 2.3 使用 builder 构造出对应的添加完参数的对象 完成创建
        // 创建命名空间出现的问题 都属于本方法自身的问题 不应该抛出
        try {
            admin.createNamespace(builder.build());
        } catch (IOException e) {
            System.out.println("命令空间已经存在");
            e.printStackTrace();
        }
        // 3. 关闭 admin
        admin.close();
    }


    public static void main(String[] args) throws IOException {
        //DDL需要Admin示例来操作
        createNamespace("nazhan");
        //其他代码
        System.out.println("其他代码");
        //关闭connection,重量级的
        ConnectUtil.close();
    }
}

2.解决办法

不要使用resources下面的配置文件hbase-site.xml,虽然源码是读取这个,但是十分的慢

改成手动配置

package com.wf.hbase;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;

import java.io.IOException;

public class ConnectUtil {

    private static Connection connection=null;
    public static Connection getConnection()  {
        Configuration conf = new Configuration();
        //2.添加配置参数
        conf.set("hbase.zookeeper.quorum","hadoop102,hadoop103,hadoop104");

        //3.创建hbase的连接
        //默认使用同步连接
        try {
            connection = ConnectionFactory.createConnection();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return connection;
    }


    public static void close() throws IOException {

        if(connection!=null){
            connection.close();
        }

    }
}

相关推荐

  1. idea连接Hbase卡住没有输出

    2023-12-10 23:28:02       57 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-10 23:28:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-10 23:28:02       106 阅读
  3. 在Django里面运行非项目文件

    2023-12-10 23:28:02       87 阅读
  4. Python语言-面向对象

    2023-12-10 23:28:02       96 阅读

热门阅读

  1. ES6中的Set

    2023-12-10 23:28:02       55 阅读
  2. LinuxBasicsForHackers笔记 --添加和删除软件

    2023-12-10 23:28:02       48 阅读
  3. Qt 通过命令行编译程序

    2023-12-10 23:28:02       60 阅读
  4. qt5图形视频框架

    2023-12-10 23:28:02       57 阅读
  5. Linux指令——scp:传输文件

    2023-12-10 23:28:02       57 阅读
  6. kafka

    2023-12-10 23:28:02       59 阅读
  7. LeetCode 76. 最小覆盖子串 滑动窗口框架

    2023-12-10 23:28:02       58 阅读
  8. python函数

    2023-12-10 23:28:02       67 阅读
  9. Python大数据之Python进阶(三)多进程的使用

    2023-12-10 23:28:02       60 阅读