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{
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的更多相关文章
- Eclipse远程连接Hadoop
Windows下面调试程序比在Linux下面调试方便一些,于是用Windows下的Eclipse远程连接Hadoop. 1. 下载相应版本的hadoop-eclipse-plugin插件,复制到ecl ...
- windows下eclipse远程连接hadoop集群开发mapreduce
转载请注明出处,谢谢 2017-10-22 17:14:09 之前都是用python开发maprduce程序的,今天试了在windows下通过eclipse java开发,在开发前先搭建开发环境.在 ...
- 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 ...
- 完成在本机远程连接HBase进行数据增删改查
1.进行hbase与本机远程连接测试连接 1.1 修改虚拟机文件hbase-site.xml(cd/usr/local/hbase/conf)文件,把localhost换成你的虚拟机主机名字 1.2修 ...
- eclipse远程连接hive
创建项目,添加jar包,hive的s上,所以也需要hadoop的一些jar 这个图片是从网上找的,我直接使用的以前hadoop的项目 创建测试类,写测试代码 //获取jdbc链接 private ...
- Win7下通过eclipse远程连接CDH集群来执行相应的程序以及错误说明
最近尝试这用用eclipse连接CDH的集群,由于之前尝试过很多次都没连上,有一次发现Cloudera Manager是将连接的端口修改了,所以才导致连接不上CDH的集群,之前Apache hadoo ...
- hadoop开发环境部署——通过eclipse远程连接hadoop2.7.3进行开发
一.前言 环境: 系统:centos6.5 hadoop版本:Apache hadoop2.7.3(Windows和centos都是同一个) eclipse版本:4.2.0(juno版本,window ...
- Hadoop Eclipse远程连接出现:Error:Call to /10.10.10.10:9000 failed on local exception: java.io.EOFException
异常截图:
- 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 ...
随机推荐
- 如何在SpringMVC中获取request对象
1.注解法 @Autowired private HttpServletRequest request; <listener> <listener-class> org.spr ...
- libcurl上传文件
libcurl参数很多,一不小心就容易遇到问题.曾经就遇到过一个很蛋疼的问题:libcurl断点下载>> 这里主要汇总一下,libcurl上传的二种方式: 1.直接上传文件,类似for ...
- Android 开发:由模块化到组件化(一)
在Android SDK一文中,我们谈到模块化和组件化,现在我们来聊聊组件化开发背后的哪些事.最早是在广告SDK中应用组件化,但是同样适用于普通应用开发 以下高能,请做好心理准备,看不懂请发私信来交流 ...
- LockSupport的park和unpark的基本使用,以及对线程中断的响应性
LockSupport是JDK中比较底层的类,用来创建锁和其他同步工具类的基本线程阻塞原语.java锁和同步器框架的核心AQS:AbstractQueuedSynchronizer,就是通过调用Loc ...
- linux批量改名
rename 's/abc/xyz/' * 把包含abc的文件名,替换为xyz
- [Android Security] APK自我保护 - 字符串处理
cp : https://segmentfault.com/a/1190000005128037 在开发过程中字符串不可避免,但是这些字符串也可能是破解的关键点,比如服务器的地址和错误提示这些敏感的字 ...
- [PHP] 6种负载均衡算法
CP from : https://www.cnblogs.com/SmartLee/p/5161415.html http://www.dataguru.cn/thread-559329-1-1. ...
- [leetcode]Best Time to Buy and Sell Stock @ Python
原题地址:https://oj.leetcode.com/problems/best-time-to-buy-and-sell-stock/ 题意: Say you have an array for ...
- Jsonp 关键字详解及json和jsonp的区别,ajax和jsonp的区别
为什么要用jsonp? 相信大家对跨域一定不陌生,对同源策略也同样熟悉.什么,你没听过?没关系,既然是深入浅出,那就从头说起. 假如我写了个index页面,页面里有个请求,请求的是一个json数据(不 ...
- CMenu and Dialog-based applications
[问] Is it possible to put a menu in a dialog based application? How? [答] Yes, it is possible to add ...