`
chenlb
  • 浏览: 689745 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Hadoop 快速入门

阅读更多

 

Required Software

  1. JavaTM 1.5.x
  2. 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
  • 分享到:
    评论

    相关推荐

    Global site tag (gtag.js) - Google Analytics