看来你是开启了HDFS的权限检查功能,这样你访问HDFS,NameNode都会检查访问用户的权限的。

你现在想要修改/process/startall.txt文件的权限,那process目录以及startall.txt的有效用户、有效组以及其权限是什么呢?
很显然,你的程序连process目录都进不去的。
此外,想要更改一个目录或文件的权限,当前用户则必须是有效用户或超级用户才可以。
想要解决的话,嘿嘿, 如果你设置的hadoop.security.authentication property,也就是认证方式为simple的话(默认就是simple),那还可以钻该认证方式的空子,运行程序是伪装成有效用户或者超
此外,有一行代码需要修改一下,我在实验后发现设置权限那一行有误,如下:
jps是Java的工具,能够显示系统当前运行的java程序及其进程号。
运行jps没有显示,应该是没有配置好系统的path、java_home和classpath。
执行hadoop fs -ls等同于hadoop fs -ls .该命令查看的是hdfs的/user/hadoop目录。而且默认是没有这个目录的。需要自己创建。
在Win10中,可以通过安装Hadoop的客户端软件来访问线上的HDFS。首先需要下载并安装Hadoop的客户端软件,然后在配置文件中指定HDFS的地址和端口号。
接着可以使用命令行或者图形化工具来访问HDFS文件系统,例如使用命令"hdfs dfs -ls /"查看根目录下的文件列表。需要注意的是,访问HDFS的前提是拥有相应的权限和认证信息。
在HBase中,可以通过使用Hadoop的分布式文件系统(HDFS)来存储数据,也可以使用本地文件系统来存储数据。如果需要在HBase中查找本地文件,可以使用HBase SHEll或HBase Java API进行操作。
1. 在HBase Shell中查找本地文件:
可以使用HBase Shell的hadoop fs命令来查找本地文件,具体命令如下:
其中,/path/to/local/file是本地文件的路径。
2. 在HBase Java API中查找本地文件:
可以使用Hadoop的FileSystem API来访问本地文件系统,具体代码如下:
// 文件存在,进行相关操作
// 文件不存在,进行相关操作
其中,/path/to/local/file是本地文件的路径,可以根据实际情况进行修改。
需要注意的是,HBase通常使用HDFS来存储数据,如果需要在HBase中使用本地文件系统,需要进行配置。具体配置可以参考HBase官方文档中的相关内容。