标签:
当开始着手实践Hadoop时,安装Hadoop往往会成为新手的一道门槛。尽管安装其实很简单,书上有写到,官方网站也有Hadoop安装配置教程,但由于对Linux环境不熟悉,书上跟官网上简略的安装步骤新手往往Hold不住。加上网上不少教程也甚是坑,导致新手折腾老几天愣是没装好,很是打击学习热情。
本教程由厦门大学数据库实验室出品,转载请注明。本教程适合于原生Hadoop 2,包括Hadoop 2.6.0, Hadoop 2.4.1等版本,主要参考了官方安装教程,步骤详细,辅以适当说明,保证按照步骤来,都能顺利安装并运行Hadoop。另外有Hadoop安装配置简略版方便有基础的读者快速完成安装。此外,希望读者们能多去了解一些Linux的知识,以后出现问题时才能自行解决。
本教程使用 Ubuntu 14.04 64位 作为系统环境(Ubuntu 12.04 也行,32位、64位均可),请自行安装系统。如果必须使用 RedHat、CentOS 等,本教程也可以作为参考,配置是相似的,就是 Linux 命令、具体操作有所不同。
本教程基于原生 Hadoop 2,在 Hadoop 2.6.0 (stable) 版本下验证通过,可适合任何 Hadoop 2.x.y 版本,例如 Hadoop 2.4.1。
本教程所使用的集群环境: 两台主机,一台作为 Master,局域网 IP 为 192.168.1.121;另一台作为 Slave,局域网 IP 为 192.168.1.122。
集群/分布式模式需要修改 etc/hadoop 中的5个配置文件,后四个文件可点击查看官方默认设置值,这里仅设置了正常启动所必须的设置项: slaves、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml 。
1, 文件 slave
cd /usr/local/hadoop/etc/hadoop
vim slaves
将原来 localhost
删除,把所有Slave的主机名写上,每行一个。例如我只有一个 Slave节点,那么该文件中就只有一行内容: Slave1。
2, 文件 core-site.xml
,将原本的如下内容:
<property>
</property>
改为下面的配置。后面的配置文件的修改类似。
<property> <name>fs.defaultFS</name> <value>hdfs://Master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>file:/usr/local/hadoop/tmp</value> <description>Abase for other temporary directories.</description> </property>
3, 文件hdfs-site.xml
,因为只有一个Slave,所以dfs.replication
的值设为1。
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>Master:50090</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
4, 文件mapred-site.xml
,这个文件不存在,首先需要从模板中复制一份:
cp mapred-site.xml.template mapred-site.xml
然后配置修改如下:
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
5, 文件yarn-site.xml
:
<property>
<name>yarn.resourcemanager.hostname</name>
<value>Master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
配置好后,将 Master 上的 Hadoop 文件复制到各个节点上(虽然直接采用 scp 复制也可以正确运行,但会有所不同,如符号链接 scp 过去后就有点不一样了。所以先打包再复制比较稳妥)。因为之前有跑过伪分布式模式,建议在切换到集群模式前先删除之前的临时文件。
6.更改hadoop/etc/hadoop/hadoop-env.sh的java-home为jdk的安装路径
标签:
原文地址:http://www.cnblogs.com/huicpc0212/p/4767668.html