zoukankan      html  css  js  c++  java
  • hadoop安装

    cluster setup, 参考官方安装文档,这里仅作记录。

    准备三台机器,作为三个节点,假设ip为192.168.1.11, 192.168.1.12,192.168.1.13,192.168.1.14,以下仅使用ip末尾数表示节点编号

    下载hadoop安装文件,并解压为hadoop-2.8.0

    通常来说,使用一个节点作为NameNode,使用另一个节点作为ResourceManager,这两个节点都为masters,其余节点为DateNode和NodeManager,即,slaves

    配置

    有两类重要的配置文件

    只读default配置:core-default.xmlhdfs-default.xmlyarn-default.xml and mapred-default.xml (当然这些文件我现在还没找到在哪里  -_-!)

    site-specific配置:etc/hadoop/core-site.xmletc/hadoop/hdfs-site.xmletc/hadoop/yarn-site.xml and etc/hadoop/mapred-site.xml

    HDFS守护进程(Daemons)是NameNode,SecondaryNameNode以及DataNode, YARN守护进程是ResourceManager,NodeManager以及WebAppProxy,如果还使用了MapReduce,那么MapReduce Job History Server 也需要运行。如果安装大型集群,这些都需要安装在不同的hosts中

    使用Hadoop守护进程配置环境(Environment)

    一些环境变量的配置参见官方说明

    通常习惯在/etc/profile.d目录下新建一个文件比如hadoop.sh,在其他添加如下内容,然后通过scp复制到集群其他node

    export HADOOP_HOME=/root/hadoop-2.8.0
    export PATH=$HADOOP_HOME/bin:$PATH
    export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
    export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop

    配置hadoop守护进程

    配置etc/hadoop/core-site.xml文件:

    <configuration>

      <configuration>

    <property>
    <name>fs.defaultFS</name> <value>hdfs://192.168.10.14:11111</value> </property> <property> <name>io.file.buffer.size</name> <value>131072</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/root/hadoop-2.8.0/tmp</value> </property> </configuration>

    其中,fs.defaultFS指明文件系统的访问入口,让所有DataNode知道NameNode的所在

    配置etc/hadoop/hdfs-site.xml:

    <configuration>
    <!-- for namenode --> <property> <name>dfs.namenode.secondary.http-address</name> <value>192.168.1.11:50090</value> </property> <property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/root/hadoop-2.8.0/hdfs/name</value> </property>

    <!-- for datanode --> <property> <name>dfs.datanode.data.dir</name> <value>/root/hadoop-2.8.0/hdfs/data</value> </property> </configuration>

    配置etc/hadoop/yarn-site.xml

    <configuration>
    
    <!-- Site specific YARN configuration properties -->
      <property>
        <name>yarn.acl.enable</name>
        <value>true</value>
      </property>
      <property>
        <name>yarn.resourcemanager.address</name>
        <value>192.168.10.14:8032</value>
      </property>
      <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>192.168.10.14:8088</value>
      </property>
      <property>
        <name>yarn.resourcemanager.admin.address</name>
        <value>192.168.10.14:8033</value>
      </property>
      <property>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>192.168.10.14:8030</value>
      </property>
      <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>192.168.10.14:8031</value>
      </property>
      <property>
        <name>yarn.resourcemanager.aux-services</name>
        <value>mapreduce-shuffle</value>
      </property>
      <property>
        <name>yarn.resourcemanager.rm.container-allocation.expiry-interval-ms</name>
        <value>100000000</value>
      </property>
    </configuration>

    配置etc/hadoop/mapred-site.xml:

    <configuration>
      <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
      </property>
      <property>
        <name>mapreduce.jobhistory.address</name>
        <value>192.168.10.14:10030</value>
      </property>
      <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>192.168.10.14:19899</value>
      </property>
      <property>
        <name>mapreduce.jobhistory.intermediate-done-dir</name>
        <value>/root/hadoop-2.8.0/hdfs/mr-history/tmp</value>
      </property>
      <property>
        <name>mapreduce.jobhistory.done-dir</name>
        <value>/root/hadoop-2.8.0/hdfs/mr-history/done</value>
      </property>
    </configuration>

    根据以上配置,创建相应的目录,如下

    mkdir /root/hadoop-2.8.0/tmp
    mkdir /root/hadoop-2.8.0/hdfs cd /root/hadoop-2.8.0/hdfs mkdir name data mr-history cd mr-history mkdir tmp done

    配置etc/hadoop/slaves文件

    在slaves中添加如下内容

    192.168.1.12
    192.168.1.13

    每一行为一个slave节点IP

    配置好之后,将/root/hadoop-2.8.0目录以及内部文件和子目录copy到集群的其他节点上,保持路径不变

    scp -r $HADOOP_HOME root@192.168.1.11:/root/

    hadoop startup

    需要分别启动HDFS和YARN集群

    第一次启动HDFS需要格式化,使用如下命令

    $HADOOP_HOME/bin/hdfs namenode -format cluster_v0

    其中cluster_v0为集群名称

    配置ssh信任访问(无密码访问)

    启动HDFS

    $HADOOP_HOME/sbin/start-dfs.sh

    启动YARN

    $HADOOP_HOME/sbin/start-yarn.sh

    或者使用下面这个命令同时执行以上两条命令

    $HADOOP_HOME/sbin/start-all.sh

    如果出现 error: JAVA_HOME is not set and could not be found的错误

    则需要将etc/hadoop/hadoop-env.sh文件中的JAVA_HOME重新设置为绝对路径

    关闭hadoop可使用如下命令

    $HADOOP_HOME/sbin/stop-dfs.sh
    $HADOOP_HOME/sbin/stop-yarn.sh
    
    or just
    $HADOOP_HOME/sbin/stop-all.sh

     如此,就部署好一个hadoop集群,

    可以通过浏览器输入地址192.168.1.14:8088 (对应yarn)浏览集群状态

    通过192.168.1.14:50070访问hdfs集群状态

  • 相关阅读:
    解读tensorflow之rnn 的示例 ptb_word_lm.py
    tensorflow 的rnn的示例 ptb_word_lm.py 的完整代码
    python中decorator的用法及原理(一)
    android 6 (API 23) 及更高版本 面向 NDK 开发者的 Android 变更
    GCC选项_-Wl,-soname 及 DT_NEEDED 的解释
    一万小时天才理论
    好好说话!
    如何打造你的独立观点
    整理的艺术3
    读过的书记不住怎么办?
  • 原文地址:https://www.cnblogs.com/sjjsxl/p/6747738.html
Copyright © 2011-2022 走看看