Eclipse远程连接HBase

在Eclipse下新建一个Map/Reduce项目,并将以下jar添加到Build path:

程序代码:

package thathbase;

import java.io.IOException;
import java.util.Random;

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.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.Put;

public class HelloHbase {
    static Configuration conf;
    static HBaseAdmin admin;
    static Connection conn;
    static HTableDescriptor tableDescriptor;
    static HTable table;
    static Put putRow1;
    static Put putRow2;
    static Random rand =new Random(25);

    public static void main(String[] args) throws Exception {
        // TODO Auto-generated method stub
        init();
        createTable();
        insertTable();

    }

    private static void init() throws Exception {
        conf = HBaseConfiguration.create();
        conf.set("hbase.zookeeper.property.clientPort", "2181");
        conf.set("hbase.zookeeper.quorum", "master,slave03,slave04");
        conf.set("hbase.master", "master:60000");
        conn = ConnectionFactory.createConnection(conf);
        admin = (HBaseAdmin) conn.getAdmin();
    }

    @SuppressWarnings("deprecation")
    private static void createTable() throws Exception{
        if (!admin.tableExists("scores")){
            tableDescriptor = new HTableDescriptor("scores".getBytes());
            tableDescriptor.addFamily(new HColumnDescriptor("fam1"));
            admin.createTable(tableDescriptor);
        }
        else{
            System.out.println("Table already exists!");
        }
        table = new HTable(conf, "scores");
    }

    @SuppressWarnings("deprecation")
    private static void insertTable() throws IOException{
        putRow1 = new Put("row1".getBytes());
        putRow2 = new Put("row2".getBytes());

        for (int i =0; i<1000; i++){
            if (rand1() == 1){
                putRow1.add("fam1".getBytes(),"col1".getBytes(),String.valueOf(rand2()).getBytes());
                table.put(putRow1);
                System.out.println(i + ":Insert into col1.");
            }
            else{
                putRow2.add("fam1".getBytes(),"col2".getBytes(),String.valueOf(rand2()).getBytes());
                table.put(putRow2);
                System.out.println(i + ":Insert into col2.");
            }
        }
    }

    private static int rand1(){
        int r = rand.nextInt(100);
        if (r < 50)
            return 1;
        else
            return 2;
    }

    private static int rand2(){
        int r = rand.nextInt(10000);
        return r;
    }
}

以上程序调用HBAse的API,实现了新建一张表,并随机向表里插入数据。

时间: 2024-08-04 07:16:55

Eclipse远程连接HBase的相关文章

局域网内任何一台pc上windows下eclipse远程连接hbase数据库

通过很长一段时间的反复失败,终于在windows下实现远程连接hbase数据库,在不断的尝试过程中深感一个详细的文档的重要性,于是就把我配置的详细过程记录下来.文中如果有些地方用词不当,或者理解错误,欢迎您们评论. 一.运行平台 hbase服务器端:Ubuntu 14.04 64位:HBASE1.1.3:JAVA 1.8: hbase客服端:windows32/64位:JAVA1.8:eclipse 4.5: 二.linux服务器端环境配置 1.  安装java 1.8软件 1)下载java软件

Hadoop Eclipse远程连接出现:Error:Call to /10.10.10.10:9000 failed on local exception: java.io.EOFException

异常截图: 原因很简单,Hadoop对应的eclipse插件jar包版本不对,更换至响应版本即可. Hadoop Eclipse远程连接出现:Error:Call to /10.10.10.10:9000 failed on local exception: java.io.EOFException,布布扣,bubuko.com

Eclipse远程连接hadoop时 报 Permission denied:

用Eclipse远程连接hadoop时报org.apache.hadoop.security.AccessControlException: Permission denied: user=DrWho, access=READ_EXECUTE, inode="system":hadoop:supergroup:rwx-wx-wx错误,解决方法: 在hdfs-site.xml 中取消权限校验,即加入以下配置: <property>    <name>dfs.per

eclipse远程调用hbase遇到问题

http://www.aboutyun.com/thread-8401-1-1.html http://www.aboutyun.com/thread-5866-1-1.html 在Win7系统,eclipse读取Hbase运行报错: 问题1: java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries. 如果HADOOP_HOME为空,必然fullExeName为nu

eclipse远程连接hadoop2.7.3进行开发

一.前言 环境: 系统:centos6.5 hadoop版本:Apache hadoop2.7.3(Windows和centos都是同一个) eclipse版本:4.2.0(juno版本,windows) ant版本:ant 1.7.1(windows) java版本:1.8.0_05(windows) 我是在虚拟机中安装的系统,具体的安装和配置参考:Hadoop单机伪分布部署. 二.制作插件 1. 下载hadoop2x-eclipse-plugin-master.zip 在github下载:h

使用java(eclipse)远程连接hive

hive 版本apache-hive-1.2.1-bin 1.先启动mysql (sevice mysql start),然后启动hive远程服务,输入:./hive --service hiveserver2 即可 然后命令行会显示等待输入,不用管了这里了,进入第二步吧:2.引入jar包到项目中 jar包包括:  apache-hive-1.2.1-bin 里面的lib下的jar包,还有hadoop-2.7.1-->share-->hadoop-->common下的hadoop-com

Windwos下连远程linux Hbase小问题

前几天,兴起想仔细玩玩hbase,细细去研究一下,写了个小demo,从win7去连接另一台T510的ubuntu上的hbase.很简单的crud的操作程序,没有看出来什么问题,但是跑起来,硬是好像block住了,不往下执行,eclipse console没有打印任何信息,小红点还一直亮,纳闷之余,看到一些 Opening socket connection to server 192.168.0.xx/192.168.0.xx:2181. Will not attempt to authenti

VNCViewer Windows下远程连接Linux桌面

最近项目需求,需要将写的工程部署到centos6.5服务器上,但是出现了各种错误,就想着在linux下再调试代码.但是之前都是通过ssh链接远程服务器的,在ssh中肯定不能打开eclipse等集成开发工具,因此我们要在远程服务器上安装桌面及vncserver,然后在windows中用vncViewer连接. 一:服务器端(Centos6.5) 1:安装桌面: # yum groupinstall "GNOME Desktop Environment"(CentOS 5.x安装GNOME

使用Eclipse远程调试及原理

今天定位Linux Server端的Java应用程序的问题,使用了 Eclipse 远程调试 Java 应用程序,这恐怕是定位Server端最常见也是最根本的方法,居然至少有两位有好几年开发经验的同事都不知道这个方法,我也感觉十分诧异. 本文在介绍使用Eclipse远程调试Java应用程序之外,着重解析了远程调试的原理. JVM原理 众所周知,Java由于引入了虚拟机JVM,拥有了很好的跨平台和安全性,.java文件由Javac编译成.class文件也叫字节码文件,字节码文件由JVM执行,并由翻