小学期的时候做这个,因为网上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文件,修改代码如下所示:
<?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>localhost:9000</value>
</property>
</configuration>
其中,端口号可以根据自己的实际来进行调整。
同理,修改Mapred-site.xml文件:
<span style="font-size:14px;"><?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></span><span style="font-size:12px;">
</span>
同理,修改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
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 jia@JIAS-MacBook-Pro.local
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就进去了,
|