在Mac OS下搭建Hadoop环境及其利用Eclipse编译Hadoop插件

     小学期的时候做这个,因为网上Mac上的Hadoop搭建资源太过于稀少,搭建环境可费了不少力。不过一直觉得也没什么人需要在Mac上装Hadoop就懒得写了。不过最近由于要考N1又要学泰语,书签有点多了,赶紧写掉让书签不那么杂乱吧。

     1.搭建伪分布式配置

      博主配置:

        OS :OS X 10.9.3

        Hadoop : 1.2.1

        Eclipse : Indigo

        JDK : 1.6

        提示:

                2.x的Hadoop版本和1.x以及0.x的配置好像不太一样,我配置的是1.2.1。

                如果你需要安装Hadoop的Eclipse插件,根据本人的经验,过于新的Eclipse版本可能与插件不兼容,我当初是从Kelper一直往下降版本,降到4.1还是4.2才装上。

           Hadoop下载地址 : Hadoop官网

           Eclipse下载地址  : Eclipse官网

           JDK下载地址      : Oracle官网

       需要的软件下载完成之后,我们就可以开始配置了。

       将下载的Hadoop软件解压出来,找到Conf目录,修改core-site.xml文件,修改代码如下所示:







    
        fs.default.name
        localhost:9000
    

      其中,端口号可以根据自己的实际来进行调整。

       同理,修改Mapred-site.xml文件:







  
    mapred.job.tracker
    localhost:9001
  

      

同理,修改Hdfs-site.xml文件:

      







  
    dfs.replication
    1
  


      同理,打开Hadoop-env.sh,加入以下配置:

export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home 

JAVA_HOME是指Java的安装地址,对于Mac来说,安装地址就是这个地址,但是对于不同版本的JDK,Versions后面的那个数字会有变化。

export HADOOP_INSTALL=/Users/alex/Documents/DevRes/hadoop-0.21.0 

HADOOP_ INSTALL是指Hadoop的安装地址

export PATH=$PATH:$HADOOP_INSTALL/bin 

配置SSH

打开“系统偏好设置”,找到共享,勾选远程登录,如下图所示:


但是每次启动Hadoop仍然需要你输入密码,也就是你的开机密码,而且是多次,为了方便,建议配置免Key。

mac 上已经ssh了,在终端输入ssh-keygen -t rsa命令,碰到需要输入密码的直接按enter健即可。出现如下成功:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Enter passphrase (empty  for  no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/jia/.ssh/id_rsa.
Your  public  key has been saved in /Users/jia/.ssh/id_rsa.pub.
The key fingerprint is:
d4:85:aa:83:ae:db:50:48:0c:5b:dd:80:bb:fa:26:a7 [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
|. .o.o     ..    |
| =. . .  ...     |
|. o.    ...      |
| ...   ..        |
|  .... .S        |
|  ... o          |
| ...   .         |
|o oo.            |
|E*+o.            |
+-----------------+

运行Hadoop
打开终端,定位到Hadoop或自己设置环境变量达到目的:
输入以下命令: bin/hadoop  namenode -format
然后他会运行一堆,这里是指格式化,一般不会有问题。
接下来输入: bin/start-all.sh
然后hadoop就正式开始启动来,期间会多次要求你输入你的开机密码,如果你设置来免Key那么就不要求输入了。
期间会报一个错,我忘记是啥了是Mac下特有得错误,我搜索出来得结果是已经记录在案但是没有官方解决,你只要百度以下就可以有不错得解决方式。

测试是否配置成功

将一个文件拷贝到HDFS中,打开终端定位到Hadoop目录,输入以下命令: 
bin/hadoop fs -copyFromLocal [源文件] [目标地址] 

比如我输入的是: 
bin/hadoop fs -copyFromLocal /Users/alex/desktop/persons.rtf hdfs://localhost/tmp/hadoop-alex 

此时终端会输出以下文字: 
引用

11/09/04 21:23:45 INFO security.Groups: Group mapping impl=org.apache.hadoop.security.ShellBasedUnixGroupsMapping; cacheTimeout=300000 
11/09/04 21:23:45 WARN conf.Configuration: mapred.task.id is deprecated. Instead, use mapreduce.task.attempt.id 

这样代表成功。 

如果你不使用Eclipse,至此你的Hadoop环境已经搭建完成,已经可以开始你的Hadoop之旅了。

如果你需要使用Hadoop自带的Eclipse插件,那么在最新的版本里,插件都需要自己编译,所以你还得先编译插件。

首先找到目录hadoop-1.2.1/mapred/contrib/eclipse-plugin,然后将里面的eclipse-plugin就是Eclipse插件。

配置得方式相当得麻烦,一不小心就会出错,这里给一个链接:

在Macbook Pro上利用Eclipse编译Hadoop 1.0.4的Eclipse plugin

里面有一些配置啊,变量啊别直接就Ctrl + CV就进去了,
里面有什么Hadoop_HOME,JAVA_HOME等好一些变量是需要根据你自己软件得安装位置修改的,
你也别照着那个博主的电脑的Username直接使用,改也不改。
然后就是里面XML的变量啊,别直接看着就复制,版本不同,里面附带的文件名也发生了变化,自己查看之后再修改。
总之就是具体情况具体分析。

此时打开Eclipse,在Open Perspective中选择其它,找到Map/Reduce视图,打开它。 
此时你会发现在Project Explorer和下面的视图中多了一个DFS Locations,右键新建Location如下图所示: 
在Mac OS下搭建Hadoop环境及其利用Eclipse编译Hadoop插件_第1张图片

此时会打开一个窗口,对其进行配置,端口号就是我们刚才在core-site.xml中配置的端口好,既9000,如下图所示: 
在Mac OS下搭建Hadoop环境及其利用Eclipse编译Hadoop插件_第2张图片  

其中端口号就是你第一步配置Hadoop时的端口号:

点击确定后即可在左边的Project Explorer面板中对DFS Location进行展开,如下图所示: 
在Mac OS下搭建Hadoop环境及其利用Eclipse编译Hadoop插件_第3张图片

至此Hadoop的Eclipse插件也编译使用完成,可以自己试试Example。

对于,由于Hadoop使用Ant编译(也就是需要用的库如果有就用本地,没有就去网上下)所以如果时再编译Eclipse插件的时候,请再有网络的情况下进行,避免由于编译时缺少库或其他原因导致编译出了东西但是不能使用。

         


你可能感兴趣的:(在Mac OS下搭建Hadoop环境及其利用Eclipse编译Hadoop插件)