目录

问题1:浏览器访问不了hdfs web

问题2:浏览器点击Browse the file system打开文件系统报错:Failed to retrieve data from /webhdfs/v1/?op=LISTSTATUS: Server Error

??


最近通过虚拟机安装配置了hadoop集群,集群虽然搭建起来了,不过通过浏览器访问管理界面的过程中遇到了一些问题,现整理总结一下。

问题1:浏览器访问不了hdfs web

可能的原因:

(1).防火墙未关闭时,无法通过浏览器访问hdfs web页面。先查看防火墙的状态:

firewall-cmd --state

如果防火墙为开启状态,需要关闭防火墙(集群所有节点都需要关闭,不然通过控制台无法传文件到文件系统):

systemctl stop firewalld.service

防火墙关闭后,重新打开浏览器:

(2).hadoop默认的hdfs web控制界面的端口为9870,如果在hdfs-site.xml中没有配置dfs.namenode.http-address项,可以尝试用默认端口访问。

问题2:浏览器点击Browse the file system打开文件系统报错:Failed to retrieve data from /webhdfs/v1/op=LISTSTATUS: Server Error

这个问题查找了相关资料,发现是Java版本过高导致的,我用的是jdk11,hadoop3目前对jdk8支持得更好。于是卸载掉jdk11相关组件,重新安装jdk8并配置jdk环境变量。

查看软件版本
rpm -qa|grep jdk
卸载软件
yum -y remove java **

然后更改hadoop-env.sh中JAVA_HOME中的配置即可。

更新配置并重启hadoop服务后,重新打开Browse the file system,已经正常了。

问题3:浏览器HDFS文件系统上传文件时报Couldn’t upload the file错误

F12打开谷歌控制台,看到报as been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource.错误,大概意思是由于跨域访问CORS policy策略,访问阻塞了:

于是查阅了hadoop相关配置信息,将hadoop跨域访问过滤器加上:

<!--安全认证初始化的类-->
<property><name>hadoop.http.filter.initializers</name><value>org.apache.hadoop.security.HttpCrossOriginFilterInitializer</value>
</property>
<!--是否启用跨域支持-->
<property><name>hadoop.http.cross-origin.enabled</name><value>true</value>
</property>
<!--允许跨域访问的来源,如果有多个,用逗号(,)分隔-->
<property><name>hadoop.http.cross-origin.allowed-origins</name><value>*</value>
</property>
<!--允许跨域的方法列表,如果有多个,用逗号(,)分隔-->
<property><name>hadoop.http.cross-origin.allowed-methods</name><value>GET,POST,HEAD</value>
</property>
<!--允许跨域的标头列表,如果有多个,用逗号(,)分隔-->
<property><name>hadoop.http.cross-origin.allowed-headers</name><value>X-Requested-With,Content-Type,Accept,Origin</value>
</property>
<!--预检请求可以缓存的秒数-->
<property><name>hadoop.http.cross-origin.max-age</name><value>1800</value>
</property>

然后重启hadoop服务后,浏览器重新上传文件,还是报同样的错误。不过此时通过日志(logs/hadoop-hadoop-namenode-master.log)可以看到跨域过滤器已经开启了。那是什么原因导致浏览器还传不了文件呢?

左思右想想不明白,最后还是通过分析日志发现了端倪:

原来是目录权限的问题,新系统默认的目录只对当前用户有写权限。

于是修改目录权限,并在该目录中上传文件,问题解决。也就是说这个问题其实并非是跨域的问题,而是访问权限的问题,后来去掉跨域的配置,并赋予合适的权限重新访问可以正常上传文件验证了这一点。

通过这个问题的解决,启发我分析问题不能只看表面,要结合相关日志对比分析才能得出正确的结论。也深刻体会到了查看日志的重要性,以后要牢记!

