1、下载Hadoop 1.0.3 url:
$ wget
2、Ubuntu下运行Hadoop,需要先装好Java和ssh
Java:$ sudo apt-get install openjdk-6-jre
ssh: $ sudo apt-get install ssh
还要装一个 rsync: $ sudo apt-get install rsync。 在单机时候没有用到,这个是在cluster上多机同步的时候用的。
之后,检测安装,要求sshd服务一直启动。$ ps aux后如下:
3、安装Hadoop。
我直接在~/Downloads 下面将Hadoop解压: tar -xvf hadoop-1.0.3.tar.gz
解压后,如下所示,bin下面是可执行程序,conf下面为配置文件所在。
4、测试前准备:修改conf/hadoop-env.sh,将其中的JAVA_HOME配置好:
要说明的是我安装java的位置在usr/bin,java、javac、javadoc等程序都在这个目录下,开始的时候,设成usr/bin是不行的,会报错,提示说找不到目录,然后显示的寻找的完整路径是/usr/bin/bin/java,所以,我觉得是它自带了补全路劲,所以如上图,改成了JAVA_HOME=/usr。
5、测试运行。
三种模式:单机运行,伪分布式运行,分布式运行。我是在虚拟机里面做的,只试验了前两个,打算等下多开几个虚拟机,见个VPN,试下第三种模式。
以下的测试,使用的是Hadoop官方文档上的例子。
A、单机模式。比较简单,命令如下:
$ mkdir input #创建输入文件夹
在output下面写出两个文件,执行成功。part-00000中内容为dfsadmin
B、伪分布式模式。
首先修改配置文件,配置主机。
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
conf/hdfs-site.xml:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
conf/mapred-site.xml:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
然后安装密钥。
按照官方文档中的提示,先通过$ ssh localhost验证,试验通过免密钥的方式运行
没看懂是不是可以==||,又执行了下面的操作,手动生成密钥:
还有一部,格式化一个新的分布式文件系统:
开启Hadoop守护进程:$ bin/start-all.sh
从下面两个地址,查看NameNode和JobTracker的情况:
* NameNode - http://localhost:50070/
将输入文件拷贝到分布式文件系统中:$ bin/hadoop fs -put conf input
运行示例程序:$ bin/hadoop jar hadoop-examples-*.jar grep input output 'dfs[a-z.]+'
将输出文件拷贝从分布式文件系统拷贝到本地,并检查文件:
$ bin/hadoop fs -get output output
$ cat output/*
或者直接在分布式文件系统中查看文件:$ bin/hadoop fs -cat output/*
关闭Hadoop守护进程:$ bin/hadoop fs -cat output/*
The end XD~