IT技术博客大学习 共学习 共进步

Hadoop安装端口已经被占用问题的解决方法

量子数科院 2011-05-25 12:28:02 浏览 3,882 次

在测试安装hadoop的时候,通常会遇到大家在同一批机器上安装hadoop的情况,这样的话会有端口已经被占用导致安装不成功的情况出现。

    Hadoop日志会提示这种错误:

    ERROR org.apache.hadoop.mapred.TaskTracker: Can not start task tracker because java.net.BindException: Address already in use

    在这种情况下,最好的方法就是在配置环境时把所有的端口配置都进行修改。

    在hadoop 0.20版本会涉及到3个配置文件:

    core-site.xml:

   1: 
   2:    fs.default.name
   3:    hdfs://master:9100
   4:    
   5:     为默认hdfs文件访问URI
   6:    
   7: 

    hdfs-site.xml

   1: 
   2:   dfs.datanode.address
   3:   0.0.0.0:50011
   4:   
   5:    默认为50010, 是datanode的监听端口
   6:   
   7: 
   8: 
   9:   dfs.datanode.http.address
  10:   0.0.0.0:50076
  11:   
  12:     默认为50075,为datanode的http server端口
  13:   
  14: 
  15: 
  16:   dfs.datanode.ipc.address
  17:   0.0.0.0:50021
  18:   
  19:     默认为50020, 为datanode的ipc server端口
  20:   
  21: 

    mapred-site.xml

   1: 
   2:   mapred.job.tracker
   3:   master:9101
   4:   
   5:     job tracker运行的位置和端口
   6:   
   7: 
   8:  
   9: 
  10:   mapred.task.tracker.http.address
  11:   0.0.0.0:50061
  12:   
  13:     默认为50061, 是task tracker的http server端口
  14:   
  15: 

    以上端口都配置为和其他人不冲突的端口,然后启动hadoop就可以顺利启动了。

    PS:

    1:如果遇到这种错误:

    ERROR org.apache.hadoop.mapred.TaskTracker: Can not start task tracker because org.apache.hadoop.ipc.RemoteException: java.io.IOException: Unknown protocol to name node: org.apache.hadoop.mapred.InterTrackerProtoco

    说明你在core-site.xml中fs.default.name的端口 和 mapred-site.xml中mapred.job.tracker中端口配置为完全相同的了,请修改为不同端口。

    2:如果遇到这种:

    error: org.apache.hadoop.hdfs.server.namenode.SafeModeException: Cannot delete /tmp/hadoop-*/mapred/system. Name node is in safe mode.

    请不要急,NameNode会在开始启动阶段自动关闭安全模式,然后启动成功。如果你不想等待,可以运行:

    bin/hadoop dfsadmin -safemode leave 强制结束。

    解释:安全模式

    NameNode启动时会从fsimage和edits日志文件中装载文件系统的状态信息,接着它等待各个DataNode向它报告它们各自的数据块状态,这样,NameNode就不会过早地开始复制数据块,即使在副本充足的情况下。这个阶段,NameNode处于安全模式下。NameNode的安全模式本质上是HDFS集群的一种只读模式,此时集群不允许任何对文件系统或者数据块修改的操作。通常NameNode会在开始阶段自动地退出安全模式。如果需要,你也可以通过’bin/hadoop dfsadmin -safemode’命令显式地将HDFS置于安全模式。NameNode首页会显示当前是否处于安全模式。关于安全模式的更多介绍和配置信息请参考JavaDoc:setSafeMode()

建议继续学习

  1. Facebook的实时Hadoop系统 (阅读 11,403)
  2. hadoop rpc机制 && 将avro引入hadoop rpc机制初探 (阅读 6,082)
  3. Hadoop的map/reduce作业输入非UTF-8编码数据的处理原理 (阅读 5,546)
  4. 百度是如何使用hadoop的 (阅读 5,004)
  5. Hadoop超级安装手册 (阅读 4,662)
  6. windows命令行查看端口和进程信息,解决端口占用现象 (阅读 4,483)
  7. Hadoop集群间Hadoop方案探讨 (阅读 4,443)
  8. 使用hadoop进行大规模数据的全局排序 (阅读 4,424)
  9. Hadoop现有测试框架探幽 (阅读 3,803)
  10. 分布式计算平台Hadoop 发展现状乱而稳定的解读 (阅读 3,806)