最近在学习分布式计算,想在自己的mac电脑上安装hadoop试一下,经历了两天终于搞定,中间遇到很多问题,如下一一说明。
开发环境:OS X 10.9.2
Hadoop版本:hadoop-0.20.2
java版本:java 1.6
Eclipse版本: Myeclipse 10.0
首先在安装之前先说明一下为什么使用老版本的hadoop。现在最新的hadoop版本是hadoop-2.2.0,本人是hadoop新手,网上的很多教程都是针对老版本的比较多,容易上手,目前0.20.2版本apache已经归档了。
其次,新版本的hadoop和老版本的差别比较大,之前的jobtracker,tasktracker结构现在改成了Yarn结构。
http://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop-yarn 有一篇ibm对hadoop yarn架构的讲解,可以拜读一下。
步入正题
第一步:下载adoop及配置Hadoop
下载地址:http://hadoop.apache.org/common/releases.html#Download
将下载的Hadoop压缩文件解压缩,找到conf目录,打开core-site.xml,修改代码如下所示:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
找到mapred-site.xml修改代码如下所示:
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- Put site-specific property overrides in this file. --> <configuration> <property> <name>mapred.job.tracker</name> <value>localhost:9001</value> </property> </configuration>
找到hdfs-site.xml修改代码如下所示:
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- Put site-specific property overrides in this file. --> <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>
找到hadoop-env.sh打开,加入以下配置
export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home
export HADOOP_INSTALL=/Users/{用户名}/hadoop-0.22.0
export PATH=$PATH:$HADOOP_INSTALL/bin
具体的目录根据你的实际情况配置。
这里要说明一下:老版本的hadoop是在conf目录下对配置文件进行修改,现在版本没有conf,而是在hadoop-2.3.0/etc/hadoop目录下。同时新版本不需要配置mapred-site.xml文件,需要配置yarn.xml文件,具体配置参见上面的链接。
第二步:配置SSH
mac系统下,打开“系统偏好设置”,找到共享,勾选远程登录,如下图所示:
打开mac终端,cd到Hadoop目录输入以下命令
格式化namenode
bin/hadoop namenode -format
然后输入
bin/start-all.sh
启动了datanode、jobtracker、tasktracker
说明一下:运行Hadoop时候,老版本的hadoop命令行下输入bin/start-all.sh,新版本的现在应该改成sbin/start-all.sh
第四步:检查启动
http://localhost:50030 jobtracker页面
至此,Hadoop配置成功。
第五步:安装eclipse的hadoop插件
说明一下:老版本的hadoop的src文件下面已经编译好的hadoop-eclipse-plugin.jar的包,但是这个只适用于eclipse3.6之前的版本,而且jar包必须要与haddop版本匹配上,否则会报错。
Hadoop Eclipse Server IPC version 5 cannot communicate with client version 3
而新版本的hadoop就需要自己编译了,请下载ant自行编译,具体操作google之。
将jar包放在eclipse的dropins目录,重启eclipse,在windows下面Open Perspective就会出现Map/Reduce,
打开windows下show view目录中的Map/Reduce,可以对hadoop的location进行配置了。