远程连接Hbase之环境配置

前几天,突然接到任务,须连同Hbase数据库,因之前没有接触过,以为这就是和普通数据库连接方式一样,后来在操作过程中,才发现,坑真的很多,话不多说,直接上代码:

1.首先查看远程服务器(本人是开发库)的Hbase版本,通过Hbase shell命令连接到Hbase

查看到版本为1.2.0,此外还有其他查看方式,查看/lib/*****.jar文件也可看出版本号,查看此版本的原因是要与pom.xml文件里面的依赖相对应,避免因版本号不一致而导致无法连接

        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-hadoop</artifactId>
            <version>2.5.0.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-client</artifactId>
            <version>1.2.0</version>
            <exclusions>
                <exclusion>
                    <artifactId>guava</artifactId>
                    <groupId>com.google.guava</groupId>
                </exclusion>
            </exclusions>
        </dependency>

添加好依赖以后,就开始写测试类:

private static String ip = "*.*.*.116,*.*.*.173,*.*.*.174";
public static void init() {
        Configuration conf = HBaseConfiguration.create();
        conf.set("hbase.zookeeper.property.maxclientcnxns", "300");
        conf.set("hbase.ipc.client.socket.timeout.connect","1000");
        conf.set("zookeeper.session.timeout", "500");
        conf.set("hbase.regionserver.handler.count", "500");
        System.setProperty("hadoop.home.dir", "D:/Documents/Desktop/hadoop-common-2.6.0");
        conf.set("hbase.zookeeper.quorum",ip);
        try {
           conn = ConnectionFactory.createConnection(conf);
            //createTable(TABLE_NAME, FAMILY_NAMES);
             //getTablesList(conn);
            scan("students");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

此处IP为集群的IP地址,请自行配置,配置完成后,切记还要提前配置好hadopp.hoop.dir,尽管本地未用到,不过不添加会报错,添加方式和JAVA_HOME的方式一致,需配置路径,配置完这个地方后,还需要配置C:\Windows\System32\drivers\etc\hosts文件,

切记,红色框内的名称要和hsite.xml文件保持一致,不然报错一直找不到classpath=null,到此,配置基本完成,

最后,运行代码

17:06:57.718 [main] DEBUG org.apache.hadoop.hbase.ipc.RpcClientImpl - Use SIMPLE authentication for service ClientService, sasl=false
17:06:57.735 [main] DEBUG org.apache.hadoop.hbase.ipc.RpcClientImpl - Connecting to worker3/*.*.*.176:60020
17:06:57.872 [hconnection-0x7770f470-shared--pool1-t1] DEBUG org.apache.hadoop.hbase.ipc.RpcClientImpl - Use SIMPLE authentication for service ClientService, sasl=false
17:06:57.873 [hconnection-0x7770f470-shared--pool1-t1] DEBUG org.apache.hadoop.hbase.ipc.RpcClientImpl - Connecting to worker2/*.*.*.175:60020
stu001	info:nme => tom
stu001_002	info:name => zhangtb
stu001_002_003	info:name => licy
stu002_001	info:name => weil

取出学生信息,以上为本人亲测,如有问题,请留言沟通

发布了23 篇原创文章 · 获赞 7 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/ghd602338792/article/details/84975511
今日推荐