在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{
admin.disableTable("scores");
admin.deleteTable("scores");
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++){
String row = String.valueOf(i);
if (rand1() == 1){
putRow1 = new Put(row.getBytes());
putRow1.add("fam1".getBytes(),"col1".getBytes(),String.valueOf(rand2()).getBytes());
table.put(putRow1);
System.out.println(i + ":Insert into col1.");
}
else{
putRow2 = new Put(row.getBytes());
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,实现了新建一张表,并随机向表里插入数据。

Eclipse远程连接HBase的更多相关文章

  1. Eclipse远程连接Hadoop

    Windows下面调试程序比在Linux下面调试方便一些,于是用Windows下的Eclipse远程连接Hadoop. 1. 下载相应版本的hadoop-eclipse-plugin插件,复制到ecl ...

  2. windows下eclipse远程连接hadoop集群开发mapreduce

    转载请注明出处,谢谢 2017-10-22 17:14:09  之前都是用python开发maprduce程序的,今天试了在windows下通过eclipse java开发,在开发前先搭建开发环境.在 ...

  3. windows下eclipse远程连接hadoop错误“Exception in thread"main"java.io.IOException: Call to Master.Hadoop/172.20.145.22:9000 failed ”

    在VMware虚拟机下搭建了hadoop集群,ubuntu-12.04,一台master,三台slave.hadoop-0.20.2版本.在 master机器上利用eclipse-3.3连接hadoo ...

  4. 完成在本机远程连接HBase进行数据增删改查

    1.进行hbase与本机远程连接测试连接 1.1 修改虚拟机文件hbase-site.xml(cd/usr/local/hbase/conf)文件,把localhost换成你的虚拟机主机名字 1.2修 ...

  5. eclipse远程连接hive

    创建项目,添加jar包,hive的s上,所以也需要hadoop的一些jar 这个图片是从网上找的,我直接使用的以前hadoop的项目   创建测试类,写测试代码 //获取jdbc链接 private ...

  6. Win7下通过eclipse远程连接CDH集群来执行相应的程序以及错误说明

    最近尝试这用用eclipse连接CDH的集群,由于之前尝试过很多次都没连上,有一次发现Cloudera Manager是将连接的端口修改了,所以才导致连接不上CDH的集群,之前Apache hadoo ...

  7. hadoop开发环境部署——通过eclipse远程连接hadoop2.7.3进行开发

    一.前言 环境: 系统:centos6.5 hadoop版本:Apache hadoop2.7.3(Windows和centos都是同一个) eclipse版本:4.2.0(juno版本,window ...

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

    异常截图:

  9. windows下Eclipse远程连接linux hadoop远程调试 经验(一)

    环境 Windows 7 64bit JDK 1.6.0_45  (i586) JDK 1.7.0_51  (i586) Eclipse Kepler Eclipse -plugin-1.2.1.ja ...

随机推荐

  1. hihocoder #1170 机器人 &amp;&amp; 编程之美2015复赛

    题意: 时间限制:2000ms 单点时限:1000ms 内存限制:256MB 描写叙述 小冰的N个机器人兄弟排成一列,每一个机器人有一个颜色. 如今小冰想让同一颜色的机器人聚在一起.即随意两个同颜色的 ...

  2. Java并发编程的艺术(九)——批量获取多条线程的执行结果

    当向线程池提交callable任务后,我们可能需要一次性获取所有返回结果,有三种处理方法. 方法一:自己维护返回结果 // 创建一个线程池 ExecutorService executorServic ...

  3. 用Eclipse给安卓应用进行签名

    Eclipse功能强大,用它来给应用进行签名也十分简单.下面是进行签名的步骤

  4. 使用PHP生成二维码图像

    1.PHP生成二维码图像的类QRcode http://www.phper.org.cn/?post=128 QRcode是用于生成二维条形码的开放源码 (LGPL) 库.提供 API 创建条码图像. ...

  5. windows核心编程-互斥器(Mutexes)

    线程同步的方式主要有:临界区.互斥区.事件.信号量四种方式. 前边讲过了临界区线程同步-----windows核心编程-关键段(临界区)线程同步,这章我来介绍一下互斥器(Mutexes)在线程同步中的 ...

  6. linux shell grep/awk/sed 匹配tab

    处理文件的命令实在是多, sed, awk, grep等.遇到了需要匹配tab的情况, 记录一下. 例子如下:找出文本中第一列是1的行. 文本a 解法1 : 直接使用正则表达式, ^表示开头, \t表 ...

  7. VS2010 SP1安装失败之”此计算机的状态不支持此安装“()

    升级安装VS2010SP1的时候,出现“此计算机的状态不支持此安装”,Google得之: 如下图显示: 安装程序已经检测到,此计算机不满足安装此软件所需的条件.必须先解决以下这些造成阻止的问题,才可以 ...

  8. C/C++二叉树搜索树操作集

    啥是二叉查找树 在数据结构中,有一个奇葩的东西,说它奇葩,那是因为它重要,这就是树.而在树中,二叉树又是当中的贵族.二叉树的一个重要应用是它们在查找中的应用,于是就有了二叉查找树. 使二叉树成为一颗二 ...

  9. Hadoop家族学习路线图v

    主要介绍Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, Chukwa,新增加的项 ...

  10. 一次Spark应用程序参数优化案例

    并行度 对于*ByKey等需要shuffle而生成的RDD,其Partition数量依如下顺序确定:1. 方法的第二个参数 > 2. spark.default.parallelism参数 &g ...