java.lang.IllegalArgumentException: java.net.UnknownHostException: user 错误解决

本文解决了Spark在读取HDFS文件时遇到的java.net.UnknownHostException错误问题。通过正确配置HDFS路径中的主机名和端口,以及正确设置/etc/hosts文件,可以避免此错误并确保Spark应用正常运行。

在spark-shell环境运行官网实例,每次涉及action操作,总出现错误:
java.lang.IllegalArgumentException: java.net.UnknownHostException: user


有的说修改hosts、有的说将$HADOOP_HOME/etc/hadoop下面的hdfs-site.xml和core-site.xml拷贝到$SPARK_HOME/conf下面,但是无效。
This error can be fixed by giving proper hostname and port.
sc.textFile("hdfs://{hostname}:8020/{filepath}...") 

即每次HDFS路径参数的时候,添加core-site.xml中 fs.defaultFS 对应的 {hostname}:port 信息。例如,我之前的传递的参数是酱紫的:
"hdfs://user/root/data/file.txt"
现在修改为:
"hdfs://hostname:9000/user/root/data/file.txt"

另外需要注意,修改/etc/hosts的时候,配置如"127.0.0.1 your_hostname"是不对的,在启动spark-shell的时候会警告:
WARN util.Utils: Your hostname, your_hostname resolves to a loopback address: 127.0.0.1; using 192.168.67.81 instead (on interface eth0)
安装hadoop配置/etc/hosts的时候,只需在后面添加对应的IP master/slave即可,无需修改其它。

评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值