摘要
借助于文件系统 Shell,可以像 Linux Shell 一样方便的访问 HDFS。另外的,通过连接 namenode 可以编程远程访问 HDFS。
命令行访问
HDFS 可以使用 ./bin/hdfs
访问,也可在 Hadoop 配置为使用 HDFS 作为存储时 (core-site.xml 中 fs.defaultFS) 使用 ./bin/hadoop fs
访问。
这里以 ./bin/hadoop fs
为例。
创建工作目录
|
|
同样的,这里可以加参数 -p 创建一个多层目录
|
|
列出目录内容
|
|
复制本地文件到 HDFS
|
|
复制 HDFS 文件到本地
|
|
直接查看 HDFS 文件内容
|
|
删除文件
|
|
追加文件内容
|
|
使用 ./bin/hadoop fs
不仅可以访问 HDFS,还可以使用本地文件、AWS S3等
|
|
编程访问
可能遇到的问题
- 写入 hdfs 时报
0 datanode running
之类
可能是由于多次格式化了 namenode,可检查 logs/hadoop-***-datanode-***.log
看到异常:
|
|
解决办法是指定与 datanode 相同的 clusterId 格式化 namenode
|
|