hadoop学习;hdfs操作;执行抛出权限异常: Permission denied;api查看源代码方法;源代码不停的向里循环;抽象类通过debug查找源代码
版权声明:本文为博主原创文章,未经博主同意不得转载。
https://blog.csdn.net/u010026901/article/details/26587251
eclipse快捷键alt+shift+m将选中的代码封装成方法;alt+shift+l将选中的代码加入相应类型放回參数
当调用一个陌生方法时,进入源代码不停的向里循环,当找不到return相似方法的时候。能够看到最原始的方法
package com.kane.hdfs;
import java.io.InputStream;
import java.net.URL;
import org.apache.hadoop.fs.FsUrlStreamHandlerFactory;
import org.apache.hadoop.io.IOUtils;
public class Test {
//hadoop文件系统下的根文件夹下的hello文件
public static final String HDFS_PATH="hdfs://centos:9000/hello";
/**
* @param args
*/
public static void main(String[] args) throws Exception{
// 告诉java能够读hdfs协议
URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());
final URL url=new URL(HDFS_PATH);
final InputStream in=url.openStream();
/**
* 參数依次是输入流。输出流。缓冲大小,是否关闭流
*/
IOUtils.copyBytes(in, System.out, 1024,true);
}
}
package com.kane.hdfs;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;
public class OpHDFS {
public static final String PATH="hdfs://centos:9000";
public static final String DIR_PATH="/kane";
public static final String FILE_PATH="/kane/needkane";
/**
* @param args
* @throws URISyntaxException
* @throws IOException
*/
public static void main(String[] args) throws Exception {
final FileSystem fs=FileSystem.get(new URI(PATH),new Configuration());
//创建文件夹
//makeDir(fs);
//上传文件
//uploadFile(fs);
//下载文件
//downLoad(fs);
//删除文件
deleteFile(fs);
}
private static void deleteFile(final FileSystem fs) throws IOException {
//第二个參数是否递归,假设是文件夹就递归删除,当然文件也没关系
fs.delete(new Path(FILE_PATH), true);
}
public static void makeDir(FileSystem fs) throws IOException {
fs.mkdirs(new Path(DIR_PATH));
}
public static void uploadFile(FileSystem fs) throws Exception {
//我们查看源代码的时候,后来直到filesystem,又由于是抽象类,仅仅好打断点获取哪个类实现了
final FSDataOutputStream out=fs.create(new Path(FILE_PATH));
//这里的in是本地文件的输入流
final FileInputStream in=new FileInputStream("D:/wordorid");
//參数输入流,输出流,缓冲大小。是否关闭流
IOUtils.copyBytes(in, out,1024,true );
}
public static void downLoad(FileSystem fs) throws Exception {
//从hdfs读取文件
final FSDataInputStream in=fs.open(new Path(FILE_PATH));
IOUtils.copyBytes(in, System.out, 1024,true);
}
}
解决的方法改动hadoop根文件夹权限 hadoop fs -chmod 777 /
fs.create(new Path(FILE_PATH)),ctrl+左击查看源代码一直到最里面,结果发现时抽象类
抽象类通过debug查找源代码
hadoop学习;hdfs操作;执行抛出权限异常: Permission denied;api查看源代码方法;源代码不停的向里循环;抽象类通过debug查找源代码的更多相关文章
- JavaWeb项目中获取对Oracle操作时抛出的异常错误码
最近在项目中碰到了这么一个需求,一个JavaWeb项目,数据库用的是Oracle.业务上有一个对一张表的操作功能,当时设置了两个字段联合的唯一约束.由于前断没有对重复字段的校验,需要在插入时如果碰到唯 ...
- 捕获Java线程池执行任务抛出的异常
捕获Java线程池执行任务抛出的异常Java中线程执行的任务接口java.lang.Runnable 要求不抛出Checked异常, public interface Runnable { publi ...
- druid抛出的异常------javax.management.InstanceAlreadyExistsException引发的一系列探索
最近项目中有个定时任务的需求,定时检查mysql数据与etcd数据的一致性,具体实现细节就不说了,今天要说的就是实现过程中遇到了druid抛出的异常,以及解决的过程 异常 异常详细信息 五月 05, ...
- 应该抛出什么异常?不应该抛出什么异常?(.NET/C#)
我在 .NET/C# 建议的异常处理原则 中描述了如何 catch 异常以及重新 throw.然而何时应该 throw 异常,以及应该 throw 什么异常呢? 究竟是谁错了? 代码中从上到下从里到外 ...
- Spring boot 前后台分离项目 怎么处理spring security 抛出的异常
最近在开发一个项目 前后台分离的 使用 spring boot + spring security + jwt 实现用户登录权限控制等操作.但是 在用户登录的时候,怎么处理spring securi ...
- 外部无法捕捉Realm的doGetAuthenticationInfo方法抛出的异常
shiro权限框架,用户登录方法的subject.login(token)会进入自定义的UserNamePasswordRealm类的doGetAuthenticationInfo身份验证方法 通常情 ...
- Python面向对象之异常捕获(一)-----抛出一个异常
大部分的异常都继承自Exception这个类(而这个类有继承自BaseException这个类) 常见的异常 ValueError TypeError IndexError 抛出一个异常 下面这个类的 ...
- springmvc在处理请求过程中出现异常信息交由异常处理器进行处理,自定义异常处理器可以实现一个系统的异常处理逻辑。为了区别不同的异常通常根据异常类型自定义异常类,这里我们创建一个自定义系统异常,如果controller、service、dao抛出此类异常说明是系统预期处理的异常信息。
springmvc在处理请求过程中出现异常信息交由异常处理器进行处理,自定义异常处理器可以实现一个系统的异常处理逻辑. 1.1 异常处理思路 系统中异常包括两类:预期异常和运行时异常RuntimeEx ...
- “全栈2019”Java异常第十一章:重写方法时只能抛出父类异常子集
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...
随机推荐
- [日常] mysql的索引使用情况测试
1.索引(Index)是帮助MySQL高效获取数据的数据结构,可以理解为“排好序的快速查找数据结构”,在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据, ...
- Intellij IDEA run coverage之覆盖率测试
Intellij IDEA run coverage之覆盖率测试 idea 的coverage + 我们自己写的测试用例.最后看一下,我们要测的代码有没有测试到,这是一个不错的提高代码质量的方法. i ...
- (一)windows下安装MongoDB解压版
windows下安装MongoDB解压版 我安装的是(mongodb-win32-x86_64-2008plus-ssl-4.0.8.zip)版本 亲测可以使用. 连接: Windows下MongoD ...
- javascript之原型
写作背景 最近在抓基础,毕竟没有好地基盖楼容易塌啊...再回首javascript,原型可以说是该语言较为核心的设计之一,我们有必要了解下其设计理念 (#^.^#) 基本概念 MyObject.pro ...
- asp.net mvc +easyui 实现权限管理(二)
一写完后,好久没有继续写了.最近公司又在重新开发权限系统了,但是由于我人微言轻,无法阻止他们设计一个太监版的权限系统.想想确实是官大一级压死人啊, 没办法我只好不参与了 让他们去折腾. 我就大概说一下 ...
- Arcengine编辑代码
using System; using System.Drawing; using System.Collections; using System.ComponentModel; using Sys ...
- ubuntu 命令、linux环境变量设置
解压与压缩: tar.gz格式tar -xzvf xxx jar格式jar -xvf xxx.jar zip格式unzip xxx.zip zip -r xxx.zip xxx unarunar -e ...
- tomcat报错相关问题
action1:tomcat7w.exe里面path to executable不是当前所用的tomcat(可执行文件路径是你以前使用过的tomcat路径,导致启动服务报错:找不到可执行文件) 解决办 ...
- CATransform3D的m34使用
CATransform3D的m34使用 效果图 源码 // // ViewController.m // StarWars // // Created by YouXianMing on 15/11/ ...
- UITableVIew与UICollectionView带动画删除cell时崩溃的处理
UITableVIew与UICollectionView带动画删除cell时崩溃的处理 -会崩溃的原因是因为没有处理好数据源与cell之间的协调关系- 效果: tableView的源码: ModelC ...