第五章 MyEclipse配置hadoop开发环境

 

1.首先要下载相应的hadoop版本的插件,我这里就给2个例子:

hadoop-1.2.1插件:http://download.csdn.net/download/hanyongan300/6238153

hadoop2.2.0插件:http://blog.csdn.net/twlkyao/article/details/17334693

上一章我也讲了怎么制作相应版本的插件,这些插件可以在网上搜到

2.把插件拷贝到myeclipse根目录下/dropins目录下。

3、 启动myeclipse,打开Perspective:

 

【Window】->【Open Perspective】->【Other...】->【Map/Reduce】->【OK】

 

 

 

 

3、 打开一个View:

 

【Window】->【Show View】->【Other...】->【MapReduce Tools】->【Map/Reduce Locations】->【OK】

 

 

4、 添加Hadoop location:

 

 

location name: 我填写的是:hadoop,这个可以任意填写

Map/Reduce Master 这个框里:

这两个参数就是mapred-site.xml里面mapred.job.tracker里面的ip和port  

Host:就是jobtracker 所在的集群机器,这里写192.168.0.155,我这个myeclipse是在windows下的,所以去连接liunx下的hadoop要写地址
Hort:就是jobtracker 的port,这里写的是9001


DFS Master 这个框里

这两个参数就是core-site.xml里面fs.default.name里面的ip和port
Host:就是namenode所在的集群机器,这里写192.168.0.155
Port:就是namenode的port,这里写9000

(Use M/R master host,这个复选框如果选上,就默认和Map/Reduce Master这个框里的host一样,如果不选择,就可以自己定义输入,这里jobtracker 和namenode在一个机器上,所以是一样的,就勾选上)

 user name:这个是连接hadoop的用户名,我创建的用户就是hadoop。

然后继续填写advanced parameters

在这里只需要填写  hadoop.tmp.dir这一栏,跟在core-site.xml里面配置写的一样

 

然后关闭myeclipse重启,就可以看到连接成功了。。。

 

连接DFS,是为了帮助你查看hdfs目录的,在这里,你可以直接操作hdfs.点击右键:

create new directory:创建文件

Refresh:刷新

upload files to DFS:上传文本

upload directory to DFS:上传文件夹

 

如果要是创建hadoop项目,先配置下:Window------preferences----Hadoop Map/Reduce,指定本地的hadoop

 

然后在本地配置远程hadoop的IP,打开C:\Windows\System32\drivers\etc\hosts文件,添加hadoop所安装的服务器IP和主机名

下面就可以在myeclipse创建mapreduce项目了,file----new Prokect-----

 

下面就正常写代码:下面是操作hase的代码

