在开始本文之前,请先确保所有的系统环境已配置完成,以及关闭linux防火墙:
并再重申一遍,我的架构:一节点作为namenode/jobtracker,另外两节点作为datanode/tasktracker
好了,开始!
1.去官网的镜像网站下载稳定版本的Hadoop,输入http://mirrors.hust.edu.cn/apache/hadoop/common/
考虑到诸位此时和我时间不同,所以请自行查找最新的稳定版本Hadoop,也就是stable文件夹中的内容
(我是用的是旧版1.0.1去入门学习hadoop,附上资源:http://archive.apache.org/dist/hadoop/core/)
我们准备下载hadoop-2.9.1.tar.gz,右键点击,复制超链接!
(以下截图为配置hadoop1.2.1时截图,但博主以将需要更新的内容重写,未变动说明与配置1.2.1相同)
2.打开一个linux虚拟机节点即可,登陆完毕
指令:
wget http://archive.apache.org/dist/hadoop/core/hadoop-1.2.1/hadoop-1.2.1.tar.gz
等待下载完成即可
3.解压
先查看一下有无hadoop-1.2.1.tar.gz文件,然后输入
指令:
tar xzvf hadoop-1.2.1.tar.gz
等待解压完即可
4.进入./hadoop-1.2.1/conf (我们的核心配置文件都在这)
4.首先配置环境,即hadoop-env.sh
指令:
vim hadoop-env.sh
将JAVA_HOME前的#号去掉(注释),改为我们的jdk位置,也就是环境变量JAVA_HOME的值,我这里是
/usr/lib/jvm/jdk1.6.0_45
5.配置core-site.xml
指令:
vim core-site.xml
添加:
<!-- namenode位置 -->
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
<!-- hadoop的临时文件夹 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/xqz/hadoop/tmp</value>
</property>
按esc输入:wq保存退出
6.配置hdfs-site.xml
指令:
vim hdfs-site.xml
添加:
<!-- 集群数据副本数 -->
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<!--
<!-- NameNode元数据的存储位置 -->
<property>
<name>dfs.name.dir</name>
<value>/home/xqz/hadoop/name</value>
</property>
<!-- DataNode的数据存储位置 -->
<property>
<name>dfs.data.dir</name>
<value>/home/xqz/hadoop/data</value>
</property>
-->
按esc输入:wq保存退出
dfs.replication:数据保存几份,因为我只有两个datanode,所以保存两份
7.配置mapred-site.xml
指令:
vim mapred-site.xml
添加:
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
按esc输入:wq保存退出
8.配置yarn-site.xml
指令:
vim 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>
按esc输入:wq保存退出
9.配置masters
指令:
vim masters
改为master,也就是我作为master/namenode/jobtracker(仅仅是我自己的架构)的主机名
10.配置slaves
指令:
vim slaves
添加两个slave/datanode/tasktracker的节点主机名
11.想其余节点复制hadoop
指令:
scp -r hadoop-1.2.1 xqz@slave1:~/hadoop-1.2.1/
scp -r hadoop-1.2.1 xqz@slave2:~/hadoop-1.2.1/
12.格式化HDFS,即生成整个HDFS的结构
请先移动当前位置到hadoop-1.2.1
指令:
bin/hadoop namenode -format
13.启动hadoop
指令:
bin/start-all.sh
关闭命令是:
bin/stop-all.sh
14.查看集群状态
指令:
hadoop dfsadmin -report
注意!
如果不能使用hadoop,请在/etc/profile中增加环境变量:
增加:
export HADOOP_DEV_HOME=/home/xqz/hadoop-
1.2
.
1
export PATH=$PATH:$HADOOP_DEV_HOME/bin
export PATH=$PATH:$HADOOP_DEV_HOME/sbin
export HADOOP_MAPARED_HOME=${HADOOP_DEV_HOME}
export HADOOP_COMMON_HOME=${HADOOP_DEV_HOME}
export HADOOP_HDFS_HOME=${HADOOP_DEV_HOME}
export YARN_HOME=${HADOOP_DEV_HOME}
export HADOOP_CONF_DIR=${HADOOP_DEV_HOME}/conf
并输入指令:
source /etc/profile
使环境变量生效
大功告成!