共计 8212 个字符,预计需要花费 21 分钟才能阅读完成。
Hadoop2.0 的架构和 1.0 完全不一样,在安装配置上和 1.0 也有很大的不同,譬如配置文件的目录不一样了,还有要对 yarn 进行配置,这个在 1.0 是没有的。很多人第一次接触 hadoop2.0 的时候,会很不适应,而且官方的文档也有些写得不太清楚的地方,也有些错误。笔者在初次安装 hadoop2.0 的时候,看着官方的文档,中间也出现过很多问题。为了帮助大家很快的部署上 hadoop2.0,笔者写了这篇文章。这篇文章主要就是介绍一个 hadoop2.0 的一个最基本最简单的配置,目的就是尽快的让 hadoop2.0 在机器上跑起来。后面会有其他文章来介绍在这个基本的配置上做一些更复杂的特性的配置,包括 HA,federation 等,还有对一些实用参数的配置和优化。
————————————– 分割线 ————————————–
相关阅读 :
Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm
Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm
Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm
Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm
单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm
搭建 Hadoop 环境(在 Winodws 环境下用虚拟机虚拟两个 Ubuntu 系统进行搭建)http://www.linuxidc.com/Linux/2011-12/48894.htm
————————————– 分割线 ————————————–
1 hadoop 版本
hadoop-2.2.0,这是 hadoop2.0 的第一个稳定版,在 2013 年 10 月 15 日发布。
2 安装机器
这里以 2 台机器为例,一台 master,一台 slaver。多台 slaver 的情况一样。
- master:hadoop2-m1
- slaver:hadoop2-s1
3 配置
hadoop 安装的根目录是 HADOOP_HOME=/your/path/to/hadoop-2.2.0
则配置目录默认是:HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
需要对 $HADOOP_CONF_DIR 目录下的四个配置文件进行配置:
- core-site.xml
- hdfs-site.xml
- mapred-site.xml
- yarn-site.xml
3.1 设置 JAVA_HOME 环境变量
export JAVA_HOME=/your/path/to/jdkdir
3.2 设置 core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop2-m1:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/tmp/hadoop2.0</value>
</property>
</configuration>
3.3 设置 hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/dfs/data</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
3.4 设置 mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
3.5 yarn-site.xml
<configuration>
<property>
<name>yarn.resourcemanager.address</name>
<value>hadoop2-m1:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>hadoop2-m1:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>hadoop2-m1:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>hadoop2-m1:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>hadoop2-m1:8088</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.class</name>
<value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>
注意:yarn.nodemanager.aux-services 的值是“mapreduce_shuffle”(在 hadoop-2.1-beta 中的值是“mapreduce.shuffle”)
更多详情见请继续阅读下一页的精彩内容 :http://www.linuxidc.com/Linux/2014-05/101173p2.htm
4 启动
4.1 格式化
cd $Hadoop_HOME
bin/hdfs namenode -format
4.2 在 hadoop2-m1 中启动 namenode 和 resourcemanager
sbin/hadoop-daemon.sh start namenode
sbin/yarn-daemon.sh start resourcemanager
# 停止服务的命令
sbin/hadoop-daemon.sh stop namenode
sbin/yarn-daemon.sh stop resourcemanager
4.3 在 hadoop2-s1 中启动 datanode 和 nodemanager
sbin/hadoop-daemon.sh start datanode
sbin/yarn-daemon.sh start nodemanager
# 停止服务的命令
sbin/hadoop-daemon.sh stop datanode
sbin/yarn-daemon.sh stop nodemanager
4.4 在 hadoop2-m1 中启动 proxyserver 和 historyserver
sbin/yarn-daemon.sh start proxyserver
sbin/mr-jobhistory-daemon.sh start historyserver
# 停止服务的命令
sbin/yarn-daemon.sh stop proxyserver
sbin/mr-jobhistory-daemon.sh stop historyserver
5 检查和测试
5.1 检查以下两个页面是否能打开
http://hadoop2-m1:50070/dfshealth.jsp
http://hadoop2-m1:8088/cluster/nodes
5.2 运行以下 hdfs 命令
bin/hdfs dfs -mkdir /test/input1
bin/hdfs dfs -put NOTICE.txt /test/input1/
bin/hdfs dfs -put README.txt /test/input1/
bin/hdfs dfs -get /test/input1/NOTICE.txt /tmp/
bin/hdfs dfs -cat /test/input1/NOTICE.txt
5.3 运行 mapreduce job
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar grep /test/input1 /test/output1 ‘code’
6 实战 tips
第一次安装 hadoop2.0 版本的时候,最好是像本文一样先做最基本的配置,让 hadoop2.0 能正常启动,然后再逐步加上其他的特性。
参考资料
http://hadoop.apache.org/docs/r2.2.0/hadoop-project-dist/hadoop-common/ClusterSetup.html
Hadoop2.0 的架构和 1.0 完全不一样,在安装配置上和 1.0 也有很大的不同,譬如配置文件的目录不一样了,还有要对 yarn 进行配置,这个在 1.0 是没有的。很多人第一次接触 hadoop2.0 的时候,会很不适应,而且官方的文档也有些写得不太清楚的地方,也有些错误。笔者在初次安装 hadoop2.0 的时候,看着官方的文档,中间也出现过很多问题。为了帮助大家很快的部署上 hadoop2.0,笔者写了这篇文章。这篇文章主要就是介绍一个 hadoop2.0 的一个最基本最简单的配置,目的就是尽快的让 hadoop2.0 在机器上跑起来。后面会有其他文章来介绍在这个基本的配置上做一些更复杂的特性的配置,包括 HA,federation 等,还有对一些实用参数的配置和优化。
————————————– 分割线 ————————————–
相关阅读 :
Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm
Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm
Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm
Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm
单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm
搭建 Hadoop 环境(在 Winodws 环境下用虚拟机虚拟两个 Ubuntu 系统进行搭建)http://www.linuxidc.com/Linux/2011-12/48894.htm
————————————– 分割线 ————————————–
1 hadoop 版本
hadoop-2.2.0,这是 hadoop2.0 的第一个稳定版,在 2013 年 10 月 15 日发布。
2 安装机器
这里以 2 台机器为例,一台 master,一台 slaver。多台 slaver 的情况一样。
- master:hadoop2-m1
- slaver:hadoop2-s1
3 配置
hadoop 安装的根目录是 HADOOP_HOME=/your/path/to/hadoop-2.2.0
则配置目录默认是:HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
需要对 $HADOOP_CONF_DIR 目录下的四个配置文件进行配置:
- core-site.xml
- hdfs-site.xml
- mapred-site.xml
- yarn-site.xml
3.1 设置 JAVA_HOME 环境变量
export JAVA_HOME=/your/path/to/jdkdir
3.2 设置 core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop2-m1:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/tmp/hadoop2.0</value>
</property>
</configuration>
3.3 设置 hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/dfs/data</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
3.4 设置 mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
3.5 yarn-site.xml
<configuration>
<property>
<name>yarn.resourcemanager.address</name>
<value>hadoop2-m1:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>hadoop2-m1:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>hadoop2-m1:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>hadoop2-m1:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>hadoop2-m1:8088</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.class</name>
<value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>
注意:yarn.nodemanager.aux-services 的值是“mapreduce_shuffle”(在 hadoop-2.1-beta 中的值是“mapreduce.shuffle”)
更多详情见请继续阅读下一页的精彩内容 :http://www.linuxidc.com/Linux/2014-05/101173p2.htm