折腾了蛮久,参看了网上很多博客文章,我的hadoop环境终于搭建起来。现在回想起来,好像也没有什么难的,不过一步步照着来就是了。但是最初搭建的时候确实遇到了很多问题。现在就自己能记得的,把重要的步骤记录一下。
准备工作:hadoop-0.20.2、jdk-7u45-linux-x64、VMware-workstation-full-v10.0.0-1295980、ubuntu-12.04-desktop-amd64、eclipse-standard-kepler-SR1-linux-gtk-x86_64
主要步骤:
1、安装VM,建立虚拟机。这很简单,不详述。
2、建立共享文件夹,把hadoop-0.20.2、jdk-7u45-linux-x64、eclipse-standard-kepler-SR1-linux-gtk-x86_64放到共享文件夹中。
建共享文件夹的方法:虚拟机——设置——选项——共享文件夹
3、安装jdk(参看http://www.linuxidc.com/Linux/2012-12/76532.htm)。
在usr目录下创建jdk目录,并修改权限,然后可以将共享文件夹中的jdk直接复制到其中。(共享文件夹在/mnt/hgfs下)。
cd /usr sudo mkdir jdk chmod 777 -R /jdk
然后修改profile文件。可以将profile的权限修改为可写。然后直接用gedit编辑。
在文件的最后面增加:
export JAVA_HOME=/usr/jdk
export JRE_HOME=/usr/jdk/jre
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
profile不会立即生效,可以重启下(或者使用./etc/profile或者source /etc/profie命令),然后再输入java -version,会看到jdk版本号。
4、安装ssh和hadoop。(参看http://www.linuxidc.com/Linux/2011-02/32638.htm)
安装配置SSH
(1)下载安装SSH:同样在命令行输入下面命令安装SSH
sudo apt-get install ssh
(2)配置无密码登录本机:在命令行输入下面两条命令
ssh-keygen -t dsa -P " -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
(3)验证SSH是否安装成功
输入 ssh localhost 。如果显示本机登录成功就表明安装成功。
安装hadoop.
同样在usr目录下建立hadoop目录,然后修改权限,再把共享文件夹中的hadoop复制到新建目录下。
然后进行伪分布模式的配置, 配置的过程如下:
a、进入conf文件夹修改下面的文件。
Hadoop-env.sh中加入下面内容:
export JAVA_HOME = (JAVA安装目录)
core-site.xml文件内容修改为下面内容:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
hdfs-site.xml文件内容修改为下面内容:
<configuration>
<property>
<name>fs.replication</name>
<value>1</value>
</property>
</configuration>
mapred-site.xml文件内容修改为下面内容:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
b、格式化Hadoop文件系统,在命令行输入命令:
bin/hadoop namenode -format
c、启动Hadoop,在命令行输入命令:
bin/start-all.sh
d、验证Hadoop是否安装成功,在浏览器中输入下面网址,如果正常打开说明安装成功。
http://localhost:50030 (mapreduce的web页面)
http://localhost:50070 (hdfs的web页面)
5、建立eclipse开发环境(参看http://blog.sina.com.cn/s/blog_62186b4601012acs.html)。
后来在使用中发现,这样配置后,关机后每次都必须重新格式化,才能启动namenode。终于找到了解决方法http://blog.csdn.net/yutinghao/article/details/21194775