解决从linux本地文件系统上传文件到HDFS时的权限问题

当使用 hadoop fs -put localfile /user/xxx 时提示:

put: Permission denied: user=root, access=WRITE, inode="/user/shijin":hdfs:supergroup:drwxr-xr-x

表明:权限不够。这里涉及到两个方面的权限。一个是本地文件系统中localfile 文件的权限,一个是HDFS上 /user/xxx目录的权限。

先看看 /user/xxx目录的权限:drwxr-xr-x   - hdfs hdfds      表示它属于hdfs用户,组名为 hdfs

因此需要使用 sudo -u hdfs hadoop fs -put localfile /user/xxx   来指定使用 hdfs 用户来执行上传命令。

当高兴地执行sudo -u hdfs hadoop fs -put localfile /user/xxx  以为能成功上传时,又报错:
put: localfile   No such file or directory   说找不到本地文件localfile,可是用 ls 明明 能看到 localfile ,后来在一篇文章中发现发来是lcoalfile的权限问题。

因为我现在是使用hdfs用户来执行命令。而hdfs用户对 localfile 是没有相关权限的。此时,问题基本解决了,就是让hdfs 用户对 lcoalfile 有相关权限

一种简单的解决方法。直接把需要上传的文件复制到/tmp目录下。因为/tmp目录的权限为 rwxrwxrwx。然后执行:

sudo -u hdfs hadoop fs -put localfile /user/xxx   上传成功。

时间: 2024-10-12 22:28:27

解决从linux本地文件系统上传文件到HDFS时的权限问题的相关文章

burpsuite绕过本地javascripte上传文件

burpsuite绕过本地javascripte上传文件 先是找到图片上传的位置:       上传个asp文件试试,一点击上传就出现:       这样基本就可以确定是本地检测文件后缀名的方式来检测上传内容.       接下来先将asp文件的后缀改成.jpg结尾的.并开启burpsuite大杀器!!!       开启成功后,开始上传.jpg结尾的文件.       点击上传后,会自动到burpsuite中,在History中找到post,并将其send to repteater      

解决上传文件或图片时选择相同文件无法触发change事件的问题

昨天在做一个上传文件的模块时遇到了这样的问题:打开文件一上传,上传成功后再次点击文件一,change事件无反应 <input type="file" name="file" class="file-input" @change="setFile" /> 在网上查了一番发现,当第一次选择文件一上传时,存放的文件由空变成了文件一,上传成功后,再次选择文件一,此时就相当于没有change,所以两次选择相同的文件不会触发c

hadoop上传文件到hdfs出错

通过命令: Hadoop fs -put /opt/program/userall20140828 hdfs://localhost:9000/tmp/tvbox/ 上传文件到hdfs是出现错误 14/12/11 17:57:49 WARN hdfs.DFSClient: DataStreamer Exception: org.apache.hadoop.ipc.RemoteException: java.io.IOException: File /tmp/tvbox/behavior_2014

HDFS设计思路,HDFS使用,查看集群状态,HDFS,HDFS上传文件,HDFS下载文件,yarn web管理界面信息查看,运行一个mapreduce程序,mapreduce的demo

26 集群使用初步 HDFS的设计思路 l 设计思想 分而治之:将大文件.大批量文件,分布式存放在大量服务器上,以便于采取分而治之的方式对海量数据进行运算分析: l 在大数据系统中作用: 为各类分布式运算框架(如:mapreduce,spark,tez,--)提供数据存储服务 l 重点概念:文件切块,副本存放,元数据 26.1 HDFS使用 1.查看集群状态 命令:   hdfs  dfsadmin –report 可以看出,集群共有3个datanode可用 也可打开web控制台查看HDFS集群

解决从本地文件系统上传到HDFS时的权限问题

当使用 hadoop fs -put localfile /user/xxx 时提示: put: Permission denied: user=root, access=WRITE, inode="/user/shijin":hdfs:supergroup:drwxr-xr-x 表明:权限不够.这里涉及到两个方面的权限.一个是本地文件系统中localfile 文件的权限,一个是HDFS上 /user/xxx目录的权限. 先看看 /user/xxx目录的权限:drwxr-xr-x  

Linux 几种上传文件到linux服务的方法

Linux下几种文件传输命令 sz rz sftp scp 最近在部署系统时接触了一些文件传输命令,分别做一下简单记录: 1.sftp Secure Ftp 是一个基于SSH安全协议的文件传输管理工具.由于它是基于SSH的,会在传输过程中对用户的密码.数据等敏感信息进行加密,因此可以有效的防止用户信息在传输的过程中被窃取,比FTP有更高的安全性.在功能方面与FTP很类似,不仅可以传输文件数据,而且可以进行远程的文件管理(如建立,删除,查看文件列表等操作).Sftp与ftp虽然只有一字之差,但基于

从Linux服务器下载上传文件

首先要确定好哪两种的连接:Linux常用的有centors和unbantu两种版本,PC端Mac和Windows 如果在两个Linux之间传输,或Linux和Mac之间传输可以使用scp命令,类似于ssh连接 无论从本地复制到远程还是远程复制到本地,命令都是在本地书写的 不同的Linux之间copy文件常用有3种方法: 第一种就是ftp,也就是其中一台Linux安装ftp Server,这样可以另外一台使用ftp的client程序来进行文件的copy. 第二种方法就是采用samba服务,类似Wi

linux本地远程上传&amp;下载阿里云oss的shell脚本实现方法

当项目早服务器中运行时会产生大量的日志,如果日志不处理全部放在本服务器中显然没有那么大的内存,除了要做必要的删除也要做日志必要备份. 创建oss.sh脚本: #!/bin/bash host="oss-cn-beijing.aliyuncs.com" bucket="****" ###bucket名字### Id="****************" ###Access ID### Key="******************&quo

使用Putty实现windows向阿里云的Linux云服务器上传文件

1.首先获取PSCP工具 PuTTY小巧方便.但若需要向网络中的Linux系统上传文件,则可以使用PuTTY官方提供的PSCP工具来实现上传.PSCP是基于ssh协议实现. 可以点击这里下载 2.启动PSCP工具 首先需要保证在命令行下可以访问到pscp.exe.可以通过配置Windows的环境变量Path,或者直接通过命令行访问到pscp.exe. 首先进入到当前目录下: 例如:在windows系统下面: 之后开始传输文件到Linux服务器上 格式:pscp 文件 用户名@LinuxIP:目录