idea连接Hbase卡住,没有输出
2023-12-14 04:55:46
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();
}
}
}
文章来源:https://blog.csdn.net/qq_62736318/article/details/134863704
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!