hadoop3访问hdfs web控制页面遇到的各种问题总结相关推荐

  1. docker中安装了RabbitMQ后无法访问其Web管理页面

    2019独角兽企业重金招聘Python工程师标准>>> 在官网找了"$ docker run -d --hostname my-rabbit --name some-rab ...

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

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

  3. Hadoop3.x 50070端口访问不到WEB UI页面

    hadoop3 hdfs web端口改为9870 <property><name>dfs.namenode.http-address</name><value ...

  4. spark 2.2 读取 Hadoop3.0 数据异常 org.apache.hadoop.hdfs.web.HftpFileSystem cannot access its superinterfa

    spark 2.2 读取 Hadoop3.0 数据异常 Exception in thread "main" java.lang.IllegalAccessError: class ...

  5. expires与etag控制页面缓存的优先级

    expires指令控制HTTP应答中的"Expires"和"Cache-Control"Header头部信息,启动控制页面缓存的作用 time:可以使用正数或负 ...

  6. asp.net core根据用户权限控制页面元素的显示

    asp.net core根据用户权限控制页面元素的显示 Intro 在 web 应用中我们经常需要根据用户的不同允许用户访问不同的资源,显示不同的内容,之前做了一个 AccessControlHelp ...

  7. Springmvc拦截所有html和Controller,实现未登录则返回登录页,已登录则可以访问需要登录的页面。

    业务逻辑:后端mvc拦截器拦截所有的*.html和*.app请求(controller的后缀,用于识别controller,也可以换成其它如:userLogin.action),检查登录状态如果未登录 ...

  8. eclipse web项目页面显示404_404 Not Found错误页面是什么?

    404 Not Found错误页面是一个非常普遍的现象,该页面的目的是告诉浏览者其所请求的页面不存在或链接错误,同时引导用户使用网站其他页面而不是关闭窗口离开,虽然404错误页面在所难免,但网页设计师 ...

  9. Jsp页面跳转和js控制页面跳转的几种方法

    Jsp 页面跳转的几种方法 1. RequestDispatcher.forward() 在服务器端起作用,当使用forward()时,Servlet engine传递HTTP请求从当前的Servle ...

最新文章

  1. c++局域网主动ftp_【Jmeter】使用Jmeter对FTP协议的测试
  2. vue-自主研发非父子关系组件之间通信的问题
  3. 【转】VS.NET2003 调试无法启动
  4. Flask 在 Debug 模式下初始化2次
  5. 如何为您的AWS账户设置多因素身份验证(MFA)
  6. hibernate的查询缓存
  7. A Style-Based Generator Architecture for Generative Adversarial Networks---阅读笔记
  8. Linux Shell编程笔记6 sed流编辑器
  9. 软件需求分析--结构化分析(SA)方法[1]
  10. Failed to initialize storage module: user 的解决方式
  11. Web的测试内容和方法【转贴】
  12. 3.业务架构·应用架构·数据架构实战 --- 战略驱动的业务架构设计
  13. 根据RGB配色改变图片颜色
  14. react 实现展示公司层级,选择人员的功能
  15. 微信群二维码七天失效如何解决?有没有办法创建一个长期有效的微信群?
  16. 调停者模式 java_《JAVA与模式》之调停者模式
  17. 盒模型——快递比喻法
  18. 分群思维(六)分群思维的顶层应用-用户画像
  19. เล่น บาคาร่ารับสิทธิประโยชน์มากมาย
  20. gcc -shared -o libJava.so Java.o ./libdemo.a

热门文章

  1. Web Services 平台元素
  2. Self-attention中为什么softmax要除d_k
  3. 微信二次分享解决图标文案失效方案
  4. 企业为什么要进行数字化转型1.1——顺势而为谋发展
  5. mysql auto_increment 重置_如何重置MySQL中的AUTO_INCREMENT?
  6. PostgreSQL AUTO INCREMENT(自动增长)
  7. Qt QScopeGuard学习
  8. matlab绘制三维隐函数图像
  9. 软件测试面试题【变态逻辑题】,盘点那些大厂面试必出变态逻辑题
  10. 支付宝网商贷是雪中送炭么?