1. 程式人生 > >3.Hadoop測試Yarn和MapReduce

3.Hadoop測試Yarn和MapReduce

Hadoop測試Yarn和MapReduce

1.配置Yarn

(1)配置ResourceManager

生產環境中,一般是重開一臺機器作為ResourceManager,這裡我們以Master機器代替。

修改yarn-site.xml:

<?xml version="1.0"?>
<!--
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License. See accompanying LICENSE file.
-->
<configuration>
<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>master</value>
</property>
 
<property>  
    <name>yarn.nodemanager.aux-services</name>  
    <value>mapreduce_shuffle</value>  
</property>  
 
<property>
    <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<!-- Site specific YARN configuration properties -->

</configuration>

(2)配置NodeManager

NodeManager作為DataNode所在機器的資源管理程式,一般情況下直接放在DataNode所在節點。 修改yarn-site.xml:

<?xml version="1.0"?>
<!--
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License. See accompanying LICENSE file.
-->
<configuration>
<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>master</value>
</property>
 
<property>  
    <name>yarn.nodemanager.aux-services</name>  
    <value>mapreduce_shuffle</value>  
</property>  
 
<property>
    <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<!-- Site specific YARN configuration properties -->

</configuration>

(3)啟動yarn

在ResourceManager所在機器上:

start-yarn.sh

2.配置MapReduce

copy一份maper-site.xml.template作為maper-site.xml:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!--
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License. See accompanying LICENSE file.
-->

<!-- Put site-specific property overrides in this file. -->

<configuration>
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>
</configuration>

3.測試WordCount例項

(1)上傳計算使用檔案hello.txt

hello xm
hello sir
java c
python vb
java c++
go php
erlang java

(2)輸入測試命令

hadoop jar hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /input/hello.txt /output

(3)檢視測試結果

hadoop fs -ls /output

結果:

Found 2 items
-rw-r--r--   3 root supergroup          0 2018-10-18 15:19 /output/_SUCCESS
-rw-r--r--   3 root supergroup         70 2018-10-18 15:19 /output/part-r-00000

hadoop fs -text /output/part-r-00000

結果:

c   1
c++ 1
erlang  1
go  1
hello   2
java    3
php 1
python  1
sir 1
vb  1
xm  1

4.web檢視測試結果

(1)HDFS:master:50070

(2)Yarn:master:8088