51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3200|回复: 0
打印 上一主题 下一主题

[转贴] Hadoop学习_Single Node Setup

[复制链接]
  • TA的每日心情
    无聊
    2 小时前
  • 签到天数: 493 天

    连续签到: 3 天

    [LV.9]测试副司令

    跳转到指定楼层
    1#
    发表于 2019-1-10 15:08:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    本帖最后由 测试积点老人 于 2019-1-10 15:14 编辑

    目的

    本文的目的主要是为了说明如何单点配置hadoop,从而能使用单个节点进行Hadoop MapReduce 和Hadoop Distributed File System (HDFS)运算。



    先决条件

    平台支持
    • GNU/Linux 作为开发和生产环境. Hadoop 已经在 GNU/Linux 上验证了 2000 个节点的集群.
    • Win32  也可以作为开发环境. 分布式操作不能再 Win32上进行很好的测试, 所以不能作为生产环境。

    必要的软件

    无论在Linux 还是在 Windows都需要如下软件:

    • JavaTM 1.6.x, 最好使用Sun的,一定要安装.
    • ssh 一定要安装并且 sshd 一定要处于运行状态,从而使Hadoop scripts可以管理远程Hadoop实例(Hadoop daemons).

    另外 Windows 环境还需要安装如下软件:

    Cygwin - 为以上安装的软件提供shell脚本支持.


    安装软件

    如果你的集群没有安装必要的软件,请安装他们.

    Ubuntu Linux 的一个例子:

    1. $ sudo apt-get install ssh
    2. $ sudo apt-get install rsync
    复制代码

    在 Windows上, 如果在你安装cygwin的时候你没有安装必要的软件, 开启cygwin安装软件选择如下文件夹:
    • openssh - the Net category

    下载

    从这里下载一个稳定版本 stable release .



    准备开始配置Hadoop

    解压下载的Hadoop distribution文件. 编辑 conf/hadoop-env.sh 定义 JAVA_HOME 到你的安装目录.

    尝试使用如下命令:

    1. $ bin/hadoop
    复制代码

    将展示出对于使用 hadoop script 有用的文档信息.

    现在你可以开始以下三种中的一种你的开启你的 Hadoop cluster :

    • 单机模式(Local (Standalone) Mode)
    • 伪分布式模式(Pseudo-Distributed Mode)
    • 全分布式模式(Fully-Distributed Mode)

    单机模式操作

    在默认情况下会以非分布式模式(non-distributed mode)作为一个Java进程运行.这样做的好处是有利于调试..

    The following example copies the unpacked conf directory to use as input and then finds and displays every match of the given regular expression. Output is written to the given output directory.

    1. $ mkdir input
    2. $ cp conf/*.xml input
    3. $ bin/hadoop jar hadoop-examples-*.jar grep input output 'dfs[a-z.]+'
    4. $ cat output/*
    复制代码

    伪分布式模式操作

    Hadoop也可以运行一个单点,每个Hadoop 实例(daemon) 以一个独立的Java进程运行,从而使Hadoop以伪分布式模式运行。


    配置如下

    使用如下配置:
    conf/core-site.xml:

    1. <configuration>
    2.      <property>
    3.          <name>fs.default.name</name>
    4.          <value>hdfs://localhost:9000</value>
    5.      </property>
    6. </configuration>
    复制代码

    conf/hdfs-site.xml:

    1. <configuration>
    2.      <property>
    3.          <name>dfs.replication</name>
    4.          <value>1</value>
    5.      </property>
    6. </configuration>
    复制代码

    conf/mapred-site.xml:

    1. <configuration>
    2.      <property>
    3.          <name>mapred.job.tracker</name>
    4.          <value>localhost:9001</value>
    5.      </property>
    6. </configuration>
    复制代码

    设置无密码 ssh

    检查您可以通过 ssh登录 localhost 不适用密码:

    1. $ ssh localhost
    复制代码

    If you cannot ssh to localhost without a passphrase, execute the following commands:
    $ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
    $ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys



    运行

    格式化一个分布式文件系统:

    1. $ bin/hadoop namenode -format
    复制代码

    运行hadoop daemons:

    1. $ bin/start-all.sh
    复制代码

    hadoop daemon 把日志输出在 ${HADOOP_LOG_DIR} 指定的目录下 (默认在 ${HADOOP_HOME}/logs).


    浏览NameNode和JobTracker的web接口,默认情况下在:


    拷贝文件到分布式系统:

    1. $ bin/hadoop fs -put conf input
    复制代码

    运行提供的例子:

    1. $ bin/hadoop jar hadoop-examples-*.jar grep input output 'dfs[a-z.]+'
    复制代码

    检查输出的文件:

    拷贝输出的文件到本地文件系统,并且检查他们:

    1. $ bin/hadoop fs -get output output
    2. $ cat output/*
    复制代码

    或者,你也可以这么做,

    浏览分布式系统上输出的文件:

    1. $ bin/hadoop fs -cat output/*
    复制代码

    当你完成工作之后,使用如下命令停止daemons:

    1. $ bin/stop-all.sh
    复制代码










    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-9-20 11:47 , Processed in 0.067850 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表