hadoop文件系统浏览器

Kettle> Kettle整合Hadoop 文章目录Kettle整合大数据平台Kettle整合Hadoopkettle与hahoop环境整合Hadoop file input组件Hadoop file output组件 Kettle整合大数据平台 Kettle整合Hadoop 1、查看hadoop的文件系统 通过浏览器访问 http://node1:50070 通过终端访问 hadoop fs -ls / # 查看文件 2、在hado... 阅读详情

最近一段时间学习了java和hadoop,琢磨着能不能做个简单的文件浏览器,实现文件夹的浏览等简单功能,于是在网上下载了hadoop0.21版本和eclipse,花了一天左右的时间实现了简单的文件和文件夹的浏览功能,eclipse搭建hadoop应用程序的步骤在我的博客上有写过程,http://blog.youkuaiyun.com/devil27/article/details/8480345,以下是实现源码,由于java和hadoop都是最近才开始学,里面还有很多需要完善的东西,希望各位高手指点指点,我在hadoop-0.21上测试正常!欢迎拍砖!!!这个帖子我在hadoopor.com上面也有发表

package HadoopFileView.yuht.com;



import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Date;
import java.text.SimpleDateFormat;


import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextArea;
import javax.swing.SwingUtilities;
import javax.swing.table.DefaultTableModel;


import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.conf.Configuration;


//import org.apache.hadoop.conf.Configured;