package hbase;import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;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.KeyValue;
import org.apache.hadoop.hbase.client.Delete;
import org.apache.hadoop.hbase.client.Get;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.client.ResultScanner;
import org.apache.hadoop.hbase.client.Scan;
import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;
import org.apache.hadoop.hbase.filter.SingleColumnValueFilter;
import org.apache.hadoop.hbase.util.Bytes;/*** 对hbase进行增删改查* @author Administrator**/
public class HbaseTest {private static Configuration conf=null;static{conf=HBaseConfiguration.create();conf.set("hbase.zookeeper.property.clientPort", "2181");conf.set("hbase.zookeeper.quorum", "192.168.0.26");//configuration.set("hbase.master", "192.168.1.25:6000");File workaround = new File(".");System.getProperties().put("hadoop.home.dir",workaround.getAbsolutePath());new File("./bin").mkdirs();try {new File("./bin/winutils.exe").createNewFile();} catch (IOException e) {// TODO Auto-generated catch block
            e.printStackTrace();}}/*** 创建一张表* @param tablename* @param cfg* @throws IOException*/public static void createTable(String tablename,String[] cfg)throws IOException{HBaseAdmin admin=new HBaseAdmin(conf);if(admin.tableExists(tablename)){System.out.println("表已经存在!");}else{HTableDescriptor tableDesc=new HTableDescriptor(tablename);for(int i=0;i<cfg.length;i++){tableDesc.addFamily(new HColumnDescriptor(cfg[i]));}admin.createTable(tableDesc);System.out.println("表创建成功!");}}/*** 删除表* @param tablename* @throws IOException*/public static void deleteTable(String tablename)throws IOException{HBaseAdmin admin=new HBaseAdmin(conf);admin.disableTable(tablename);admin.deleteTable(tablename);System.out.println("表删除成功");        }/*** 插入一行记录* @param tablename* @param rowkey* @param family* @param qualifier* @param value*/public static void writeRow(String tablename,String rowkey,String family,String qualifier,String value) {try {HTable table=new HTable(conf,tablename);Put put =new Put(Bytes.toBytes(rowkey));put.add(Bytes.toBytes(family),Bytes.toBytes(qualifier),Bytes.toBytes(value));table.put(put);System.out.println("插入数据成功");} catch (IOException e) {// TODO Auto-generated catch block
            e.printStackTrace();}}/*** 查找开始与结束之间的数据* @param tableName*/public static void getAll(String tableName) {    try{    HTable table = new HTable(conf, tableName);    Scan scan = new Scan(Bytes.toBytes("a"), Bytes.toBytes("z")); 
//             scan.addColumn(Bytes.toBytes("a"), Bytes.toBytes("z"));
//             SingleColumnValueFilter filter = new SingleColumnValueFilter(Bytes.toBytes("a"),
//                     Bytes.toBytes("z"),
//                     CompareOp.NOT_EQUAL, Bytes.toBytes("0"));
//             filter.setFilterIfMissing(true);
//             scan.setFilter(filter);  
ResultScanner ss = table.getScanner(scan);    for(Result r:ss){    for(KeyValue kv : r.raw()){    System.out.print("rowid为:"+new String(kv.getRow()) + " ");   System.out.print("列族为:"+new String(kv.getFamily()) + " ");    System.out.print("列限定符为:"+new String(kv.getQualifier()) + " ");    System.out.print("时间戳"+kv.getTimestamp() + " ");    System.out.println("值为"+new String(kv.getValue()));    }    }    } catch (IOException e){    e.printStackTrace();    }    }   /*** 查找一行记录* @param tablename* @param rowKey* @throws IOException*/@SuppressWarnings("deprecation")public static void getOne(String tablename,String rowKey) throws IOException{HTable table = new HTable(conf, tablename);    Get get = new Get(rowKey.getBytes());    Result rs = table.get(get);    for(KeyValue kv : rs.raw()){    System.out.print(new String(kv.getRow()) + " " );    System.out.print(new String(kv.getFamily()) + ":" );    System.out.print(new String(kv.getQualifier()) + " " );    System.out.print(kv.getTimestamp() + " " );    System.out.println(new String(kv.getValue()));    }    }/**  * 显示所有数据  */    public static void getAllRecord (String tableName) {    try{    HTable table = new HTable(conf, tableName);    Scan s = new Scan();    ResultScanner ss = table.getScanner(s);    for(Result r:ss){    for(KeyValue kv : r.raw()){    System.out.print("rowid为:"+new String(kv.getRow()) + " ");   System.out.print("列族为:"+new String(kv.getFamily()) + " ");    System.out.print("列限定符为:"+new String(kv.getQualifier()) + " ");    System.out.print("时间戳"+kv.getTimestamp() + " ");    System.out.println("值为"+new String(kv.getValue()));    }    }    } catch (IOException e){    e.printStackTrace();    }    }   /**  * 删除一行记录  */    public static void delRecord (String tableName, String rowKey) throws IOException{    HTable table = new HTable(conf, tableName);    List list = new ArrayList();    Delete del = new Delete(rowKey.getBytes());    list.add(del);    table.delete(list);    System.out.println("del recored " + rowKey + " ok.");    }    public static void main(String[] agrs){String tablename="score";String[] familys={"grade","course"};try {HbaseTest.createTable(tablename, familys);//HbaseTest.delvalue(tablename, "zkb","course" , "click", "90");
//                        HbaseTest.delRecord(tablename, "zkb");
                        } catch (IOException e) {// TODO Auto-generated catch block
                        e.printStackTrace();}//            HbaseTest.writeRow(tablename, "zkb", "grade", "title", "5");
//            HbaseTest.writeRow(tablename, "zkb", "course", "click", "90");
//            HbaseTest.writeRow(tablename, "zkb", "course", "url", "97");
//            HbaseTest.writeRow(tablename, "zkb", "course", "author", "87");
//            
//            HbaseTest.writeRow(tablename, "baoniu", "grade", "reply", "4");
//            HbaseTest.writeRow(tablename, "baoniu", "course", "siteName", "89");
//            HbaseTest.writeRow(tablename, "1", "grade", "title", "5");
//            HbaseTest.writeRow(tablename, "1", "course", "click", "90");
//            HbaseTest.writeRow(tablename, "2", "course", "url", "97");
//            HbaseTest.writeRow(tablename, "2", "course", "author", "87");
//            
//            HbaseTest.writeRow(tablename, "3", "grade", "reply", "4");
//            HbaseTest.writeRow(tablename, "3", "course", "siteName", "89");
//            HbaseTest.getOne(tablename, "zkb");    
//            HbaseTest.getAllRecord(tablename);   //        HbaseTest.getAllRecord(tablename);
        HbaseTest.getAll(tablename);}}

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/junrong624/p/3499847.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/300414.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

