0521-Hadoop命令无法访问HDFS路径诡异问题解决
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路径诡异问题解决相关推荐
- Hadoop通过路径和和链接访问HDFS
如果既想在Hadoop服务器本地可以通过绝对路径如"/user/hadoop"方式访问hdfs,也想通过"hdfs://local host:9000/user/hado ...
- 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 ...
- 【大数据】Hadoop (二) HDFS
课程链接: 尚硅谷大数据Hadoop 3.x(入门搭建+安装调优)_哔哩哔哩_bilibili (Hadoop到底是干什么用的? - 知乎 (zhihu.com) 资料 Hadoop中文文档 (apa ...
- 大数据时代|核心架构Hadoop入门学习之HDFS,循序渐进求真知
前言 当今世界,科学技术飞速发展,人们不知不觉的进入了大数据时代.而什么是大数据时代,大数据的发展是什么?这一系列的问题其实很抽象,很难一言半语的概括.但是,在这大数据时代,必须掌握相应的技术作为支撑 ...
- 通过shell命令访问HDFS
### 实验名称 通过shell命令访问HDFS ### 实验目的 1.理解HDFS在Hadoop体系结构中的角色: 2.熟练使用常用的Shell命令访问HDFS: ### 实验背景 HDFS分布式存 ...
- 记录hadoop HDFS与hadoop YARN无法访问问题
问题: 如图,hadoop hdfs无法访问: 原因一: 防火墙未关闭: 查看防火墙状态: [xiaobai@hadoop102 hadoop-3.2.2]$ systemctl status fir ...
- hadoop java访问_Hadoop(五)搭建Hadoop客户端与Java访问HDFS集群
上一篇详细介绍了HDFS集群,还有操作HDFS集群的一些命令,常用的命令: hdfs dfs -ls xxx hdfs dfs -mkdir -p /xxx/xxx hdfs dfs -cat xxx ...
- Hadoop(八)Java程序访问HDFS集群中数据块与查看文件系统
阅读目录(Content) 一.HDFS中数据块概述 1.1.HDFS集群中数据块存放位置 1.2.数据块(data block)简介 1.3.对分布式文件系统中的块进行抽象会带来很多好处 二.Jav ...
- Hadoop原理与技术——hdfs命令行基本操作
点击链接查看文档 一.实验目的 熟悉hdfs命令行基本操作 二.实验环境 Windows 10 VMware Workstation Pro虚拟机 Hadoop环境 Jdk1.8 三.实验内容 1:h ...
最新文章
- mysql font zhushi_关于在mysql front中使用注释符报错的问题
- 辛星php函数,辛星和您用更简略的方式去实现PHP中的验证码
- 分享一个现代的,免费的,简单而有效的编辑器Vis
- POJ3114强连通+spfa
- HTML5基础-Mark标签高亮显示文本
- 通过js encodeURIComponent传到服务器的乱码问题
- sql 解析字符串添加到临时表中 sql存储过程in 参数输入
- 为什么在Java 6上Math.round(0.499999999999999917)舍入为1
- 2019北京理工大学计算机专硕经验分享
- 程序员面试金典——1.6像素翻转
- StringJoiner
- 史上最全网易云音乐的API接口
- 海康威视工业相机SDK二次开发(VS+Opencv+QT+海康SDK+C++)(二)
- uva1391Astronauts【2-SAT】
- Python制作动态桌面壁纸程序-摆脱付费-Mili_Wallpaper
- 解决excel转pdf出现的折行问题
- 5s的app显示无法连接服务器,苹果手机无法连接到app store怎么办
- 超越传统微调!Meta新作VPT:视觉Prompt来了!冻结主干,仅调节1%参数,性能提升显著!...
- Uva10616+10820
- 架构设计第三步:评估和选择备选方案
热门文章
- 直播平台对企业的作用有哪些
- Pots (模拟倒水)
- iOS--触碰响应UIResponder UIGestureRecognizer
- Quartz 在misfire模式[错失、补偿执行] 策略
- c语言英文排版程序,C语言设计—英文排版系统精品.docx
- 面试经验 - 如何介绍自己的技能水平?
- 办公知识:有关如何PDF转Word文档的方法分享
- 《概率论与数理统计》-第二章 随机变量及其分布-第一节 离散型随机变量及其分布-笔记
- 洛谷P3879 [TJOI2010] 阅读理解 题解
- Android Adapter适配器