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); } }

第五章 MyEclipse配置hadoop开发环境的更多相关文章

  1. myeclipse配置hadoop开发环境

    1.安装Hadoop开发插件 hadoop安装包contrib/目录下有个插件hadoop-0.20.2-eclipse-plugin.jar,拷贝到myeclipse根目录下/dropins目录下. ...

  2. 搭建基于MyEclipse的Hadoop开发环境

    不多说,直接上干货! 前面我们已经搭建了一个伪分布模式的Hadoop运行环境.请移步, hadoop-2.2.0.tar.gz的伪分布集群环境搭建(单节点) 我们绝大多数都习惯在Eclipse或MyE ...

  3. Hadoop_配置Hadoop开发环境(Eclipse)

    通常我们可以用Eclipse作为Hadoop程序的开发平台. 1)  下载Eclipse 下载地址:http://www.eclipse.org/downloads/ 根据操作系统类型,选择合适的版本 ...

  4. Eclipse配置Hadoop开发环境

    Step 1:选择Hadoop版本对应的Eclipse插件jar包(可自行编译),我的Hadoop版本是hadoop-0.20.2,对应的插件应该是:hadoop-0.20.2-eclipse-plu ...

  5. mac攻略(五) -- 使用brew配置php7开发环境(mac+php+apache+mysql+redis)

    前面介绍过基本的配置,后来我又从网上查找了很多资料,经过不断的摸索,下面做了一个总结,希望能对大家提供些许帮助(Mac版本是sierra)   一.mac系统会自带git,而我们要做的是自己安装git ...

  6. 配置Hadoop开发环境(Eclipse)

    参考博文: http://blog.csdn.net/zythy/article/details/17397153 http://www.tuicool.com/articles/AjUZrq 注意事 ...

  7. IDEA配置Hadoop开发环境&编译运行WordCount程序

    有关hadoop及java安装配置请见:https://www.cnblogs.com/lxc1910/p/11734477.html 1.新建Java project: 选择合适的jdk,如图所示: ...

  8. Eclipse安装Hadoop插件配置Hadoop开发环境

    一.编译Hadoop插件 首先需要编译Hadoop 插件:hadoop-eclipse-plugin-2.6.0.jar,然后才可以安装使用. 第三方的编译教程:https://github.com/ ...

  9. 在Fedora18上配置个人的Hadoop开发环境

    在Fedora18上配置个人的Hadoop开发环境 1.    背景 文章中讲述了类似于"personalcondor"的一种"personal hadoop" ...

随机推荐

  1. Getting command line access to PHP and MySQL running MAMP on OSX

    建立自己profile路径应该在/Users/yourname/,最后要运行. ./.profile使文件生效,和windows中给添加环境变量是一个道理,还可以看出linux和UNIX默认运行路径为 ...

  2. Android程序员学WEB前端(7)-CSS(2)-伪类字体文本背景边框-Sublime

    转载请注明出处:http://blog.csdn.net/iwanghang/article/details/76618373 觉得博文有用,请点赞,请评论,请关注,谢谢!~ 伪类: <!DOC ...

  3. Jsoup教程,jsoup开发指南,jsoup中文使用手册,jsoup中文文档

    jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址.HTML文本内容.它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据. jsou ...

  4. 一次Mysql连接池卡死导致服务无响应问题分析(.Net Mysql.Data 6.9.9)

    问题: 进程启动后,线程数迅速上升至最小线程数后,缓慢上升(线程池限制)到数千,然后由于线程过多,CPU飙升到90%. 对外表现为Api无响应或连接超时. 背景 有些数据存在于另一个机房,通过内网专线 ...

  5. CA数字加密解密Demo

    package aisin.text;    import com.google.common.collect.Maps;  import sun.misc.BASE64Decoder;  impor ...

  6. hexo个人博客搭建

    遇见西门的个人博客 https://www.simon96.online/ 内容详细!

  7. 进阶的Redis之数据持久化RDB与AOF

    大家都知道,Redis之所以性能好,读写快,是因为Redis是一个内存数据库,它的操作都几乎基于内存.但是内存型数据库有一个很大的弊端,就是当数据库进程崩溃或系统重启的时候,如果内存数据不保存的话,里 ...

  8. python环境搭建-Linux系统下python2.7升级python3.5.2步骤

    首先Python 查看版本 , 在Linux下特别注意权限问题,创建目录时候切记给予权限 如果是 ubnutu 请使用首先切换到 sudo su , 否则 make install 会出现问题.. 升 ...

  9. CnetOS7使用yum方式安装nginx

    之前一直使用源码包安装,但是对于需要一直进行重新安装的测试环境来说安装起来还是过于麻烦了.今天搜索发现能够进行yum方式的安装,特此记录. 新建yum文件,yum源是nginx的官网. # vim / ...

  10. 《DSP using MATLAB》示例Example7.14

    代码: M = 20; alpha = (M-1)/2; l = 0:M-1; wl = (2*pi/M)*l; Hrs = [1, 1, 1, zeros(1, 15), 1, 1]; % Idea ...