public class HadoopFileView extends JPanel implements ActionListener,
MouseListener {
/**
* 
*/
private static final long serialVersionUID = 1L;
private JButton buttonUP;
private JComboBox comboboxPath;
private JTable table;
private DefaultTableModel dtmFile;
private JLabel jlable;
private String file;
private String currentPath;
private hadoopFile hadoopfile;
private JTextArea text;


// private int currentIndex;


class LocalTableModel extends DefaultTableModel {
/**
* 
*/
private static final long serialVersionUID = 1L;


public boolean isCellEditable(int row, int column) {
return false;
}
}


public HadoopFileView() throws IOException {
super(new BorderLayout());
JPanel jp = new JPanel(new BorderLayout());
buttonUP = new JButton("up");
buttonUP.addActionListener(this);
comboboxPath = new JComboBox();
hadoopfile = new hadoopFile();
comboboxPath.addActionListener(this);
text = new JTextArea();
text.setSize(400, 200);
jp.add(buttonUP, "West");
jp.add(comboboxPath, "Center");
jp.add(new JScrollPane(text), "South");
dtmFile = new LocalTableModel();
dtmFile.addColumn("name");
dtmFile.addColumn("size");
dtmFile.addColumn("type");
dtmFile.addColumn("time");
table = new JTable(dtmFile);
table.setShowGrid(false);
table.addMouseListener(this);
jlable = new JLabel("hadoop", JLabel.CENTER);
add(jp, "North");
add(new JScrollPane(table), "Center");
add(jlable, "South");
// add(new JScrollPane(text),"South");
// path = new File("/");
// listFiles(path);
HadoopShowFiles("hdfs://hadoopmaster:9000");
// HadoopShowFiles("/");
}


private static FileStatus[] listStatus(FileSystem srcFs, FileStatus src) {
if (src.isFile()) {
FileStatus[] files = { src };
return files;
}
Path path = src.getPath();
try {
FileStatus[] files = srcFs.listStatus(path);
return files;
} catch (IOException e) {


}
return null;
}


private int lsfile(FileStatus src, FileSystem srcFs) throws IOException {
final FileStatus[] items = listStatus(srcFs, src);
dtmFile.setRowCount(0);
if (items == null)
return -1;
for (int i = 0; i < items.length; i++) {
FileStatus stat = items[i];
Path cur = stat.getPath();
Long size = stat.getLen();
SimpleDateFormat simpledate = new SimpleDateFormat();
String date = simpledate
.format(new Date(stat.getModificationTime()));
// Long time = stat.getModificationTime();
String path = cur.toUri().getPath();
String name = path.substring(path.lastIndexOf("/") + 1,
path.length());
if (stat.isDirectory()) {
dtmFile.addRow(new String[] { name, "", "Directory", date });
} else {
dtmFile.addRow(new String[] { name, size.toString(), "File",
date });
}
}
return 0;
}


private int HadoopShowFiles(String pathname) throws IOException {
Path path = new Path(pathname + "/");
Configuration conf = new Configuration();
jlable.setText(pathname);
currentPath = pathname;
FileSystem filesys = path.getFileSystem(conf);
FileStatus[] srcs = filesys.globStatus(path);
if ((srcs == null) || (srcs.length == 0)) {
throw new FileNotFoundException("yuht test");
}
for (int i = 0; i < srcs.length; i++) {
lsfile(srcs[i], filesys);
}
return 0;
}


/*
* public boolean listFiles(File path) { String strpath =
* path.getAbsolutePath(); if (path.isDirectory() == false) {
* JOptionPane.showMessageDialog(this, "file is not exit"); return false; }
* currentPath = path.getAbsolutePath(); comboboxPath.removeAllItems();
* File[] roots = File.listRoots(); int index = 0; for (int i = 0; i <
* roots.length; i++) { String rootpath = roots[i].getAbsolutePath();
* comboboxPath.addItem(rootpath); if (currentPath.indexOf(rootpath) != -1)
* { String[] bufpath = currentPath.split("\\\\"); for (int j = 0; j <
* bufpath.length; j++) { String buf = " "; for (int k = 1; k < j; k++) {
* buf += " "; } comboboxPath.addItem(buf + bufpath[j]); index = i + j; } if
* (bufpath.length == 1) { index = i;
* 
* } } } comboboxPath.setSelectedIndex(index); //currentIndex = index;
* dtmFile.setRowCount(0); if (strpath.split("\\\\").length > 1) {
* dtmFile.addRow(new String[] { "up", "", "", "" });
* 
* } File[] files = path.listFiles(); for (int i = 0; i < files.length; i++)
* { String name = files[i].getName(); if (files[i].isDirectory()) {
* dtmFile.addRow(new String[] { name, "", "D", "" }); } else {
* 
* dtmFile.addRow(new String[] { name, "1000", "F", " " }); } } return true;
* }
*/
public void actionPerformed(ActionEvent e) {
int subindex = currentPath.lastIndexOf("/");
if ((currentPath.equals("hdfs://ubuntu:9000")) || (subindex == -1)) {
return;
}
String uppath = currentPath.substring(0, subindex);
try {
HadoopShowFiles(uppath);
} catch (IOException ex) {


}
}


public void mouseClicked(MouseEvent event) {
int clickedtimes = event.getClickCount();
if (clickedtimes == 2) {
int row = table.rowAtPoint(event.getPoint());
String name = (String) table.getValueAt(row, 0);
String path = currentPath + "/" + name;
Path dstPath = new Path(path);
Configuration conf = new Configuration();
try {
FileSystem filesys = dstPath.getFileSystem(conf);
if (filesys.isDirectory(dstPath)) {
HadoopShowFiles(path);
} else {
/*
InputStream in = filesys.open(dstPath);
text.setText("");
byte[] by = new byte[1024];
in.read(by);
String reads = new String(by);
text.setText(reads);
*/
JFrame jf = new JFrame("filecontent");
InputStream in = filesys.open(dstPath);
byte[] by = new byte[1024];
in.read(by);
String reads = new String(by);
jf.setSize(400, 300);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Dimension di = Toolkit.getDefaultToolkit().getScreenSize();
jf.setLocation((int) (di.getWidth() - jf.getWidth()) / 2,
(int) (di.getHeight() - jf.getHeight()) / 2);
JTextArea jt = new JTextArea();
jt.setSize(400, 200);
jt.setText(reads);
jf.add(new JScrollPane(jt));
jf.setVisible(true);
}
} catch (IOException ex) {
}
}
}


public void mouseEntered(MouseEvent event) {
}


public void hadoopDelectFile(String pathfile) throws IOException {
Path path = new Path(pathfile);
Configuration conf = new Configuration();
FileSystem fs = path.getFileSystem(conf);
// FileStatus filestatus = fs.getFileStatus(path);
if (fs.delete(path, true)) {
} else {
throw new IOException("Delect file failed" + path);
}
}


public void hadoopmkdir(String pathfile) throws IOException {
Path path = new Path(pathfile);
Configuration conf = new Configuration();
FileSystem fs = path.getFileSystem(conf);
FileStatus filestatus = null;// fs.getFileStatus(path);
try {
filestatus = fs.getFileStatus(path);
if (filestatus.isDirectory()) {
throw new IOException(pathfile + ":File exists!");
} else {
throw new IOException(pathfile + " exists but "
+ "is not a directory");
}
} catch (FileNotFoundException e) {
if (!fs.mkdirs(path)) {
throw new IOException(path + "Failed to create!" + pathfile);
}
}
}


public void mousePressed(MouseEvent event) {
if (SwingUtilities.isRightMouseButton(event)) {
int row = table.rowAtPoint(event.getPoint());
if (row != -1) {
JPopupMenu popup = new JPopupMenu();
JMenuItem delect = new JMenuItem("delect");
String name = (String) table.getValueAt(row, 0);
file = currentPath + "/" + name;
delect.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ac) {
// Path dstPath = new Path(file);
// Configuration conf = new Configuration();
try {
// FileSystem filesys = dstPath.getFileSystem(conf);
hadoopDelectFile(file);
HadoopShowFiles(currentPath);
/*
* if (filesys.isDirectory(dstPath)) {
* HadoopShowFiles(file); }
*/


} catch (IOException ex) {
}
}
});
JMenuItem newdirectory = new JMenuItem("new directory");
newdirectory.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ac) {
try {
hadoopmkdir("hdfs://ubuntu:9000/input");
HadoopShowFiles(currentPath);
/*
* if (filesys.isDirectory(dstPath)) {
* HadoopShowFiles(file); }
*/


} catch (IOException ex) {
}
}
});
JMenuItem newfile = new JMenuItem("new file");
popup.add(newfile);
popup.add(newdirectory);
popup.add(delect);
popup.show(event.getComponent(), event.getX(), event.getY());
}
}
}


