zoukankan      html  css  js  c++  java
  • Hadoop Cluster 安装

    本篇源自Hadoop官网,先将中文翻译如下。

    目标

    本文章主要是描述如何安装和配置几个节点的Hadoop clusters,甚至于数以千计的节点数。为了了解详细的安装步骤,需要先了解如何安装在单台机器上。

    本文档不包含高级的设置点,比如:安全性或者高可用性。

    准备

    • 需要安装Java环境
    • 从Apache网站下载一个稳定的Hadoop安装镜像

    安装

    搭建一个Hadoop集群需要将软件安装到集群中的所有机器中,或者一个适合当前操作系统集成的系统。这样做的目标就是区分不同的硬件安装不同的功能。

    典型的安装是在一个集群中一个机器作为NameNode节点,其它机器作为ResourceManager.当然,这台机器的角色就是Masters.其它的服务(比如Web App Proxy Server 和MapReduce Job History server)一般运行在别的硬件或者共享的信息架构上,依赖于系统的负载。

    在集群中剩下的机器就是DataNode和NodeManager.他们的角色是slaves.

    非安全模式下的Hadoop配置 

    Hadoop的Java配置项被分为两部分重要的配置文件:

    • 只读的默认配置文件:core_default.xml,hdfs-default.xm,yarn-default.xml 和mapred-default.xml.
    • 特殊定义的配置文件:etc/hadoop/core-site.xml,etc/hadoop/hdfs-site.xml,etc/hadoop/yarn-site.xml和etc/hadoop/mapred-site.xml.

    另外,需要有权限设置Hadoop scripts脚本在分布式集群中的各个目录文件 bin/directory,需要设置的文件为 etc/hadoop-env.sh 和 etc/hadoop/yarn-env.sh.

    为了能够保证Hadoop守护进程很好的运行,需要配置hadoop集群所需要的环境。

    HDFS守护进程是NameNode,SecondaryNameNode和DataNode,YARN守护进程是ResourceManager,NodeManager和WebAppProxy,如果MapReduce被使用,那么MapReduce 的任务 History Server将会被运行,如果是大集群的安装,他们将被运行在不同的主机上。

    Hadoop守护进程环境配置

    管理员需要利用etc/hadoop/hadoop-env.sh 和可选的 etc/hadoop/mapred-env.sh 和etc/hadoop/yarn-env.sh 脚本去配置Hadoop各个守护进程的环境。 

    之少,需要配置的是JAVA_HOME确保在每一个远程节点上都是正确的。

    管理员需要配置一下的独自守护进程利用下面的表格:

     守护进程参数名称
    NameNode HADOOP_NAMENODE_OPTS
    DataNode HADOOP_DATANODE_OPTS
    Secondary NameNode HADOOP_SECONDARYNAMENODE_OPTS
    ResourceManager YARN_RESOURCEMANAGER_OPTS
    NodeManager YARN_NODEMANAGER_OPTS
    WebAppProxy YARN_PROXYSERVER_OPTS
    Map Reduce Job History Server HADOOP_JOB_HISTORYSERVER_OPTS

     举一个例子,可以配置Namenode用parallelGC,下面的片段需要被添加到hadoop-env.sh:

     export HADOOP_NAMENODE_OPTS="-XX:+UseParallelGC"

    来看一下 etc/hadoop/hadoop-env.sh的其它一些例子。
    其它的一些有用的可配置参数,可以自定义如下:

    • HADOOP_PID_DIR 这个是守护进程ID文件存放的目录路径
    • HADOOP_LOG_DIR 这个是守护进程日志存储的目录路径,日志会被自动创建如果没有的话
    • HADOOP_HEAPSIZE/YARN_HEAPSIZE 最大的堆使用的内存值,单位为:MB,如果这个参数被设置成1000,那就意味着堆将使用1000MB的内存值,这个参数主要用于守护进程内存值的大小设置。默认值是1000,可以为每个守护进程分配不同大小的值。

    在很多场景中,必须设置这个HADOOP_PID_DIR和HADOOP_LOG_DIR这两个目录,以方便用户可以输出日志在运行守护进程的时候。

     守护进程参数值
    ResourceManager YARN_RESOURCEMANAGER_HEAPSIZE
    NodeManager YARN_NODEMANAGER_HEAPSIZE
    WebAppProxy YARN_PROXYSERVER_HEAPSIZE
    Map Reduce Job History Server HADOOP_JOB_HISTORYSERVER_HEAPSIZE

     Hadoop守护环境配置

    在Hadoop坏境中有一个非常重要的参数文件:

    • etc/hadoop/core-site.xml
    参数名称提示
    fs.defaultFS NameNode URI hdfs://host:port/
    io.file.buffer.size 131072 Size of read/write buffer used in SequenceFiles.
    • etc/hadoop/hdfs-site.xml
    • 配置守护进程NameNode:
     参数名称提示
    dfs.namenode.name.dir 文件路径,用户存储NameNode进程的命名空间和事务日志 如果这里用逗号分割的列表,将会复制分发到各个目录以做为冗余数据进行备份
    dfs.hosts / dfs.hosts.exclude DataNodes的节点列表(包含或排除) 如果需要,用户通过设置这个列表来控制DataNodes的数量。
    dfs.blocksize 268435456 HDFS 快的大小为了存储大文件系统.
    dfs.namenode.handler.count 100 对于大量DataNodes的节点数开启的多线程个数.
    • Configuration for DataNode:
    参数名称提示
    dfs.datanode.data.dir 存储数据块的本地目录系统,一般以路径列表存放 如果这里是以逗号分隔的目录列表,那么这个数据将被存储在所有的目录下,一般是不同的磁盘驱动
  • 相关阅读:
    hdu 4651 Partition (利用五边形定理求解切割数)
    单点登录SSO的实现原理
    高速排序算法
    2014 百度之星第三题
    TR069协议向导——一个帮助你了解TR069协议的简明教程(一)
    教你用笔记本破解无线路由器password
    人脸识别算法初次了解
    JSP验证码
    GROUP BY,WHERE,HAVING之间的差别和使用方法
    typedef函数指针使用方法
  • 原文地址:https://www.cnblogs.com/zhijianliutang/p/5622689.html
Copyright © 2011-2022 走看看