hadoop报错:Does not contain a valid host:port authority

今天用sbin/start-yarn.sh启动yarn的时候,遇到下面的错误

java.lang.IllegalArgumentException: Does not contain a valid host:port authority: master
	at org.apache.hadoop.net.NetUtils.createSocketAddr(NetUtils.java:211)
	at org.apache.hadoop.net.NetUtils.createSocketAddr(NetUtils.java:163)
	at org.apache.hadoop.net.NetUtils.createSocketAddr(NetUtils.java:152)
	at org.apache.hadoop.mapred.ClientCache$1.run(ClientCache.java:95)
	at org.apache.hadoop.mapred.ClientCache$1.run(ClientCache.java:92)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.security.auth.Subject.doAs(Subject.java:356)
	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1594)
	at org.apache.hadoop.mapred.ClientCache.instantiateHistoryProxy(ClientCache.java:92)
	at org.apache.hadoop.mapred.ClientCache.getInitializedHSProxy(ClientCache.java:77)
	at org.apache.hadoop.mapred.YARNRunner.addHistoryToken(YARNRunner.java:184)
	at org.apache.hadoop.mapred.YARNRunner.submitJob(YARNRunner.java:281)
	at org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:432)
	at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1285)
	at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1282)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.security.auth.Subject.doAs(Subject.java:415)
	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1614)
	at org.apache.hadoop.mapreduce.Job.submit(Job.java:1282)
	at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1303)
	at org.apache.hadoop.examples.WordCount.main(WordCount.java:87)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.apache.hadoop.util.ProgramDriver$ProgramDescription.invoke(ProgramDriver.java:72)
	at org.apache.hadoop.util.ProgramDriver.run(ProgramDriver.java:145)
	at org.apache.hadoop.examples.ExampleDriver.main(ExampleDriver.java:74)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.apache.hadoop.util.RunJar.main(RunJar.java:212)

  经过排查,发现是mapred-site.xml中配置错误,如下:

<property>
  <name>mapreduce.jobhistory.address</name>
  <value>master</value>
  <description>job history server</description>
</property>

<property>
  <name>mapreduce.jobhistory.webapp.address</name>
  <value>master</value>
  <description>job history server</description>
</property>

  address应该包含端口号,而配置文件中只指定了主机名,所以加上端口号就好了

<property>
  <name>mapreduce.jobhistory.address</name>
  <value>master:7001</value>
  <description>job history server</description>
</property>

<property>
  <name>mapreduce.jobhistory.webapp.address</name>
  <value>master:8001</value>
  <description>job history server</description>
</property>

  遇到以上错误的朋友,不妨看一下core-site.xml,hdfs-site.xml,mapred-site.xml,yarn-site.xml这几个配置文件中的地址格式是否正确,另外value两端最好不要出现空格,比如下面的格式可能会报错(master前边有空格)

<property>
  <name>mapreduce.jobhistory.address</name>
  <value> master</value>
  <description>job history server</description>
</property>

  

 

转载于:https://www.cnblogs.com/truezion/p/4290735.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当你在Ubuntu系统上尝试启动Hadoop服务时,如果遇到 Job for hadoop.service failed错误,这通常意味着Hadoop主服务(如NameNode或JobTracker)启动过程中遇到了问题,导致控制进程以非零退出代码结束。这种错误可能由多种原因引起,包括但不限于: 1. **配置文件问题**:检查Hadoop配置文件(如core-site.xml, hdfs-site.xml, yarn-site.xml等),确保它们正确地指定了Hadoop的安装路径、网络设置和资源限制。 2. **依赖缺失**:确保所有必要的库和组件已经安装,并且版本兼容。比如,Java、SSH、Zookeeper、HDFS和YARN等都需要正常运行。 3. **权限问题**:Hadoop服务可能需要特定的用户权限才能访问文件系统、日志目录或其他关键资源。确认这些权限是否已正确设置。 4. **磁盘空间不足**:检查Hadoop数据目录是否有足够的存储空间,如果没有,你需要清理一些空间或者调整配置。 5. **日志文件**:查看Hadoop的日志文件(通常是logs目录下的)以获取具体的错误信息,这有助于定位问题根源。 6. **网络问题**:确认集群内的节点间网络连接畅通,特别是Hadoop的通信端口(如8020, 9000等)是否对外开放并且可达。 7. **服务冲突**:检查是否有其他服务占用了Hadoop的服务端口,导致启动失败。 为了解决这个问题,你可以按照以下步骤进行排查: 1. **查看错误日志**:使用命令 `journalctl -u hadoop.service` 或 `sudo journalctl -xe` 查看详细错误信息。 2. **检查服务状态**:`systemctl status hadoop.service` 看服务是否启动,以及启动时的输出。 3. **尝试重启服务**:`sudo systemctl restart hadoop.service` 并观察是否能解决问题。 4. **修复问题后手动启动**:如果重启不成功,找到并解决日志中指出的具体错误,然后手动启动服务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值