hadoop端口被占用

在启动hadoop的时候查看一个datanode没有起来,查看log发现

ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.net.BindException: Problem binding to /0.0.0.0:50010 : Address already in use
50010端口是datanode的监听端口

下面列一下各个默认端口
50030       mapred.job.tracker.http.address        
描述:JobTracker administrative web GUI JOBTRACKER的HTTP服务器和端口 


50070              dfs.http.address                             
描述:NameNode administrative web GUI NAMENODE的HTTP服务器和端口 


50010          dfs.datanode.address                   
描述:DataNode control port (each DataNode listens on this port and registers it with the  NameNode on startup) DATANODE控制端口,主要用于DATANODE初始化时向NAMENODE提出注册和应答请求 


50020          dfs.datanode.ipc.address               
描述:DataNode IPC port, used for block transfer DATANODE的RPC服务器地址和端口 


50060      mapred.task.tracker.http.address           
描述:Per TaskTracker web interface TASKTRACKER的HTTP服务器和端口 


50075          dfs.datanode.http.address                  
描述:Per   DataNode web interface DATANODE的HTTP服务器和端口 


50090            dfs.secondary.http.address 


因为我们的服务器上配有多个hadoop,因此都使用默认端口是有问题的,那只能使用非默认端口了

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

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

core-site.xml:

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

hdfs-site.xml

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

mapred-site.xml

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

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

以及如何关闭安全模式:

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 强制结束。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值