1 诡异现象

Fayson今天在集群中浏览HDFS数据目录时发现,通过Cloudera Manager的“文件浏览”功能可以正常的浏览某一个HDFS数据目录,如下显示:

但Fayson在脚本或命令行操作该数据目录时又提示“/tmp/guiyi/123: No such file or directory”,异常如下:

2 问题分析

在Cloudera Manager上可以正常的浏览该数据目录,但在命令行无法正常访问提示文件不存在,经过一系列操作(如:重启Cloudera Manager、重启HDFS服务均无法解决该问题),继续分析….

猜测可能是由于HDFS数据目录包含特殊字符导致,Fayson使用如下命令查看HDFS路径是否携带特殊字符:

[root@cdh05 ~]# hadoop fs -ls /tmp/guiyi | cat -A

通过如上命令可以看到在/tmp/guyiyi/123路径后看到存在特殊字符“^[”,由此可以推断是HDFS路径包含了特殊字符导致的问题。

3 问题解决

在上面我们定位到HDFS路径中包含特殊字符导致命令行无法正常访问HDFS路径(这里只是hadoop命令的影响,也有可能会影响Hive无法正常的获取表的数据),那接下来可以通过如下步骤解决该问题:

1.使用hadoop命令将/tmp/guiyi目录下的所有数据目录列出到一个shell脚本

[root@cdh05 ~]# hadoop fs -ls /tmp/guiyi > test.sh
[root@cdh05 ~]# cat -A test.sh

2.在上一步test.sh脚本的基础上较该脚本修改为如下:

[root@cdh05 ~]# vim test.sh
hadoop fs -mv /tmp/guiyi/123^[ /tmp/guiyi/123

注意:这里为什么是在test.sh的基础上修改,是因为“^[”字符在Linux通过拷贝的方式则认为普通字符,不是不可见的特殊字符。

3.执行上述修改后的脚本将/tmp/guiyi/123^[ 目录修改为/tmp/guiyi/123

[root@cdh05 ~]# sh test.sh
[root@cdh05 ~]# hadoop fs -ls /tmp/guiyi
[root@cdh05 ~]# hadoop fs -ls /tmp/guiyi | cat -A
[root@cdh05 ~]# hadoop fs -ls /tmp/guiyi/123

可以看到此时/tmp/guiyi/123的HDFS路径已可以正常访问。

4 总结

1.在使用脚本创建HDFS目录或文件时一定要注意特殊字符问题(特别是在window上编写好的脚本拷贝至Linux服务器时,需要检查文件中是否包含特殊字符)

2.在Linux中使用vim进入编辑状态后使用ctrl+c、ctrl+v会产生上述问题中的特殊字符,因此在编辑时需要注意。

3.可以通过cat -A命令查看文件中是否包含特殊字符

0521-Hadoop命令无法访问HDFS路径诡异问题解决相关推荐

  1. Hadoop通过路径和和链接访问HDFS

    如果既想在Hadoop服务器本地可以通过绝对路径如"/user/hadoop"方式访问hdfs,也想通过"hdfs://local host:9000/user/hado ...

  2. hadoop和hdfs命令_Hadoop 1.x和2.x HDFS基本开发人员命令,“ hadoop”命令

    hadoop和hdfs命令 In this post, we are going to discuss about Hadoop 1.x and Hadoop 2.x HDFS Basic comma ...

  3. 【大数据】Hadoop (二) HDFS

    课程链接: 尚硅谷大数据Hadoop 3.x(入门搭建+安装调优)_哔哩哔哩_bilibili (Hadoop到底是干什么用的? - 知乎 (zhihu.com) 资料 Hadoop中文文档 (apa ...

  4. 大数据时代|核心架构Hadoop入门学习之HDFS,循序渐进求真知

    前言 当今世界,科学技术飞速发展,人们不知不觉的进入了大数据时代.而什么是大数据时代,大数据的发展是什么?这一系列的问题其实很抽象,很难一言半语的概括.但是,在这大数据时代,必须掌握相应的技术作为支撑 ...

  5. 通过shell命令访问HDFS

    ### 实验名称 通过shell命令访问HDFS ### 实验目的 1.理解HDFS在Hadoop体系结构中的角色: 2.熟练使用常用的Shell命令访问HDFS: ### 实验背景 HDFS分布式存 ...

  6. 记录hadoop HDFS与hadoop YARN无法访问问题

    问题: 如图,hadoop hdfs无法访问: 原因一: 防火墙未关闭: 查看防火墙状态: [xiaobai@hadoop102 hadoop-3.2.2]$ systemctl status fir ...

  7. hadoop java访问_Hadoop(五)搭建Hadoop客户端与Java访问HDFS集群

    上一篇详细介绍了HDFS集群,还有操作HDFS集群的一些命令,常用的命令: hdfs dfs -ls xxx hdfs dfs -mkdir -p /xxx/xxx hdfs dfs -cat xxx ...

  8. Hadoop(八)Java程序访问HDFS集群中数据块与查看文件系统

    阅读目录(Content) 一.HDFS中数据块概述 1.1.HDFS集群中数据块存放位置 1.2.数据块(data block)简介 1.3.对分布式文件系统中的块进行抽象会带来很多好处 二.Jav ...

  9. Hadoop原理与技术——hdfs命令行基本操作

    点击链接查看文档 一.实验目的 熟悉hdfs命令行基本操作 二.实验环境 Windows 10 VMware Workstation Pro虚拟机 Hadoop环境 Jdk1.8 三.实验内容 1:h ...

最新文章

  1. mysql font zhushi_关于在mysql front中使用注释符报错的问题
  2. 辛星php函数,辛星和您用更简略的方式去实现PHP中的验证码
  3. 分享一个现代的,免费的,简单而有效的编辑器Vis
  4. POJ3114强连通+spfa
  5. HTML5基础-Mark标签高亮显示文本
  6. 通过js encodeURIComponent传到服务器的乱码问题
  7. sql 解析字符串添加到临时表中 sql存储过程in 参数输入
  8. 为什么在Java 6上Math.round(0.499999999999999917)舍入为1
  9. 2019北京理工大学计算机专硕经验分享
  10. 程序员面试金典——1.6像素翻转
  11. StringJoiner
  12. 史上最全网易云音乐的API接口
  13. 海康威视工业相机SDK二次开发(VS+Opencv+QT+海康SDK+C++)(二)
  14. uva1391Astronauts【2-SAT】
  15. Python制作动态桌面壁纸程序-摆脱付费-Mili_Wallpaper
  16. 解决excel转pdf出现的折行问题
  17. 5s的app显示无法连接服务器,苹果手机无法连接到app store怎么办
  18. 超越传统微调!Meta新作VPT:视觉Prompt来了!冻结主干,仅调节1%参数,性能提升显著!...
  19. Uva10616+10820
  20. 架构设计第三步:评估和选择备选方案

热门文章

  1. 直播平台对企业的作用有哪些
  2. Pots (模拟倒水)
  3. iOS--触碰响应UIResponder UIGestureRecognizer
  4. Quartz 在misfire模式[错失、补偿执行] 策略
  5. c语言英文排版程序,C语言设计—英文排版系统精品.docx
  6. 面试经验 - 如何介绍自己的技能水平?
  7. 办公知识:有关如何PDF转Word文档的方法分享
  8. 《概率论与数理统计》-第二章 随机变量及其分布-第一节 离散型随机变量及其分布-笔记
  9. 洛谷P3879 [TJOI2010] 阅读理解 题解
  10. Android Adapter适配器