在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. MEF在运行时替换插件

    利用AppDomain的ShadowCopy特性. var setup = new AppDomainSetup { CachePath = cachePath, ShadowCopyFiles = ...

  2. WordPress主题开发:截取标题或内容

    截取可以用wp_trim_words() 用法: <?php $trimmed = wp_trim_words( $text, $num_words = 55, $more = null ); ...

  3. java初始化ArrayList

    初始化ArrayList我们一般这样写:ArrayList<String> places = new ArrayList<String>();places.add(" ...

  4. 分布式系统唯一ID生成方案汇总 转

    系统唯一ID是我们在设计一个系统的时候常常会遇见的问题,也常常为这个问题而纠结.生成ID的方法有很多,适应不同的场景.需求以及性能要求.所以有些比较复杂的系统会有多个ID生成的策略.下面就介绍一些常见 ...

  5. Xcode添加build configuration

    图片转载自:Adding a build configuration in Xcode

  6. 《Netty权威指南》

    <Netty权威指南> 基本信息 作者: 李林锋 出版社:电子工业出版社 ISBN:9787121233432 上架时间:2014-5-29 出版日期:2014 年6月 开本:16开 页码 ...

  7. SQL Script for select data from ebs and make a csv file to FTP

    DECLARE CURSOR cur_lcy_test IS SELECT rcta.customer_trx_id, rcta.trx_number, rcta.trx_date FROM ra_c ...

  8. hyper-v 尝试更改 状态时 应用程序遇到错误 无法初始化

    刚还原了一个问题,现在 又来一个: 让我崩溃的微软 hyper-v.这次错误 提示也没了. http://social.technet.microsoft.com/Forums/de-DE/751b2 ...

  9. Ubuntu sh命令无法正确执行 (修改默认sh为bash)

    新安装的ubuntu,执行shell命令,都怀疑自己的shell水平了. 原来, ubuntu默认的是dash, 需要手动执行命令将dash改为bash. 命令: sudo dpkg-reconfig ...

  10. Web安全学习规划

    一名合格的Web安全工程师是要具备很多的知识点,不但要对网站架构熟悉,通讯协议,测试流程与测试工具使用,漏洞利用脚本编写,还有需要经验的积累等. 互联网进入下半场,竞争越发的激烈,能与人工智能比肩的热 ...