6d551b83de
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1215065 13f79535-47bb-0310-9956-ffa450edef68
195 lines
5.9 KiB
Plaintext
195 lines
5.9 KiB
Plaintext
~~ 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.
|
|
|
|
---
|
|
Hadoop MapReduce Next Generation ${project.version} - Setting up a Single Node Cluster.
|
|
---
|
|
---
|
|
${maven.build.timestamp}
|
|
|
|
Hadoop MapReduce Next Generation - Setting up a Single Node Cluster.
|
|
|
|
\[ {{{./index.html}Go Back}} \]
|
|
|
|
%{toc|section=1|fromDepth=0}
|
|
|
|
* Mapreduce Tarball
|
|
|
|
You should be able to obtain the MapReduce tarball from the release.
|
|
If not, you should be able to create a tarball from the source.
|
|
|
|
+---+
|
|
$ mvn clean install -DskipTests
|
|
$ cd hadoop-mapreduce-project
|
|
$ mvn clean install assembly:assembly -Pnative
|
|
+---+
|
|
<<NOTE:>> You will need protoc installed of version 2.4.1 or greater.
|
|
|
|
To ignore the native builds in mapreduce you can omit the <<<-Pnative>>> argument
|
|
for maven. The tarball should be available in <<<target/>>> directory.
|
|
|
|
|
|
* Setting up the environment.
|
|
|
|
Assuming you have installed hadoop-common/hadoop-hdfs and exported
|
|
<<$HADOOP_COMMON_HOME>>/<<$HADOOP_HDFS_HOME>>, untar hadoop mapreduce
|
|
tarball and set environment variable <<$HADOOP_MAPRED_HOME>> to the
|
|
untarred directory. Set <<$YARN_HOME>> the same as <<$HADOOP_MAPRED_HOME>>.
|
|
|
|
<<NOTE:>> The following instructions assume you have hdfs running.
|
|
|
|
* Setting up Configuration.
|
|
|
|
To start the ResourceManager and NodeManager, you will have to update the configs.
|
|
Assuming your $HADOOP_CONF_DIR is the configuration directory and has the installed
|
|
configs for HDFS and <<<core-site.xml>>>. There are 2 config files you will have to setup
|
|
<<<mapred-site.xml>>> and <<<yarn-site.xml>>>.
|
|
|
|
** Setting up <<<mapred-site.xml>>>
|
|
|
|
Add the following configs to your <<<mapred-site.xml>>>.
|
|
|
|
+---+
|
|
<property>
|
|
<name>mapreduce.cluster.temp.dir</name>
|
|
<value></value>
|
|
<description>No description</description>
|
|
<final>true</final>
|
|
</property>
|
|
|
|
<property>
|
|
<name>mapreduce.cluster.local.dir</name>
|
|
<value></value>
|
|
<description>No description</description>
|
|
<final>true</final>
|
|
</property>
|
|
+---+
|
|
|
|
** Setting up <<<yarn-site.xml>>>
|
|
|
|
Add the following configs to your <<<yarn-site.xml>>>
|
|
|
|
+---+
|
|
<property>
|
|
<name>yarn.resourcemanager.resource-tracker.address</name>
|
|
<value>host:port</value>
|
|
<description>host is the hostname of the resource manager and
|
|
port is the port on which the NodeManagers contact the Resource Manager.
|
|
</description>
|
|
</property>
|
|
|
|
<property>
|
|
<name>yarn.resourcemanager.scheduler.address</name>
|
|
<value>host:port</value>
|
|
<description>host is the hostname of the resourcemanager and port is the port
|
|
on which the Applications in the cluster talk to the Resource Manager.
|
|
</description>
|
|
</property>
|
|
|
|
<property>
|
|
<name>yarn.resourcemanager.scheduler.class</name>
|
|
<value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value>
|
|
<description>In case you do not want to use the default scheduler</description>
|
|
</property>
|
|
|
|
<property>
|
|
<name>yarn.resourcemanager.address</name>
|
|
<value>host:port</value>
|
|
<description>the host is the hostname of the ResourceManager and the port is the port on
|
|
which the clients can talk to the Resource Manager. </description>
|
|
</property>
|
|
|
|
<property>
|
|
<name>yarn.nodemanager.local-dirs</name>
|
|
<value></value>
|
|
<description>the local directories used by the nodemanager</description>
|
|
</property>
|
|
|
|
<property>
|
|
<name>yarn.nodemanager.address</name>
|
|
<value>0.0.0.0:port</value>
|
|
<description>the nodemanagers bind to this port</description>
|
|
</property>
|
|
|
|
<property>
|
|
<name>yarn.nodemanager.resource.memory-mb</name>
|
|
<value>10240</value>
|
|
<description>the amount of memory on the NodeManager in GB</description>
|
|
</property>
|
|
|
|
<property>
|
|
<name>yarn.nodemanager.remote-app-log-dir</name>
|
|
<value>/app-logs</value>
|
|
<description>directory on hdfs where the application logs are moved to </description>
|
|
</property>
|
|
|
|
<property>
|
|
<name>yarn.nodemanager.log-dirs</name>
|
|
<value></value>
|
|
<description>the directories used by Nodemanagers as log directories</description>
|
|
</property>
|
|
|
|
<property>
|
|
<name>yarn.nodemanager.aux-services</name>
|
|
<value>mapreduce.shuffle</value>
|
|
<description>shuffle service that needs to be set for Map Reduce to run </description>
|
|
</property>
|
|
+---+
|
|
|
|
* Setting up <<<capacity-scheduler.xml>>>
|
|
|
|
Make sure you populate the root queues in <<<capacity-scheduler.xml>>>.
|
|
|
|
+---+
|
|
<property>
|
|
<name>yarn.scheduler.capacity.root.queues</name>
|
|
<value>unfunded,default</value>
|
|
</property>
|
|
|
|
<property>
|
|
<name>yarn.scheduler.capacity.root.capacity</name>
|
|
<value>100</value>
|
|
</property>
|
|
|
|
<property>
|
|
<name>yarn.scheduler.capacity.root.unfunded.capacity</name>
|
|
<value>50</value>
|
|
</property>
|
|
|
|
<property>
|
|
<name>yarn.scheduler.capacity.root.default.capacity</name>
|
|
<value>50</value>
|
|
</property>
|
|
+---+
|
|
|
|
* Running daemons.
|
|
|
|
Assuming that the environment variables <<$HADOOP_COMMON_HOME>>, <<$HADOOP_HDFS_HOME>>, <<$HADOO_MAPRED_HOME>>,
|
|
<<$YARN_HOME>>, <<$JAVA_HOME>> and <<$HADOOP_CONF_DIR>> have been set appropriately.
|
|
Set $<<$YARN_CONF_DIR>> the same as $<<HADOOP_CONF_DIR>>
|
|
|
|
Run ResourceManager and NodeManager as:
|
|
|
|
+---+
|
|
$ cd $HADOOP_MAPRED_HOME
|
|
$ sbin/yarn-daemon.sh start resourcemanager
|
|
$ sbin/yarn-daemon.sh start nodemanager
|
|
+---+
|
|
|
|
You should be up and running. You can run randomwriter as:
|
|
|
|
+---+
|
|
$ $HADOOP_COMMON_HOME/bin/hadoop jar hadoop-examples.jar randomwriter out
|
|
+---+
|
|
|
|
Good luck.
|