Hadoop hdfs上传文件 权限问题
问题描述:
hadoop在虚拟机中的linux系统下
在本地通过eclipse编写代码把本地文件上传至hadoop平台的指定目录
代码如下:
@Test
public void upload() throws IOException
{
Configuration conf = new Configuration();
conf.set("fs.defaultFS", "hdfs://lujie01:9000/");
FileSystem fs = FileSystem.get(conf); Path path = new Path("hdfs://lujie01:9000/aa/lulu.txt");
FSDataOutputStream outputStream = fs.create(path);
FileInputStream inputStream = new FileInputStream("D:/lulu.txt"); IOUtils.copy(inputStream, outputStream); }
文件上传有更加简单的方法:
直接使用FileSystem的copyFromLocalFile方法
fs.copyFromLocalFile(new Path("D:/lulu.txt"), new Path("hdfs://lujie01:9000/aa/lulu.txt"));
在没有设定用户或者更改hadoop下/aa文件夹的权限之前,本机的用户身份无法通过hadoop的认证,导致无法上传
错误如下:

解决方法一:

把/aa文件夹的权限设为任何用户都可读可写可操作
再次执行测试程序,正常运行,通过客户端可以查看aa中的文件lulu.txt。表示已上传成功,注意这里的owner是lujie,电脑本地的用户名

解决方法二:
在Run Configuration中设置Arguments,把用户名改为Linux系统的用户名hadoop

解决方法三:
直接在代码中指定用户为hadoop
FileSystem fs = FileSystem.get(new URI("hdfs://lujie01:9000/"),conf,"hadoop");
@Test
public void upload() throws IOException, InterruptedException, URISyntaxException
{
Configuration conf = new Configuration();
conf.set("fs.defaultFS", "hdfs://lujie01:9000/");
FileSystem fs = FileSystem.get(new URI("hdfs://lujie01:9000/"),conf,"hadoop");
Path path = new Path("hdfs://lujie01:9000/aa/lulu1.txt");
FSDataOutputStream outputStream = fs.create(path);
FileInputStream inputStream = new FileInputStream("D:/lulu.txt"); IOUtils.copy(inputStream, outputStream); }
上传成功后,在客户端查看

Hadoop hdfs上传文件 权限问题的更多相关文章
- HDFS 上传文件的不平衡,Balancer问题是过慢
至HDFS上传文件.假定从datanode开始上传文件,上传的数据将导致目前的当务之急是全datanode圆盘.这是一个分布式程序的执行是非常不利. 解决方案: 1.从其他非datanode节点上传 ...
- 【转载】HDFS 上传文件不均衡和Balancer太慢的问题
向HDFS上传文件,如果是从某个datanode开始上传文件,会导致上传的数据优先写满当前datanode的磁盘,这对于运行分布式程序是非常不利的. 解决的办法: 1.从其他非datanode节点上传 ...
- HDFS设计思路,HDFS使用,查看集群状态,HDFS,HDFS上传文件,HDFS下载文件,yarn web管理界面信息查看,运行一个mapreduce程序,mapreduce的demo
26 集群使用初步 HDFS的设计思路 l 设计思想 分而治之:将大文件.大批量文件,分布式存放在大量服务器上,以便于采取分而治之的方式对海量数据进行运算分析: l 在大数据系统中作用: 为各类分布式 ...
- HDFS上传文件
1.client端向namenode请求上传文件,查看文件是否存在,是否有权限往hdfs写入 2.如果文件不存在,权限OK就根据副本数N(例如2个),根据网络拓扑选择N个离client端最近的data ...
- HDFS上传文件错误--hdfs:DFSClient:DataStreamer Exception
今天上传文件的时候发现传上去的文件为空,错误提示如上述所示,原来是IP地址改掉了对呀应etc/hosts下面的IP地址也要改变,永久改ip命令-ifconfig eth0 xxx·xxx·xxx·xx ...
- Hadoop无法上传文件查找原因
部署了集群,上传测试文件到HDFS文件系统的时候出现问题.could only be replicated to 0 nodes, instead of 1,如下图所示: 度娘寻找解决方案: 博客链接 ...
- 03 测试Hadoop hdfs 上传 与 mr
1.随便在哪个目录新增一个文档.内容随便输入 mkdir words 2.在hdfs 中新建文件输入目录 ./hdfs dfs -mkdir /test 3.把新建的文档 (/home/hadoop/ ...
- hadoop java上传文件
import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.InputStream; impo ...
- tomcat 上传文件权限不足
参考:https://www.cnblogs.com/houchaoying/p/8652040.html tomcat-bin-catalina.sh UMASK="0027" ...
随机推荐
- poj2069
poj2069 题意 求一个覆盖所有点的最小球体的半径.即求空间内一点到所有点的距离的最大值最小的点. 分析 模拟退火算法,但这道题竟然不用随机函数就能过了,主要体现了算法的渐近收敛性, 起始点随意取 ...
- python-广度优先搜索
广度优先搜索 下面我们来来BFS算法策略: 比如:我们要从双子峰---->金门大桥,最短路径如何? 我们利用广度优先搜索来一步步求解,注意广度优先搜索在于的关键在于"广",也 ...
- 一天搞定HTML----列表标签03
1.细说列表标签 2.代码演示 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"&g ...
- nodejs 开发指南 书中小项目 代码
最近 在学习node.js 先看了下语法 ,然后就看这个开发指南感觉书还是很有用,但是代码太旧了,网上也没有最新的,所以就自己查着前人的痕迹和自己修改,现在可以跑了. https://github.c ...
- Linux下串口通信工具minicom的用法
一.查看串口设备 例如,将USB转串口线插入交换机Console口后,执行命令:$ll /dev/ttyUSB* 二.连接串口设备 $sudo minicom -D /dev/ttyUSB0 三.设置 ...
- WPF MVVM 架构 Step By Step(3)(把后台代码移到一个类中)
我觉得大部分开发者应该已经知道怎么去解决这个问题.一般都是把后台代码(GLUE code)移动到一个类库.这个类库用来代表UI的属性和行为.任何代码当被移到一个类库中时都可以被编译成一个DLL,然后可 ...
- Kubernetes 设计概要
英文原文:Kubernetes Design Overview Overview Kubernetes builds on top of Docker to construct a clustered ...
- CoolBlog开发笔记第2课:搭建开发环境
教程目录 1.1 CoolBlog开发笔记第1课:项目分析 前言 今天是CoolBlog开发笔记的第2课,我们将要讲解的是开发环境的搭建.俗话说"工欲善其事必先利其器",Djang ...
- [leetcode-604-Design Compressed String Iterator]
Design and implement a data structure for a compressed string iterator. It should support the follow ...
- html路径问题
1.绝对路径 绝对路径是指文件在硬盘上真正存在的路径.例如"bg.jpg"这个图片是存放在硬盘的"E:\book\网页布局代码\第2章"目录下,那么 ...