Hadoopの通信用ポートの固定

picture_large978-4-87311-652-5.jpeg

Hadoop通信用ポートの固定

Hadoop通信用ポートの固定には、/etc/alternatives/hadoop-conf/mapred-site.xmlを編集します。こちらは通常、以下のような内容になっています。


<?xml version="1.0" encoding="UTF-8"?>
<configuration>

<property>
<name>mapred.job.tracker</name>
<value>logicaljt</value>
</property>

<property>
<name>mapred.jobtrackers.logicaljt</name>
<value>jt01,jt02</value>
</property>

<property>
<name>mapred.client.failover.proxy.provider.logicaljt</name>
<value>org.apache.hadoop.mapred.ConfiguredFailoverProxyProvider</value>
</property>

<property>
<name>mapred.jobtracker.rpc-address.logicaljt.jt01</name>
<value>nn01.*************:8021</value>
</property>

<property>
<name>mapred.job.tracker.http.address.logicaljt.jt01</name>
<value>0.0.0.0:50030</value>
</property>

<property>
<name>mapred.ha.jobtracker.rpc-address.logicaljt.jt01</name>
<value>nn01.************.jp:8023</value>
</property>

<property>
<name>mapred.ha.jobtracker.http-redirect-address.logicaljt.jt01</name>
<value>nn01.*************:50030</value>
</property>

<property>
<name>mapred.jobtracker.rpc-address.logicaljt.jt02</name>
<value>nn02.****************:8021</value>
</property>

<property>
<name>mapred.job.tracker.http.address.logicaljt.jt02</name>
<value>0.0.0.0:50030</value>
</property>

<property>
<name>mapred.ha.jobtracker.rpc-address.logicaljt.jt02</name>
<value>nn02.*****************:8023</value>
</property>

<property>
<name>mapred.ha.jobtracker.http-redirect-address.logicaljt.jt02</name>
<value>nn02.*****************:50030</value>
</property>

<property>
<name>ha.zookeeper.quorum</name>
<value>nn01.****************:2181,nn02.*****************:2181,dn10.***************:2181</value>
</property>

<property>
<name>mapred.jobtracker.restart.recover</name>
<value>true</value>
</property>

<property>
<name>mapred.job.tracker.persist.jobstatus.active</name>
<value>true</value>
</property>

<property>
<name>mapred.ha.automatic-failover.enabled</name>
<value>true</value>
</property>

<property>
<name>mapred.ha.fencing.methods</name>
<value>shell(/bin/true)</value>
</property>

<property>
<name>mapred.ha.zkfc.port</name>
<value>8018</value>
</property>

<property>
<name>mapred.client.failover.max.attempts</name>
<value>15</value>
</property>

<property>
<name>mapred.client.failover.sleep.base.millis</name>
<value>500</value>
</property>

<property>
<name>mapred.client.failover.sleep.max.millis</name>
<value>1500</value>
</property>

<property>
<name>mapred.client.failover.connection.retries</name>
<value>0</value>
</property>

<property>
<name>mapred.client.failover.connection.retries.on.timeouts</name>
<value>0</value>
</property>

<property>
<name>mapred.local.dir</name>
<value>/hadoop/mapred/local</value>
</property>

<property>
<name>mapred.system.dir</name>
<value>/mapred/system</value>
</property>

<property>
<name>mapreduce.jobtracker.staging.root.dir</name>
<value>/user</value>
</property>

<property>
<name>hadoop.job.history.location</name>
<value>file:///var/log/hadoop-0.20-mapreduce/history</value>
</property>

<property>
<name>mapred.jobtracker.taskScheduler</name>
<value>org.apache.hadoop.mapred.FairScheduler</value>
</property>

<property>
<name>mapred.job.tracker.handler.count</name>
<value>32</value>
</property>

<property>
<name>mapred.reduce.slowstart.completed.maps</name>
<value>0.5</value>
</property>

<property>
<name>mapred.jobtracker.retirejob.interval</name>
<value>86400000</value>
</property>

<property>
<name>mapred.job.tracker.persist.jobstatus.dir</name>
<value>/jobtracker/jobsInfo</value>
</property>

<property>
<name>mapred.jobtracker.completeuserjobs.maximum</name>
<value>20</value>
</property>

<property>
<name>mapred.jobtracker.plugins</name>
<value>org.apache.hadoop.thriftfs.ThriftJobTrackerPlugin</value>
</property>

<property>
<name>mapred.map.tasks.speculative.execution</name>
<value>true</value>
</property>

<property>
<name>mapred.reduce.tasks.speculative.execution</name>
<value>false</value>
</property>

<property>
<name>jobtracker.thrift.address</name>
<value>nn01.*****************:9290</value>
</property>

<property>
<name>hadoop.skip.worker.version.check</name>
<value>true</value>
</property>

</configuration>

このXMLに以下の記述を追加します。

<property>
<name>mapred.task.tracker.report.port</name>
<value>50050</value>
</property>

これで通信用ポートの固定ができ、Metricsの情報を継続して追うことができるようになります。