zoukankan      html  css  js  c++  java
  • Hadoop笔记之安装及伪分布式模式配置

    Hadoop笔记之安装及伪分布式模式配置 - 残阳似血的博客

    Hadoop笔记之安装及伪分布式模式配置

    Hadoop推荐的是Linux环境。Windows环境只能作为开发环境,而不能作为生产环境。

    准备工作

    首先确保Java环境的安装,并确保JAVA_HOME环境变量指向了一个Java安装。ubuntu下可以

    sudo apt-get install sun-java6-jdk

    通过运行“java -version”命令查看是否配置成功。

    接着在这里下载一个稳定版的hadoop,目前最新的版本为0.20.203.x。

    下载后,解压缩到本地文件系统。

    tar xvzf hadoop-x.f.z.tar.gz

    这时我们需要修改conf/hadoop-env.sh中的JAVA_HOME的值来指定Java安装。

    创建一个指向hadoop安装目录(例如HADOOP_INSTALL)的环境变量。这样直接在命令行中运行hadoop命令就很方便。

    export HADOOP_INSTALL=/home/chine/hadoop-0.20.203.0
    export PATH=$PATH:$HADOOP_INSTALL/bin

    为了能让每次开机添加环境变量,我们把这两句话加到"/etc/profile“的末尾。

    我们运行以下指令看看hadoop是否安装成功。

    % hadoop version

    Hadoop 0.20.203.0
    Subversion http://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.20-security-203 -r 1099333
    Compiled by oom on Wed May  4 07:57:50 PDT 2011

    配置

    Hadoop各个组件的配置在文件夹conf下。早期的hadoop采用一个配置文件hadoop-site.xml来配置Common,HDFS和MapReduce组件,从0.20.0版本开始,分为三个文件。

    • core-site.xml:配置Common组件的属性。
    • hdfs-site.xml:配置HDFS属性。
    • mapred-sit.xml:配置MapReduce属性。

    Hadoop的运行模式有以下三种:

    • 独立模式(standalone或local mode):无需任何守护进程(daemon),所有程序都在单个JVM上执行。主要用在开发阶段。默认属性就是为本模式所设,所以不需要额外的配置。
    • 伪分布式模式(pseudo-distributed model):Hadoop守护进程运行在本地机器上,模拟一个小规模的集群。本文接下来会说这种模式的配置。
    • 全分布模式(full distributed model):Hadoop守护进程运行在一个集群上。在以后的文章中将会介绍此模式的配置。

    伪分布模式

    我们依次修改conf文件下core-site.xml,hdfs-site.xml和mapred-site.xml文件为如下。

    core-site.xml

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
     
    <configuration>
      <property>
        <name>fs.default.name</name>
        <value>hdfs://localhost/</value>
      </property>
      <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/chine/hadoop-0.20.203.0/tmp/hadoop-${user.name}</value>
      </property>
    </configuration>

    这里要注意hadoop.tmp.dir的设置,如果不设置,则默认设为/tmp文件夹,每次重启后/tmp会被清除,这样造成namenode无法启动的问题。

    hdfs-site.xml

    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
     
    <configuration>
      <property>
        <name>dfs.replication</name>
        <value>1</value>
      </property>
    </configuration>

    mapred-site.xml

    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
     
    <configuration>
      <property>
        <name>mapred.job.tracker</name>
        <value>localhost:8021</value>
      </property>
    </configuration>

    配置SSH

    启动守护进程的前提是安装SSH。通常情况下,ubuntu已经安装了ssh,若没有,运行

    sudo apt-get install ssh

    需要强调的是,必须确保用户能SSH到本地主机,并不输入密码即可登录。于是,我们基于空口令创建一个新SSH密钥,以启用无密码登录。

    $ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 
    $ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

    用以下命令进行测试

    $ ssh localhost

    如果成功,无需键入密码。

    格式化HDFS文件系统

    在使用Hadoop之前,必须格式化一个全新的HDFS安装。只需运行

    $ hadoop namenode -format

    启动和终止守护进程

    我们可以运行以下命令来启动HDFS和MapReduce守护进程。

    $ start-all.sh

    当然,也可以分开来分别启动

    $ start-dfs.sh
    $ start-mapred.sh

    相应的终止也很简单。

    $ stop-all.sh

    或者

    $ stop-dfs.sh
    $ stop-mapred.sh

    到这里伪分布式模式就配置完成。以后再介绍全分布式模式的配置,以及用Hadoop进行MapReduce任务等等相关的学习。 

  • 相关阅读:
    洛谷 1012 拼数(NOIp1998提高组)
    洛谷 1540 机器翻译
    洛谷 1328 生活大爆炸版石头剪刀布(NOIp2014提高组)
    洛谷 2820 局域网
    洛谷 1359 租用游艇
    洛谷 1195 口袋的天空
    洛谷 1316 丢瓶盖
    洛谷 1258 小车问题
    洛谷 1017 进制转换 (NOIp2000提高组T1)
    GYM
  • 原文地址:https://www.cnblogs.com/lexus/p/2862082.html
Copyright © 2011-2022 走看看