解决外网无法访问HDFS文件系统②

解决外网无法访问HDFS文件系统②,第1张

解决外网无法访问HDFS文件系统② 本地HDFS的javaAPI访问云服务器Hadoop问题引申 1. 问题扩展

扩展于2021-12-29日解决外网无法访问HDFS文件系统①博文,直达链接已附上,两篇内容配合食用更佳。

1.1 防火墙问题

防火墙开启导致的error,关闭防火墙并设置开机不自启,Spark和hadoop平台中,很多服务貌似都和防火墙有点冲突,所以最好还是直接设置防火墙开机不自启动吧。

# 查看防火墙状态
systemctl status firewalld
# 关闭防火墙
systemctl stop firewalld
# 设置开机不自启
systemctl disable firewalld

如果防火墙关闭后还不行可以在hdfs-site.xml设置"dfs.socket.timeout"值为60000。


        dfs.socket.timeout
        60000

1.2 连接超时

集群内部配置hosts映射是内网映射(内网ip与主机名映射),本地只能通过公网ip访问集群

Failed to connect to /内网ip:9000 for block, add to deadNodes and continue. org.apache.hadoop.net.ConnectTimeoutException: 60000 millis timeout while waiting for channel to be ready for connect. ch : java.nio.channels.SocketChannel[connection-pending remote=/内网ip:9000]

本地IDEA无法连接内网ip,报错解读60000ms超时访问,连接不到内网ip(client访问的是外网地址,要连内网ip是肯定连不上的)

1.3 解决方法

    only cofig in clients
	dfs.client.use.datanode.hostname
    true

2. 问题引申 Win系统的特有bug
CopyException in thread "main" java.lang.UnsatisfiedlinkError: org.apache.hadoop.util.NativeCrc32.nativeComputeChunkedSums(IILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;IILjava/lang/String;JZ)V
	at org.apache.hadoop.util.NativeCrc32.nativeComputeChunkedSums(Native Method)
	at org.apache.hadoop.util.NativeCrc32.verifyChunkedSums(NativeCrc32.java:59)
	at org.apache.hadoop.util.DataChecksum.verifyChunkedSums(DataChecksum.java:301)
	at org.apache.hadoop.hdfs.RemoteBlockReader2.readNextPacket(RemoteBlockReader2.java:231)
	at org.apache.hadoop.hdfs.RemoteBlockReader2.read(RemoteBlockReader2.java:152)
	at org.apache.hadoop.hdfs.DFSInputStream$ByteArrayStrategy.doRead(DFSInputStream.java:767)
	at org.apache.hadoop.hdfs.DFSInputStream.readBuffer(DFSInputStream.java:823)
	at org.apache.hadoop.hdfs.DFSInputStream.readWithStrategy(DFSInputStream.java:883)
	at org.apache.hadoop.hdfs.DFSInputStream.read(DFSInputStream.java:926)
	at java.io.DataInputStream.read(DataInputStream.java:149)

windows下HADOOP_HOME的bin目录脚本是32位的,应替换为支持windows版本的64位,网上有编译好的windows64位版本的hadoop包,需要的自行查阅下载,这里不做提供

在IDEA中配置环境参数

HADOOP_HOME=E:hadoophadoop版本
PATH=%PATH%;E:hadoophadoop版本bin

大年初一不出门,在此给大家拜年。 了解更多知识请戳下:

@Author:懒羊羊

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5718849.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存