public void mouseReleased(MouseEvent e) {
}


public void mouseExited(MouseEvent e) {
}


public static void main(String[] args) throws IOException {
JFrame jf = new JFrame("hadoop");
jf.setSize(800, 600);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Dimension di = Toolkit.getDefaultToolkit().getScreenSize();
jf.setLocation((int) (di.getWidth() - jf.getWidth()) / 2,
(int) (di.getHeight() - jf.getHeight()) / 2);
jf.add(new HadoopFileView());
jf.setVisible(true);
}
}
HaDoop文件系统HDFS的浏览器查看 简介:HaDoop安装之后,我们需要查看其虚拟的文件系统目录及内容,这时就需要用到浏览器,可以使用虚拟机的内置浏览器,即火狐浏览器,也可以使用本地机器的浏览器。 阅读详情

相关推荐

HDFS浏览器

原创HDFS浏览器windows版,基于java,需要JDK1.7以上,另外hadoop在windows上的依赖资源一并献上。功能:连接,断开,浏览文件,上传,下载(包括文件夹),删除(递归)删除。

Hadoop 在web(浏览器)中Browse Directory,无法下载文件的解决方法

Hadoop在浏览器中下载出错

2202_75961842的博客 1251

windows平台下的HDFS文件浏览器

可视化hadoop页面工具,可以查看存储文件及路径, 谢谢

如何通过浏览器访问Hadoop文件系统

如何通过浏览器访问Hadoop文件系统 打开浏览器,再浏览器网址处输入:(谷歌浏览器吧,IE好像不行) 192.168.x.xxx:50070 进入 前面为自己的虚拟机IP地址,例如我的虚拟机IP地址为192.168.5.100,那么我便输入192.168.5.100:50070 如图) 点击右侧Utilities 点击Browse the file system即可进入目录: ...

