本篇源自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 存储数据块的本地目录系统,一般以路径列表存放 如果这里是以逗号分隔的目录列表,那么这个数据将被存储在所有的目录下,一般是不同的磁盘驱动

Hadoop Cluster 安装的更多相关文章

  1. hadoop分布式安装教程(转)

    from:http://www.cnblogs.com/xia520pi/archive/2012/05/16/2503949.html 1.集群部署介绍 1.1 Hadoop简介 Hadoop是Ap ...

  2. centos中-hadoop单机安装及伪分布式运行实例

    创建用户并加入授权 1,创建hadoop用户 sudo useradd -m hadoop -s /bin/bash 2,修改sudo的配置文件,位于/etc/sudoers,需要root权限才可以读 ...

  3. 两种配置大数据环境的方法Ambari以及hadoop源代码安装的步骤

    1.Ambari安装 Ambari & HDP(Hortonworks Data Platform) ********************************************* ...

  4. 【Hadoop】Hadoop的安装,本地模式、伪分布模式的配置

    Download hadoop-2.7.7.tar.gz 下载稳定版本的hadoop-2.7.7.tar.gz(我用的2.6.0,但是官网只能下载2.7.7的了) Required Software ...

  5. 【从零开始学习Hadoop】--1.Hadoop的安装

    第1章 Hadoop的安装1. 操作系统2. Hadoop的版本3. 下载Hadoop4. 安装Java JDK5. 安装hadoop6. 安装rsync和ssh7. 启动hadoop8. 测试had ...

  6. Hadoop Linux安装

    Hadoop Linux安装 步骤流程 1.硬件准备 2.软件准备(推荐CDH) 3.将Hadoop安装包分发到各个节点下 4.安装JDK 5.修改/etc/hosts配置文件 6.设置SSH免密码登 ...

  7. hadoop环境安装及简单Map-Reduce示例

    说明:这篇博客来自我的csdn博客,http://blog.csdn.net/lxxgreat/article/details/7753511 一.参考书:<hadoop权威指南--第二版(中文 ...

  8. hadoop群集安装中碰到的问题

    在hadoop群集安装结束后,进行格式测试出现问题如下 格式化 cd /data/hadoop/bin ./hdfs namenode -format 15/01/21 05:21:17 WARN f ...

  9. 从零开始学习Hadoop--第1章 Hadoop的安装

    Hadoop的安装比较繁琐,有如下几个原因:其一,Hadoop有非常多的版本:其二,官方文档不尽详细,有时候更新脱节,Hadoop发展的太快了:其三,网上流传的各种文档,或者是根据某些需求定制,或者加 ...

随机推荐

  1. 重温Servlet学习笔记--response对象

    在用户浏览网页时,服务器对于客户端浏览器做出的响应被封装成一个HttpServletResponse对象,要对浏览器操作只需要操作这个response对象即可.response的功能分类及介绍: 响应 ...

  2. 何谓Restful

    引言 用过ASP.NET WebApi2.0, 上次去面试被问到什么是Restful ,一时间竟不知道从何说起,所以搜集资料,做个备注,有时间好多来看看加深理解. 什么是Restful 一种软件架构风 ...

  3. reactjs学习之路

    正式开始react的学习 1.react中组件的首字母如果是大写就会当成自定义组件,如果是小写就会当成DOM的自带元素名.如果你自定义组件名称首字母是小写不会报错,但是无法显示. 2.自定义组件的re ...

  4. TP框架执行流程分许

    1. index.php 入口文件 2. ThinkPHP/ThinkPHP.php 在php5.3版本以后 设置常量有两种方式: const name = value; 作用域根据当前命名空间决定 ...

  5. 关于C#的继承结论

    1.继承:继承是一个类可以使用另一个类的属性和方法(成员) 2.子类继承父类使用的符号为“  : ”(冒号) 3.子类可以继承父类私有成员,但不能访问(不能使用) 4.父类的构造,子类不能被继承 5. ...

  6. LINQ to SQL语句(16)之对象标识

    对象标识 运行库中的对象具有唯一标识.引用同一对象的两个变量实际上是引用此对象的同一实例.你更改一个变量后,可以通过另一个变量看到这些更改. 关系数据库表中的行不具有唯一标识.由于每一行都具有唯一的主 ...

  7. javascript设计模式实践之模板方法--具有百叶窗切换图片效果的JQuery插件(二)

    在上一篇<javascript设计模式实践之迭代器--具有百叶窗切换图片效果的JQuery插件(一)>里,通过采用迭代器模式完成了各初始化函数的定义和调用. 接下来就要完成各个切换效果的编 ...

  8. 简析.NET Core 以及与 .NET Framework的关系

    简析.NET Core 以及与 .NET Framework的关系 一 .NET 的 Framework 们 二 .NET Core的到来 1. Runtime 2. Unified BCL 3. W ...

  9. [moka同学摘录]SQL内联、外联的简单理解

    (源自:http://blog.csdn.net/kkk9127/article/details/1487686) --查询分析器中执行:--建表table1,table2:create table ...

  10. 03-树1 树的同构 (C语言链表实现)

    #include <stdio.h> #include <stdlib.h> #include <string.h> #include <stdbool.h& ...