这才是真正的,坐上来,自己动!| 今日趣图

全世界只有3.14 % 的人关注了青少年数学之旅你有见过加辣的奶茶吗&#xff1f;什么叫做科技改变生活其实你的猫一直都看不起你坐上来&#xff0c;自己动&#xff01;安全带使用体验当iPhone遇上数学在B站UP主的剪刀下诞生了各种神奇的CP组合其中最受欢迎的居然是伏地魔和林黛玉…

九项路考(2)

<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />二、侧方位停车<?xml:namespace prefix v ns "urn:schemas-microsoft-com:vml" />要点&#xff1a;1、倒车入停车位&#xff08;1&#xff09;挂倒档&#xf…

Sql Server2005对t-sql的增强之Cross Apply

Sql Server2005对t-sql的增强之Cross ApplyCross Apply使表可以和表值函数结果进行join&#xff0c;在下面的示例中建了两个表和一个表值函数&#xff0c;T_b的列a_ids中会存放a表的id用,分割的字符串连接&#xff1b;我们通过cross apply使T_a&#xff0c;T_b表通过splitIDs i…

360导航源码php,51zxw 仿360网址导航源码

1.上传网站安装程序到空间&#xff0c;空间需支持PHP&#xff0c;MYSQL数据库20M 即可。2.访问网网址执行安装&#xff0c;按照提示填入mysql数据库信息。3.安装时默认设置后台管理 用户&#xff1a;admin 密码&#xff1a;123456 (以防安装出错建议默认安装&#xff0c;然后登…

SRM 440(1-250pt, 1-500pt)

DIV1 250pt 题意&#xff1a;小球从一段折线斜坡上滚下来&#xff0c;告诉所用时间&#xff0c;求重力加速度。 解法&#xff1a;二分答案模拟即可。 tag:二分&#xff0c;simulation 1 // BEGIN CUT HERE2 /*3 * Author: plum rain4 * score :5 */6 /*7 8 */9 // END CUT…

技术 Leader 怎样带跨一个团队?

网上很多分析大公司&#xff0c;小公司的文章&#xff0c;都会提到在大公司工作就是螺丝钉&#xff0c;岗位分的非常细&#xff0c;每个人把自己的专职工作做好就行&#xff1b;而在小公司需要每个人都是多面手&#xff0c;一岗多职。这种观点我同意一半&#xff0c;在小公司中…

我怀疑全国最会吹牛的人,都在这8个公众号上了

全世界只有3.14 % 的人关注了青少年数学之旅学习如逆水行舟&#xff0c;不进则退&#xff1b;只有坚持不断的学习,才能保持进步。今天给大家精心挑选的这几个优质的公众号&#xff0c;在行业深耕已久&#xff0c;相信大家一定会有所收获&#xff0c;感兴趣的可以关注一下。Pyth…

信息化之路------广州行

刚刚参加完SAP在广州举办的“红海战略的成功之路”的主题演讲&#xff0c;同时也给SAP在广州的合作伙伴做了一次培训&#xff0c;在这次广州行的过程中&#xff0c;深深地感觉到“企业信息化广州还行”&#xff01; 这次广州之行体会颇深&#xff0c;主要有以下几点&#xff1a…

CSS hack:区分IE6 IE7 Firefox