m0_67391521的博客 4414

【TouchDesigner】三维渲染

Cmera COMP Uniform Scale(按比例缩放):沿x,y,z三个轴等比例缩放相机(通常不建议改变相机大小)。 Constrain To(约束到):让相机附属到某个指定元件上,跟随指定元件运动。 Look At(朝向):让相机在移动过程中始终面对指定的元件。 Pah SOP(相机的路径):输入SOP元件名字,为相机指定移动路径。 Geometry Comp Geometry COMP中的参数与Camera COMP中的参数用法大部分都相似。特殊的是它的instacne页面的

wangpuqing1997的博客 5459

代码详解——Transformer

对于一个序列,在 time_step 为 t 的时刻,我们的解码输出应该只能依赖于 t 时刻之前的输出,而不能依赖 t 之后的输出。当 Decoder 的输入矩阵和 Mask 矩阵输入矩阵包含 “ I have a cat” (0, 1, 2, 3, 4) 五个单词的表示向量,Mask 是一个 5×5 的矩阵。然后判断是否传入的mask, 如果有mask (mask参数值不为None),则把mask为0的位置,将对应位置的attn的值设为无穷小的负数。可以发现得到的输出和输入的K,Q,V的大小相同。

zyw2002的博客 7214

hadoop 文件浏览器

在 Eclipse 环境下进行开发和调试 http://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop2/index.html IBM Hadoop Eclipse Plugin http://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop2/mapreduce_plu...

347

ADC INL&DNL测试方法和实例

本文介绍了一种可操作的ADC INL和DNL的测试方法--直方图法(也称码密度法)。并实际使用该方法测试了两款芯片的ADC INL和DNL

APTCHIP的博客 1万+

【hadoop】windows上hadoop环境的搭建步骤

在大数据开发领域中,不得不说说传统经典的hadoop基础计算框架。一般我们都会将hadoop集群部署在服务器上,但是作为一个资深搬砖人,我们本地环境也需要一个开发hadoop的开发环境。那么,今天就安排一个在windows上搭建一个hadoop环境。

勤于笔记,成于点滴。 5188

文石NoteX3国行版安装 Google Play经验分享

文石NoteX3国行版安装 Google Play经验分享。

2301_80693261的博客 7603

两层板如何做阻抗控制呢

两层板如何做阻抗控制呢? 这个问题可能很多人都会碰到,有的人在此等需要做阻抗控制的情况都选择做多层板。诚然,多层板在阻抗控制,EMC等等方面都有着天然的优势。然而,在价格上和周期上,两层板就有着绝对优势了。 对于成本非常敏感而又不是太复杂的产品,尽管对于我们硬件工程师而言,有一堆的理由要求使用多层板。然而在面对毛都不懂的老板“别人能做,你为什么不能做?”这个问题时只得低下我们高傲的头颅。 好...

weixin_42005993的博客 2万+

hadoop如何查看文件系统

1、查看当前的文件系统 [root@hadoopmaster bin]# ./hadoop fs -ls /Found 2 itemsdrwxr-xr-x   - root supergroup          0 2013-08-24 00:47 /tmpdrwxr-xr-x   - root supergroup          0 2013-08-24 00:44 /user ...

weixin_34288121的博客 469

MATLAB计算各种复合干热指数,如SDHI、DHMI等

MATLAB编程实现各种复合干热指数

WW、forever的博客 5079

hadoop-note

HaDoop文件系统HDFS的浏览器查看 原创 2016年11月22日 16:43:43 标签: hadoop 简介:HaDoop安装之后,我们需要查看其虚拟的文件系统目录及内容,这时就需要用到浏览器,可以使用虚拟机的内置浏览器,即火狐浏览器,也可以使用本地机器的浏览器。 在工作开始之前,请首先确保以下内容: 已添加虚拟机IP映射; 已添加本地...

