hdfs2.9.0简单开发
来源:互联网 发布:tp5写api接口的源码 编辑:程序博客网 时间:2024/04/27 20:56
1、maven工程的构建,hadoop用的版本是2.9.0。jdk的版本为1.8.0_131
<!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-hdfs --><dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-hdfs</artifactId><version>2.9.0</version></dependency>
<!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-common --><dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-common</artifactId><version>2.9.0</version><exclusions><exclusion><groupId>jdk.tools</groupId><artifactId>jdk.tools</artifactId></exclusion></exclusions></dependency>
<!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-client --><dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-client</artifactId><version>2.9.0</version></dependency>
<dependency><groupId>jdk.tools</groupId><artifactId>jdk.tools</artifactId><version>1.8.0_131</version><scope>system</scope><systemPath>${JAVA_HOME}/lib/tools.jar</systemPath></dependency>
2、对 hdfs的简单操作
//文件系统 FileSystem fileSystem;
//初始化文件系统 public void init() throws Exception{ //读取数据由平台上的协议确定 URI uri = new URI("hdfs://dtbigdata:9000"); Configuration conf = new Configuration(); fileSystem = FileSystem.get(uri, conf); }
//查看目录 public void Catalog() throws Exception{ Path path = new Path("/user"); FileStatus fileStatus = fileSystem.getFileStatus(path); System.out.println("*************************************"); System.out.println("文件根目录: "+fileStatus.getPath()); System.out.println("这文件目录为:"); for(FileStatus fs : fileSystem.listStatus(path)){ System.out.println(fs.getPath()); } }
//浏览文件 public void look() throws Exception{ Path path = new Path("/user/root/b.txt"); FSDataInputStream fsDataInputStream = fileSystem.open(path); System.out.println("*************************************"); System.out.println("浏览文件的内容:"); int c; while((c = fsDataInputStream.read()) != -1){ System.out.print((char)c); } fsDataInputStream.close(); }
//下载 public void download() throws Exception{ //下载路径 String file = "D://hadoop.txt"; InputStream in = fileSystem.open(new Path("/user/root/b.txt")); OutputStream out = new FileOutputStream(file); IOUtils.copyBytes(in, out, 4096, true); System.out.println("*************************************"); System.out.println("文件下载完成!"+file); }
//上传文件 public void upload() throws Exception{ Path srcPath = new Path("F:/b.txt"); Path dstPath = new Path("/user/root"); fileSystem.copyFromLocalFile(false, srcPath, dstPath); fileSystem.close(); System.out.println("*************************************"); System.out.println("上传成功!"); }
//删除文件 public void delete() throws Exception{ Path path = new Path("/user/root/a.txt"); fileSystem.delete(path,true); System.out.println("*************************************"); System.out.println("删除成功!"); }
3、代码的运行
3.1、会出现错误 Permission denied: user=Administrator
是因为在windows下运行,默认用户为 Administrator,该用户没有权限。
3.2、最快速的解决方法
-DHADOOP_USER_NAME=root添加位置方法如下:
阅读全文
0 0
- hdfs2.9.0简单开发
- hdfs2.0
- Hadoop ecosystem HDFS and HDFS2
- hadoop hdfs2 Basic Filesystem Operations
- HDFS2.x之RPC流程分析
- YARN & HDFS2 安装和配置Kerberos
- 在hdfs2.2.0上部署hbase
- HDFS2.0 HA完整配置过程
- HDFS2.X的HA+Resourcemanager的HA
- HADOOP Java API 之 HDFS2.x操作
- HDFS2的新特性:HA和Federation
- HDFS1.0 与HDFS2.x 架构理解
- HDFS2.X源码分析之:NameNode块报告处理
- HDFS2.X源码分析之:NameNode读文件原理
- HDFS2.X源码分析之:NameNode写文件原理
- HDFS2.X源码分析之:NameNode启动流程分析
- 分布式安全--YARN & HDFS2 安装和配置Kerberos
- HDFS2.2.0集群的HA高可靠配置
- 删除索引、索引库、数据项
- YUV Player Deluxe 注册
- <Java算法实现--LeetCode(2)(3)>2017-11-21
- javascrpit 字符串和数组的简单函数
- 【Tensorflow slim】slim losses包
- hdfs2.9.0简单开发
- isql登陆本地和远程sybase数据库
- hrbust 2343 巴啦啦能量
- Selenium Python自动化测试学习知识积累-unittest
- File "scripts/rule_bison.py", line 75, in <module>
- ConcurrentHashMap 无锁读
- 栈的顺序存储的实现与操作
- 三分钟搭建mongodb伪副本集
- Unity实现验证身份证是否合法