1.安装版本说明:
eclipse:采用eclipse3.3版本,应为3.3+版本以后,hadoop的eclipse插件会不兼容,这里我才用的是eclipse-java-indigo-linux-gtk.tar.gz 3.3版本。
hadoop:采用hadoop-0.20.2版本,其他版本会出现不兼容的情况。
2.安装和配置hadoop
(1)下载hadoop-0.20.2,解压缩在目录/home/yinux/Hadoop/下,即有/home/yinux/Hadoop/hadoop-0.20.2;
(2)添加JAVA_HOME环境变量,找到目录/home/yinux/Hadoop/hadoop-0.20.2/bonf下的hadoop-env.sh文件,添加:
….
# The java implementation to use. Required.
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk #此目录为你安装的JDK的根目录#
(3)配置文件,找到目录/home/yinux/Hadoop/hadoop-0.20.2/bonf下的三个文件:core-site.xml,hdfs-site.xml,mapred-site.xml。
分别添加:
core-site.xml:
- <?xml version="1.0"?>
- <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
- <!-- core-seit.xml -->
- <!-- Put site-specific property overrides in this file. -->
- <!-- user added start-->
- <configuration>
- <property>
- <name>fs.default.name</name>
- <value>hdfs://localhost:9000</value>
- </property>
- </configuration>
- <!-- user added end-->
复制代码
hdfs-site.xml:
- <?xml version="1.0"?>
- <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
- <!-- hdfs-site.xml -->
- <!-- Put site-specific property overrides in this file. -->
- <!-- user added start-->
- <configuration>
- <property>
- <name>dfs.replication</name>
- <value>1</value>
- </property>
- </configuration>
- <!-- user added end-->
复制代码
mapred-site.xml
- <?xml version="1.0"?>
- <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
- <!-- mapred-site.xml -->
- <!-- Put site-specific property overrides in this file. -->
- <!-- user added start-->
- <configuration>
- <property>
- <name>mapred.job.tracker</name>
- <value>localhost:9001</value>
- </property>
- </configuration>
- <!-- user added end-->
复制代码
3.运行hadoop,检查hadoop是否成功安装
(1)进入hadoop安装目录:
$cd /home/yinux/Hadoop/hadoop-0.20.0
(2)运行bin目录下的hadoop,查看hadoop版本,出现安装版本号说明安装成功:
$cd bin/hadoop version
Hadoop 0.20.2
...
4.安装hadoop-eclipse插件
(1)找到eclipse的安装目录的plugins文件夹,我的安装目录是:/home/yinux/Hadoop/eclipse。
(2)找到hadoop自带的hadoop-0.20.2-eclipse-plugin.jar,它在hadoop安装目录下的contrib/eclipse-plugin下,我的完整路径是:/home/yinux/Hadoop/hadoop-0.20.2/contrib/eclipse-plugin/hadoop-0.20.2-eclipse-plugin.jar。
(3)将hadoop-0.20.2-eclipse-plugin.jar复制到eclipse安装目录下的plugins文件夹下
$sudo cp '/home/yinux/Hadoop/hadoop-0.20.2/contrib/eclipse-plugin/hadoop-0.20.2-eclipse-plugin.jar' '/home/yinux/eclipse/plugins'
5.启动eclipse,配置HDFS location
(1)打开eclipse,Window->open perspective->other,弹出open perspective对话框,选中蓝色小象图标<Map/Reduce>,如下图:
(2)编辑Map/Reduce Location,填入location name:test, Map/Reduce Master下的Host:localhost,port:9000,以及DFS Master下的port:9001,注意这个要和,core-site.xml,mapred-site.xml.dfs-site.xml中配置的数据相同,如下图:
(3)配置完成之后,浏览HDFS文件系统,这时eclipse下DFS无法正常连接,需要在中断打开hadoop,操作步骤如下:
$cd /home/yinux/Hadoop/hadoop-0.20.2/bin // 进入安装目录下的bin文件夹下
$./hadoop namenode -format //格式化namenode
$./start-dfs.sh //打开dfs
$./start-mapred.sh //打开map/reduce
$jps //查看hadoop运行的进程
(4)hadoop运行起来后,就可以在eclipse中查看dfs文件系统下的各个文件了
安装过程中可能出现的异常:
(1)eclipse中无法打开Map/Reduce Location,查看你的eclipse版本,确保eclipse,hadoop,hadoop-eclipse-plugin的版本相符合,否则可能不兼容导致异常。Eclipse:3.3,hadoop:0.20.0,hadoop-eclipse-plugin:0.20.0。
(2)eclipse中DFS连接不上,使用命令jps查看hadoop的namenode是否已经运行,如果没有运行,使用命令start-dfs.sh运行。
(3)使用stop-all.sh时,出现no namenode to stop异常
这可能是namenode未成功格式化造成的,需要重新格式化,然后重新启动hadoop
$./hadoop namenode -format //先要进入hadoop安装目录下的bin目录下
$./start-dfs.sh
$./start-mapred.sh //或者./start-all.sh,但会出现被废除的提示
(4)使用hadoop namenode -format,出现格式化错误Format aborted in /tmp/hadoop-yinux/dfs
这时需要将错误提示中的目录下的name文件夹删除,然后重新格式化。在我的机器上删除/tmp/hadoop-yinux/dfs/name
查看源文