本人安装过程参考如下网页:http://hi.baidu.com/life_to_you/item/be429f9e7aa3a91d924f41bb
-
linux下jdk环境配置,这里略
-
hadoop下载 http://www.apache.org/dyn/closer.cgi/hadoop/common/
-
hadoop安装(解压-设置下环境变量)
解压:tar –zvxf hadoop-0.20.1.tar.gz
把Hadoop 的安装路径添加到环境变量中/etc/profile:
export HADOOP_HOME=/data/worker/hadoop-0.20.1
export PATH=$HADOOP_HOME/bin:$PATH
-
hadoop配置
1.在conf/hadoop-env.sh 中配置Java 环境(namenode 与datanode 的配置相同)
2.export JAVA_HOME=/usr/local/java/jdk1.6.0_31
3.配置conf/core-site.xml, conf/hdfs-site.xml 及conf/mapred-site.xml(简单配 置,datanode 的配置相同)
4.core-site.xml
<configuration>
<!--- global properties -->
<property>
<name>hadoop.tmp.dir</name>
<value>/data/worker/hadoop-1.2.0/tmp</value>
<description>A base for other temporary directories.此处必须要加,否则必须先bin/hadoop namenode -format 格式化。原因:在linux下hadoop等的各种数据保存在/tmp目录下。 当重启系统后/tmp目录中的数据信息被清除,导致hadoop启动失败。 当bin/hadoop namenode -format 格式化后,恢复了默认设置,即可正常启动</description>
</property>
<!-- file system properties -->
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
5.hdfs-site.xml:( replication 默认为3,如果不修改,datanode 少于三台就会报错)
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/data/worker/hadoop-1.2.0/hdfs/name</value>
<description>namenode上存储hdfs名字空间元数据</description>
</property>
<property>
<name>dfs.data.dir</name>
<value>/data/worker/hadoop-1.2.0/hdfs/data</value>
<description>datanode上数据块的物理存储位置</description>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
6.mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
<description>jobtracker标识:端口号,不是URI</description>
</property>
</configuration>
-
运行hadoop
首先进入hadoop所在目录,第一次执行要格式化文件系统bin/hadoop namenode –format
启动bin/start-all.sh
用jps命令查看进程,显示:
9862 Jps
444 SecondaryNameNode
32723 DataNode
32550 NameNode
756 TaskTracker
553 JobTracker
少一个都不对
还有就是使用web接口访问
http://localhost:50030
可以查看JobTracker的运行状态
http://localhost:50060
可以查看TaskTracker的运行状态
http://localhost:50070
可以查看NameNode以及整个分布式文件系统的状态,浏览分布式文件系统中的文件以及log等。
-
运行测试实例
这里使用附带jar包里的wordcount
(1)先在本地磁盘建立两个输入文件file01 和 file02:
$ echo "Hello World Bye World" > file01
$ echo "Hello Hadoop Goodbye Hadoop" > file02
(2)在hdfs 中建立一个input目录:
$ hadoop fs –mkdir input
(3)将file01 和 file02 拷贝到hdfs中:
$ hadoop fs –copyFromLocal file0* input
(4)执行wordcount:
$ hadoop jar hadoop-examples-1.2.0.jar wordcount input output
(5)完成之后,查看结果:
$ bin/hadoop fs -ls . 查看已有的文件列表
$ hadoop fs -cat output/part-r-00000 查看结果
结果为:可见把单词都统计了
Bye 1
Goodbye 1
Hadoop 2
Hello 2
World 2
最后附加官方文档
1.单机文档http://hadoop.apache.org/docs/r1.2.0/single_node_setup.html
2.集群文档http://hadoop.apache.org/docs/r1.2.0/cluster_setup.html