• Hadoop学习笔记(一)——编译安装和配置


    近期工作调动。打算补一下大数据处理的知识。可能会陆续涉及hadoop、mongodb、ddbs等。

    首先Apache提供二进制的Hadoop版本号是32位的。在启动时总是有警告,所以想自己编译一遍。部分内容来源于网络。

    0、环境说明:

    操作系统环境:

    ububtu 14.04 LTS 64位操作系统

    JDK环境:

    java version "1.7.0_55"
    Java(TM) SE Runtime Environment (build 1.7.0_55-b13)
    Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode)

    1、安装JDK

    1. 从ORACLE站点下载最新版本号JDK http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html。选择jdk-7uXX-linux-x64.tar.gz下载。
    2. 用tar -zxvf 命令解压,解压后考到一个目录,我放到了/usr/lib/jvm。因为是測试机,仅仅有我一个人用我把JDK的环境变量配置到了 /etc/profile也能够配置到~/.bashrc加入例如以下内容
      export JAVA_HOME=/usr/lib/jvm
      export JRE_HOME=/usr/lib/jvm/jre
      export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
      export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH
      然后 source一下配置文件使他马上生效

    2、安装编译依赖文件

    sudo apt-get install g++ autoconf automake libtool make cmake zlib1g-dev pkg-config libssl-dev maven
    之后
    还要安装 protobuf和findbugs,这两个仅仅要编译安装即可了非常easy,能够自行百度,

    3、下载并编译Hadoop源代码

    hadoop 2.2.0源代码下载地址 http://www.apache.org/dyn/closer.cgi/hadoop/common/

    眼下的2.2.0 的Source Code 压缩包解压出来的code有个bug 须要patch后才干编译。

    否则编译hadoop-auth 会提示错误。
    须要改动以下的pom文件。该文件在hadoop源代码包下寻找:
    hadoop-common-project/hadoop-auth/pom.xml
    打开上面的的pom文件,在54行增加例如以下的依赖:

         <dependency>
           <groupId>org.mortbay.jetty</groupId>
          <artifactId>jetty-util</artifactId>
          <scope>test</scope>
         </dependency>
         <dependency>
           <groupId>org.mortbay.jetty</groupId>
           <artifactId>jetty</artifactId>
           <scope>test</scope>
         </dependency>

    之后在源代码文件夹运行例如以下命令就可以,编译过程十分漫长,由于须要下载好多maven的依赖文件,须要耐心等待

    mvn package -Pdist,native -DskipTests -Dtar

    编译完之后将生成的tar$HADOOP_HOME/etc/hadoop包解压到一个文件夹安装就可以,我放到了/usr/local/hadoop文件夹下

    并在配置hadoop的环境变量 相同是运行vim /etc/profile 在最以下加入

    export HADOOP_HOME=/usr/local/hadoop
    
    export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
    
    export HADOOP_MAPRED_HOME=$HADOOP_HOME
    export HADOOP_COMMON_HOME=$HADOOP_HOME
    export HADOOP_HDFS_HOME=$HADOOP_HOME
    export YARN_HOME=$HADOOP_HOME
    export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
    export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
    

    4、配置hadoop为伪分布式模式

    配置文件在$HADOOP_HOME/etc/hadoop

    首先是core-site.xml加入例如以下配置

    <configuration>
        <property>  
          <name>hadoop.tmp.dir</name>  
          <value>/usr/local/hadoop/tmp</value>  
        </property>  
        <property>  
          <name>fs.defaultFS</name>  
          <value>hdfs://localhost:9000</value>  
          <final>true</final>  
        </property> 
    </configuration>
    
    yarn-site.xml加入例如以下配置

    <configuration>
     
        <property>  
          <name>yarn.nodemanager.aux-services</name>  
          <value>mapreduce_shuffle</value>  
          <description>shuffle service that needsto be set for Map Reduce to run </description>  
        </property>  
           
        <property>  
          <name>yarn.resourcemanager.hostname</name>  
          <value>localhost</value>  
          <description>hostanem of RM</description>  
        </property> 
    </configuration>
    
    hdfx-site.xml加入入下配置。并建立配置中的目录

    <configuration>
        <property>  
          <name>dfs.namenode.name.dir</name>  
          <value>file:/usr/local/hadoop/dfs/name</value>  
          <final>true</final>  
        </property>  
           
        <property>  
          <name>dfs.datanode.data.dir</name>  
          <value>file:/usr/local/hadoop/dfs/data</value>  
          <final>true</final>  
        </property>  
           
        <property>  
          <name>dfs.replication</name>  
          <value>1</value>  
        </property>  
           
        <property>  
          <name>dfs.permissions</name>  
          <value>false</value>  
        </property>  
    </configuration>
    
    mapred-site.xml加入例如以下配置

    <configuration>
        <property>  
          <name>mapreduce.framework.name</name>  
          <value>yarn</value>  
        </property>  
        <property>  
          <name>mapred.system.dir</name>  
          <value>file:/usr/local/hadoop/mapred/system</value>  
          <final>true</final>  
        </property>  
           
        <property>  
          <name>mapred.local.dir</name>  
          <value>file:/usr/local/hadoop/mapred/local</value>  
          <final>true</final>  
        </property> 
    </configuration>
    

    之后能够在/usr/local/hadoop/sbin中运行  start-dfs.sh 假设出现类似以下结果则代表主从文件系统启动成功

    Starting namenodes on [localhost]
    localhost: starting namenode, logging to /usr/local/hadoop/logs/hadoop-yang-namenode-ubuntu.out
    localhost: starting datanode, logging to /usr/local/hadoop/logs/hadoop-yang-datanode-ubuntu.out
    Starting secondary namenodes [0.0.0.0]
    0.0.0.0: starting secondarynamenode, logging to /usr/local/hadoop/logs/hadoop-yang-secondarynamenode-ubuntu.out
    

    接着执行start-yarn.sh 假设没有错误将出现类似以下的结果
    starting yarn daemons
    starting resourcemanager, logging to /usr/local/hadoop/logs/yarn-yang-resourcemanager-ubuntu.out
    localhost: starting nodemanager, logging to /usr/local/hadoop/logs/yarn-yang-nodemanager-ubuntu.out
    
    至此hadoop安装配置阶段就完毕了。

    假设有机会将会接着写hadoop mapreduce0基础编程,高级编程,hive等内容。

  • 相关阅读:
    dedecms中如何去掉文章页面的广告
    织梦新建顶级栏目打不开,解决办法
    织梦dede模板中广告的去除方法?
    php 转码
    安卓插件
    计时器的实现
    json剥离
    安卓解析json
    安卓 读取网页源码
    java不用jni,也可以获得当前系统性能信息
  • 原文地址:https://www.cnblogs.com/clnchanpin/p/6725014.html
Copyright © 2020-2023  润新知