首页 > hadoop > hadoop 单节点安装 官方文档 汉化
2015
09-30

hadoop 单节点安装 官方文档 汉化

Hadoop: 设置一个单节点集群。

目标

这个文档描述了如何设置和配置一个单节点的hadoop安装,用以帮助你可以快速的使用MapRedecu和HDFS执行一些简单的操作。

先决条件

支持的平台

  • GNU/Linux操作系统支持作为开发和生产平台。 Hadoop已经被证明在GNU/Linux上安装过超过2000个节点的集群。
  • Windows同样也是一个支持的平台,不过下述的步骤只支持Linux。如果在windows上安装hadoop,请浏览维基百科上的页面.

需要的软件

在linux上需要的软件如下:

  1. Java™ 必须已经安装好。 推荐的java版本的具体详见HadoopJavaVersions.
  2. ssh 必须安装好,并且sshd服务必须运行着(译者注:sshd即ssh服务的服务名,一般系统中默认随系统启动就开启了,就是为了保证ssh命令可用),以使用hadoop脚本管理远程的hadoop进程。

安装软件

如果你的集群中没有需要的软件,你需要自行安装。

举一个例子,对于Ubuntu Linux来说:

  $ sudo apt-get install ssh
  $ sudo apt-get install rsync

下载

获取一个hadoop的发行版,从 多个Apache下载镜像中选择一个,下载一个最新的稳定版hadoop。

准备开启一个hadoop集群

解压下载后的hadoop发行版。编辑其中的etc/hadoop/hadoop-env.sh 文件,定义一些如下的参数:

  # 设置你安装的java的根目录
  export JAVA_HOME=/usr/java/latest

尝试下面的命令:

  $ bin/hadoop

这将显示hadoop脚本的使用文档。

现在你已经准备好开启你的的Hadoop集群的三个支持的模式:

单节点操作

默认情况下, hadoop的配置支持本地模式, 作为一个Java进程. 这对调试非常有用。

下面的例子中,我们拷贝解压后的配置目录中的内容,将其当作一个输入,然后找到并显示每个匹配给定的正则表达式。输出写入到output目录。

  $ mkdir input
  $ cp etc/hadoop/*.xml input
  $ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar grep input output 'dfs[a-z.]+'
  $ cat output/*

伪分布操作

Hadoop同样也可以运行在一个节点上,使用伪分布模式,每一个hadoop进程运行于一个单独的java进程中。

配置

详细如下:

etc/hadoop/core-site.xml:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

etc/hadoop/hdfs-site.xml:

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

设置免密码ssh

现在检查以确保你可以免密码ssh到本机:

  $ ssh localhost

如果你无法免密码ssh到本机,执行如下命令:

  $ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
  $ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
  $ export HADOOP\_PREFIX=/usr/local/hadoop

执行

下面的指令运行一个本地化的mapreduce job。如果你想在YARN上执行一个job,详见单节点YARN.

  1. 格式化文件系统:
      $ bin/hdfs namenode -format
    
  2. 开启NameNode进程和DataNode进程:
      $ sbin/start-dfs.sh
    

    Hadoop进程日志写入到 $HADOOP_LOG_DIR 目录 (默认写到 $HADOOP_HOME/logs).

  3. 浏览页面查看NameNode; 默认情况下其目录为:
    • NameNode – http://localhost:50070/
  4. 创建运行MapReduce job所需的HDFS目录:
      $ bin/hdfs dfs -mkdir /user
      $ bin/hdfs dfs -mkdir /user/<username>
    
  5. 拷贝输入文件到分布式文件系统:
      $ bin/hdfs dfs -put etc/hadoop input
    
  6. 运行一些提供的示例:
      $ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar grep input output 'dfs[a-z.]+'
    
  7. 检查输出文件: 从分布式文件系统拷贝输出文件到本地文件系统并检查它们:
      $ bin/hdfs dfs -get output output
      $ cat output/*
    

    或者

    在分布式系统上查看输出文件的内容:

      $ bin/hdfs dfs -cat output/*
    
  8. 当你完成操作后,使用下列命令关闭进程:
      $ sbin/stop-dfs.sh
    

单节点YARN

此外你也可以通过设置一些参数,并且运行ResourceManager进程和NodeManager进程来运行一个MapReduce job在YARN上,使用伪分布模式。

下面的说明假设上述的的1~ 4执行步骤已经执行。

  1. 配置如下参数:etc/hadoop/mapred-site.xml:
    <configuration>
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
    </configuration>
    

    etc/hadoop/yarn-site.xml:

    <configuration>
        <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
        </property>
    </configuration>
    
  2. 开启ResourceManager进程和NodeManager进程:
      $ sbin/start-yarn.sh
    
  3. 在页面上浏览ResourceManager; 默认目录在:
    • ResourceManager – http://localhost:8088/
  4. 运行一个MapReduce任务.
  5. 当你完成操作后,使用下列命令关闭进程:
      $ sbin/stop-yarn.sh
    

全分布式操作

安装一个分布式的、常规的集群,详集群安装(暂未翻译,敬请等待)

最后编辑:
作者:小马哥
大数据技术学习及实践者~

留下一个回复

你的email不会被公开。