181

【人工智能】架构演进:基于本体论与 LLM Agent 的供应链备件决策闭环实践

本文探讨了如何将本体论(Ontology)与大语言模型(LLM)Agent结合,构建供应链备件管理的智能决策系统。针对LLM在垂直领域存在的幻觉和逻辑缺陷问题,提出通过本体论建立结构化知识框架,形成四层架构:知识建模、动态感知、深度分析和决策闭环。系统利用图数据库实例化领域本体,融合多源数据实现实时感知,结合图谱推理和时序预测进行确定性分析,最终通过工具调用完成决策执行。技术选型推荐Gemini 1.5 Pro、Neo4j和LangChain等工具,实现从自动化到智能化的升级。该架构为工业领域提供了可解释、

奶爸的编程之路,也就一周冷个三天 170

智能车图像处理11-进阶篇3--中线累积差值的统计

中线累积差值的统计在后面判断小S,以及长直道的时候都有用到,关键点在于中线的跳变 第12 - 13 行:comulants1 和comlants2代表的是两种不同的累差,取的行数不同 第14-17 行:comulants2取6到25行,其实就是My_Abs(LCenter[i], LCenter[i - 1])的累加 第18-21 行:comulants1去第1到40行 第27- 行: 计算了一下右线的开始于最终结束行,这里判断R_black是否为0,是和中线的提取中g

taiyuezyh的博客 3827

关于hadoop 安装好之后,web页面不能访问 “Browse the filesystem”

本人使用的是win7,安装了虚拟机,在虚拟机里hadoop配置如下: 10.65.110.111 作为namenode和datenode 10.65.110.112 作为datanode 为了使得本机,也就是win7上的浏览器能够访问hadoop文件系统,需要添加主机名映射。 方法是找到hosts,我机器上目录为C:\Windows\System32\drivers\etc 添加 10

tuolovelin的专栏 1719

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

hadoop集群搭建(hadoop)

首先说一下配置环境:三台电脑192.168.30.149 hadoop149 namenode和jobtracker ###因为149机器稍微好一点 192.168.30.150 hadoop150 datanode和TaskTracker 192.168.30.148 hadoop150 datanode和TaskTracker 配置ssh无需密码登陆: $ssh-keygen -

玩命写博客 1065

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Hadoop2.5.2集群部署

一、环境 转载请出至出处:http://eksliang.iteye.com/blog/2223784 准备3台虚拟机,安装Centos 64-bit操作系统。 192.168.177.131 mast1.com mast1 192.168.177.132 mast2.com mast2 192.168.177.133 mast3.com mast3 其中mast1充当Name...

xiatianba的专栏 180

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

hadoop3访问hdfs web控制页面遇到的各种问题总结

最近通过虚拟机安装配置了hadoop集群,集群虽然搭建起来了,不过通过浏览器访问管理界面的过程中遇到了一些问题,现整理总结一下。

李白 3270

06 _使用命令在hadoop的HDFS中存储文件

存储命令:   hadoop fs -put ./hadoop-2.7.5.tar.gz / 其中: ./hadoop-2.7.5.tar.gz 要存储的目标源文件 / 文件的存储的目标地址 查看文件命令:   hadoop fs -ls

漫步_白桦林的博客 638

JSP访问Hadoop 图片存储服务

使用Hadoop的hdfs来存放图片文件.以下是整个架构思路: 使用hadoop作为分布式文件系统,hadoop是一个实现了HDFS文件系统和MapReduce的开源项目,我们这里只是使用了它的hdfs.首先从web页面上上传的文件直接调用hadoop接口将图片文件存入hadoop系统中,hadoop可以设定备份数,这样在hadoop系统中某个datanode死掉并不会造成图片不可能,系统会从其

qq_24076485的博客 207
上一篇: hadoop文件查看器
下一篇: hadoop-1.0.4编译eclipse plugin插件
devil27
博客等级 码龄19年 1粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值