• 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

  • 相关阅读:
    从产品原型到交互设计的过渡——初学者心得
    谈什么是卡片式设计?
    vertical-align:middle的居中细节调整
    line-height:2和line-height:2em的区别,它们是有区别的
    css中!important的用法总结
    使用em为单位制作两列弹性布局
    如何动态修改下拉列表的默认选中项
    【转】深入浅出协议栈
    经典排序js实现
    js 数组的拷贝
  • 原文地址:https://www.cnblogs.com/chenying99/p/3109648.html
Copyright © 2020-2023  润新知