区别不同浏览器&#xff0c;CSS hack写法&#xff1a;区别IE6与FF&#xff1a;background:orange;*background:blue;区别IE6与IE7&#xff1a;background:green !important;background:blue;区别IE7与FF&#xff1a;background:orange; *background:green;区别FF&#xff0c;IE…

win1编辑java环境,在win7下配置java编译环境

今天刚接触java编程&#xff0c;环境的配置方法比较复杂。好记性不如烂笔头&#xff0c;发个文章记录一下吧。win7系统 Jdk版本1.6用鼠标右击“我的电脑”->属性->高级->环境变量系统变量->新建->变量名&#xff1a;JAVA_HOME 变量值&#xff1a;D:Program File…

linux磁盘管理------LVM

一、需求分析1&#xff0c;当我们需要存储一个500G的不可分割文件时&#xff0c;但是我们设备上没有这么大的单个磁盘。2&#xff0c;当我们在搭建一个服务&#xff0c;由于日常运转产生大量文件&#xff0c;磁盘容量不够用了&#xff0c;怎么办&#xff1f;添加磁盘&#xff0…

在 .NET 中创建对象的几种方式的对比

在 .net 中&#xff0c;创建一个对象最简单的方法是直接使用 new (), 在实际的项目中&#xff0c;我们可能还会用到反射的方法来创建对象&#xff0c;如果你看过 Microsoft.Extensions.DependencyInjection 的源码&#xff0c;你会发现&#xff0c;为了保证在不同场景中的兼容性…

.NET设计模式(16):模版方法(Template Method)

摘要&#xff1a;Template Method模式是比较简单的设计模式之一&#xff0c;但它却是代码复用的一项基本的技术&#xff0c;在类库中尤其重要。主要内容1&#xff0e;概述2&#xff0e;Template Method解说3&#xff0e;.NET中的Template Method模式4&#xff0e;适用性及实现要…

数学界最恐怖的存在,学过数学的人,一辈子都不会忘记!

全世界只有3.14 % 的人关注了青少年数学之旅何谓数学&#xff1f;数学家Eduardo曾这样回答“数学是永恒&#xff0c;是真理&#xff0c;是一切的答案。”回首往昔数学始终伴随我们左右纵横交错的几何、繁琐复杂的运算难以求解的方程、无从下手的猜想......尽管在数学道路上有多…

把我的爱送给你――C#3.5(这题目似乎写错了)

本文发表于 中国IT实验室周报。这是我初次写给杂志社稿件&#xff0c;其中必有许多不足之处&#xff0c;还望大家见谅&#xff0c;虽然这篇文章质量可能不太高&#xff0c;但我希望能将个人的这些总结与大家分享。 从笔者接触编程至今&#xff0c;经历了数种编程语言&#xff0…

php左连接,如何在php中对左联接查询返回的数组数据进...

我有以下具有以下值的2表&#xff1a;tbl_brandID名称1个苹果2三星tbl_productsID brand_id p_name1个1移动2个1 Earpods3 2移动在这里,当我使用左联接查询即选择’b’.’id’作为’brand_id’,’b’.’name’作为’brand_name’,’p’.’p_name’作为’product_name’FROM’tb…

Blazor 数据绑定开发指南

翻译自 Waqas Anwar 2021年3月21日的文章 《A Developer’s Guide to Blazor Data Binding》 [1]现如今&#xff0c;大多数 Web 应用程序要么是在页面上显示某种数据&#xff0c;要么是使用表单从用户那里收集数据。这意味着每个 SPA 框架都必须支持数据绑定&#xff0c;以便开…

lr中winsock协议的脚本(转载51testing)

winsock协议代码Actions(){char acTest[100];char acTest2[100];char* pcTest3;//生成发送的串sprintf(acTest,"kkkhhhh\r\n";//指定发送的串lrs_set_send_buffer ("socket0", acTest, strlen(acTest));//发送&#xff0c;由于之前运行了lrs_set_send_buff…

葛优:你们有看过我的作品吗?| 今日趣图

全世界只有3.14 % 的人关注了青少年数学之旅

阳江海滩景色一瞥

前几天同学去阳江的海边玩了2天&#xff0c;海景相当不错&#xff0c;不敢独享&#xff0c;特来贴图。 转载于:https://www.cnblogs.com/absolute8511/archive/2008/05/24/1649638.html