zoukankan      html  css  js  c++  java
  • Hadoop1.2.0开发笔记(五)

    本文接下来描述hadoop-1.2.0的系统搭建,在搭建环境的过程中可能会碰到很多问题,需要考验开发人员的足够的耐心

    本人的系统环境是linuxmint15 64bit

    1)     Hadoop的基本安装

    a.     首先需要编译hadoop-1.2.0系统,在终端进入${hadoop.root}目录,执行ant eclipse命令,会自动下载相关依赖jar,编译项目(因为本人是要导入到eclipse开发工具里面,所以执行的是eclipse命令)

    b.    在运行Hadoop之前,需要先配置Hadoop的环境,指明Java环境的目录。 编辑${hadoop.root}/conf/hadoop-env.sh文件,添加java的环境变量

    export JAVA_HOME=/usr/lib/jvm/jdk1.6.0_45

    export HADOOP_NAMENODE_OPTS="-Dcom.sun.management.jmxremote $HADOOP_NAMENODE_OPTS"
    export HADOOP_SECONDARYNAMENODE_OPTS="-Dcom.sun.management.jmxremote $HADOOP_SECONDARYNAMENODE_OPTS"
    export HADOOP_DATANODE_OPTS="-Dcom.sun.management.jmxremote $HADOOP_DATANODE_OPTS"
    export HADOOP_BALANCER_OPTS="-Dcom.sun.management.jmxremote $HADOOP_BALANCER_OPTS"
    export HADOOP_JOBTRACKER_OPTS="-Dcom.sun.management.jmxremote $HADOOP_JOBTRACKER_OPTS"
    export JAVA_HOME=/usr/lib/jvm/jdk1.6.0_45

    c.      为了方便在终端运行Hadoop的命令,我们可以将${hadoop.root}/bin目录添加到至终端的环境目录中,编辑/etc/profile文件(sudo gedit /etc/profile),在后面添加

    export HADOOP_INSTALL=/home/chenying/workspace/hadoop-1.2.0
    export PATH=$PATH:$HADOOP_INSTALL/bin

    d.      至此,Hadoop的基本安装与配置已经完成,可以通过在终端中输入如下命令测试Hadoop是否安装成功:

    终端运行hadoop version命令,若成功则应该输出hadoop的版本信息

    chenying@Ftpdown ~ $ hadoop version
    Hadoop 1.2.1-SNAPSHOT
    Subversion  -r 
    Compiled by chenying on Fri May 31 04:22:09 CST 2013
    From source with checksum 2e0dac51ede113c1f2ca8e7d82fb3405
    This command was run using /home/chenying/workspace/hadoop-1.2.0/hadoop-core-1.2.0.jar

    2)     Hadoop运行模式的配置

    Hadoop有三种运行模式:单机模式(Standalone)、伪分布模式(Psedu-distributed)和全分布模式(Fully distributed)。前两者用于在单台机器上部署环境,为了方便后续的开发及更加真实地模拟分布式环境,我们采用伪分布模式(其余两种模式的部署请参阅《HadoopThe Definitive Guide.Appendix A)。

    a.      采用伪分布式模式需要配置${hadoop.root}/conf/下的core-site.xmlhdfs-site.xmlmapred-site.xml文件,分别如下:

    core-site.xml

    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    
    <!-- Put site-specific property overrides in this file. -->
    
    <configuration>
      <property>
        <name>fs.default.name</name>
        <value>hdfs://localhost:9000</value>
      </property>
      <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/chenying/workspace/hadoop-1.2.0/tmp/hadoop-${user.name}</value>
      </property>
    
    </configuration>

    hdfs-site.xml

    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    
    <!-- Put site-specific property overrides in this file. -->
    
    <configuration>
     
    <property>
        <name>dfs.replication</name>
        <value>1</value>
      </property>
    <!--<property>
        <name>dfs.permissions</name>
        <value>false</value>
      </property>-->
    
    </configuration>

    mapred-site.xml

    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    
    <!-- Put site-specific property overrides in this file. -->
    
    <configuration>
    <property>
        <name>mapred.job.tracker</name>
        <value>localhost:9001</value>
      </property>
    </configuration>

    b.      安装配置SSH

    在伪分布式运行模式下,与全分布式模式一样,Hadoop会通过SSH在集群中的主机上运行守护程序,所以我们还需要安装和配置SSH Server。对于linuxmint15来说,系统已经自带了SSH Client,所以我们只需要安装SSH Server即可。在终端运行如下命令安装SSH Server

    $sudo apt-get install openssh-server

    安装完成后,为了方便,还应该配置SSH运行在无密码的登陆状态下,可以通过如下命令完成这一配置:

    %ssh-keygen –t rsa –f ~/.ssh/id_rsa  (备注:执行此条命令后根据提示信息,不输入密码直接回车就等设置无密码)

    %cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

    设置完成后,可以通过如下命令测试SSH

    %ssh localhost

    若成功,则可以看到类似的信息:

    Welcome to Linux Mint 15 Olivia (GNU/Linux 3.8.0-19-generic x86_64)
    
    Welcome to Linux Mint
     * Documentation:  http://www.linuxmint.com
    
    35 packages can be updated.
    0 updates are security updates.
    
    Last login: Fri May 31 06:02:50 2013 from localhost

    c.      格式化HDFS并启动

    在启动Hadoop之前,必须先格式化HDFS,以创建新的文件系统并初始化namenode的文件结构,可以通过如下命令完成这一操作:

    %hadoop namenode –format

    格式化完成之后,就可以启动Hadoop了:

    %start-all.sh

    若需要停止Hadoop,只需要在输入如下命令即可:

    %stop-all.sh

    注意:在关闭namenode节点的电源之前,务必保证先停止Hadoop,否则可能造成HDFS文件系统出错,下次启动时可能会丢失文件。若出现此意外情况,可以通过格式化HDFS命令修复,但无法保证HDFS上的原文件的找回。

    d.      测试

    Hadoop默认启动了两个端口用于查看Hadoop的状态:通过在浏览器中打开http://localhost:50070来查看HDFS的运行状态,通过http://localhost:50030可以查看MapReduce的运行状态。若可以成功打开网页,则完成了Hadoop的伪分布式部署。

    ---------------------------------------------------------------------------

    本系列Hadoop1.2.0开发笔记系本人原创

    转载请注明出处 博客园 刺猬的温驯

    本文链接 http://www.cnblogs.com/chenying99/archive/2013/05/31/3109648.html

  • 相关阅读:
    linux 解压tgz 文件指令
    shell 脚本没有执行权限 报错 bash: ./myshell.sh: Permission denied
    linux 启动solr 报错 Your Max Processes Limit is currently 31202. It should be set to 65000 to avoid operational disruption.
    远程查询批量导入数据
    修改 MZTreeView 赋权节点父节点选中子节点自动选中的问题
    关于乱码的问题解决记录
    我的网站优化之路
    对设计及重构的一点反思
    我的五年岁月
    奔三的路上
  • 原文地址:https://www.cnblogs.com/chenying99/p/3109648.html
Copyright © 2011-2022 走看看