Required Software
- JavaTM 1.5.x
- ssh与sshd
如果没有安装请自行安装。我以CentOS 4.6为例。
下载hadoop,http://apache.mirror.phpchina.com/hadoop/core/ 我下载的是0.17.1版本。
解压hadoop-0.17.1.tar.gz,然后conf/hadoop-env.sh 设置JAVA_HOME ,我是可JAVA_HOME 去注释,值自己的路径。如:
export JAVA_HOME
=/
usr
/
java
/
jdk1
.
6
.
0_06
如果不设置启动后用不了。
先从简单开始。
1、Local (Standalone) Mode ,叫单机模式。
[chenlb
@master
hadoop
-
0.17
.
1
]$ bin
/
hadoop jar hadoop
-
0.17
.
1
-
examples
.
jar
grep
conf output
'
dfs[a-z.]+
'
[chenlb
@master
hadoop
-
0.17
.
1
]$ cat output
/*
如果,正常可以看到内容。像这样。
3
dfs
.
3
dfs
.
class
2
dfs
.
period
2
dfs
.
replication
... ...
2、Pseudo-Distributed Mode,虚拟分布模式。
vi conf/hadoop-site.xml
<
configuration
>
<
property
>
<
name
>
fs.default.name
name
>
<
value
>
hdfs://master:9000/
value
>
property
>
<
property
>
<
name
>
mapred.job.tracker
name
>
<
value
>
hdfs://master:9001/
value
>
property
>
<
property
>
<
name
>
dfs.replication
name
>
<
value
>
1
value
>
property
>
<
property
>
<
name
>
hadoop.tmp.dir
name
>
<
value
>
/home/chenlb/hadoop-0.17.1/tmp/
value
>
property
>
configuration
>
在/etc/hosts里添加本机ip对应master,例如我的:172.16.249.210 master
保证可以无密码登录。请看那一篇文章: http://www.blogjava.net/chenlb/archive/2008/07/03/212293.html
用ssh localhost试一下是否免密码登录。
格式化分布式文件系统:
[chenlb
@master
hadoop
-
0.17
.
1
]$ bin
/
hadoop namenode
-
format
启动Hadoop:
[chenlb
@master
hadoop
-
0.17
.
1
]$ bin
/
start
-
all
.
sh
默认可以在
${HADOOP_HOME}/logs里看到日志。
可以用web看浏览NameNode和JobTracker
NameNode - http://localhost:50070/
JobTracker - http://localhost:50030/
把文件放到分布式文件系统里:
[chenlb
@master
hadoop
-
0.17
.
1
]$ bin
/
hadoop dfs
-
put conf input
此时已经在分布文件系统里建立了input文件夹。而conf是本地的文件夹。
执行示例:
[chenlb
@master
hadoop
-
0.17
.
1
]$ bin
/
hadoop jar hadoop
-*-
examples
.
jar
grep
input output
'
dfs[a-z.]+
'
这里input和output都是分布式文件系统的的文件夹,而且output在分布式文件系统里不存在,否则报错(也可以先删除它bin/badoop dfs -rmr output)。
耐心等待。结束后可以查看。
[chenlb
@master
hadoop
-
0.17
.
1
]$ bin
/
hadoop dfs
-
get output output
[chenlb
@master
hadoop
-
0.17
.
1
]$ cat output
/*
也可以直接在分布式文件系统里查:
[chenlb
@master
hadoop
-
0.17
.
1
]$ bin
/
hadoop dfs
-
cat output
/*
成功运行后可以关闭它了:
[chenlb
@master
hadoop
-
0.17
.
1
]$ bin
/
stop
-
all
.
sh
我在第2阶段,出了些问题:output已经存在,要先删除它(第二次运行前,可以不用output)。
下一篇讲:Fully-Distributed Mode