3.Hadoop測試Yarn和MapReduce
阿新 • • 發佈:2018-12-16
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