在一个集群中,尽管是多用户,可是端口是公用的,存在冲突的可能。若是另外一个用户已经采用默认配置安装了hadoop,那么当前用户再安装hadoop时,必然会产生端口的冲突。在配置本身的hadoop时,能够本身配置datanode,namenode所须要的端口,避免冲突。html
下述方法也能够用来解决一类由于端口冲突致使datanode、namenode和resourcemanager没法启动的问题。若是经过jps查看不到相应的进程,查看对应的日志,若是是端口冲突,就能够考虑用下文的方法来解决。node
首先,选取一些空闲的端口,我这里选择的是50051-50062一系列端口。web
hadoop版本为2.2.0,安装的方法网上有不少,就不介绍了,这里主要介绍若是和其余用户的hadoop产生端口冲突时须要设置哪些本身的端口。须要设置的参数能够参考hadoop官网:http://hadoop.apache.org/docs/r2.5.2/hadoop-project-dist/hadoop-common/ClusterSetup.html。在网页左下角有各个配置文件的参数信息。apache
修改端口配置的步骤是对照日志文件来查看冲突的端口有哪些,而后在相应的配置文件中去修改这个端口就能够了。app
一、hdfs-site.xmlwebapp
这里修改hdfs相关的端口。oop
1 <property> 2 <name>dfs.namenode.scondary.http-address</name> 3 <value>node01:9001</value> 4 </property> 5 <property> 6 <name>dfs.datanode.address</name> 7 <value>0.0.0.0:50051</value> 8 </property> 9 <property> 10 <name>dfs.datanode.http.address</name> 11 <value>0.0.0.0:50052</value> 12 </property> 13 <property> 14 <name>dfs.namenode.http-address</name> 15 <value>node01:50053</value> 16 </property> 17 <property> 18 <name>dfs.datanode.ipc.address</name> 19 <value>0.0.0.0:50055</value> 20 </property>
二、yarn-site.xml网站
这里修改与yarn相关的代码,日志文件为yarn-username-nodemanager等开头的文件。spa
1 <property> 2 <name>yarn.resourcemanager.address</name> 3 <value>node01:50056</value> 4 </property> 5 <property> 6 <name>yarn.resourcemanager.scheduler.address</name> 7 <value>node01:50057</value> 8 </property> 9 <property> 10 <name>yarn.resourcemanager.resource-tracker.address</name> 11 <value>node01:50058</value> 12 </property> 13 <property> 14 <name>yarn.resourcemanager.admin.address</name> 15 <value>node01:50059</value> 16 </property> 17 <property> 18 <name>yarn.resourcemanager.webapp.address</name> 19 <value>node01:9090</value> 20 </property> 21 <property> 22 <name>yarn.nodemanager.localizer.address</name> 23 <value>0.0.0.0:50060</value> 24 </property> 25 <property> 26 <name>yarn.nodemanager.webapp.address</name> 27 <value>0.0.0.0:50062</value> 28 </property>
三、mapred-site.xml日志
这里修改mapreduce相关的参数。下文中的10020和19888没有冲突,因此没有改为50062之后的端口。
1 <property> 2 <name>mapreduce.jobhistory.address</name> 3 <value>0.0.0.0:10020</value> 4 </property> 5 <property> 6 <name>mapreduce.jobhistory.webapp.address</name> 7 <value>0.0.0.0:19888</value> 8 </property> 9 <property> 10 <name>mapreduce.shuffle.port</name> 11 <value>50061</value> 12 </property>
总结:端口的冲突很好解决,只须要到网站所提供的各个配置文件中找到相应的冲突端口所在的参数,而后到配置文件更改就好了。