Hadoop3.0集群配置 在上千节点下的大规模集群的安装和配置

前言

本文主要是讲述如何在上千节点下的大规模集群的安装和配置。如果你只是想尝hadoop。你可以在单台机器上进行安装。(查看单例安装)

本文不涉及安全或高可用等方面的主题。

先决条件

  • 安装Java。想获java取匹配的hadoop版本详情查看Hadoop Wiki
  • 从Apache的hadoop镜像上下载稳定的版本。

安装

Hadoop集群典型安装方式包括在所有的集群机器上解压软件或者从你的操作系统中通过安装包来安装它。这是一个硬件到功能的很重要的划分。

通常,集群中的一台机器被指定为NameNode,而另一台机器则被指定为ResourceManager。这些都是主。根据负载的情况,其他服务(如WebApp Proxy服务和MapReduceJobHistory 服务)通常在专有硬件或共享设备上运行。

集群中的其余机器同时充当DataNode和no需求者。这些都是工作者。

Hadoop的非安全模式下配置

Hadoop的Java配置的驱动来源于两种重要的配置文件:

l只读的默认配置 -core-default.xml,hdfs-default.xml,yarn-default.xml和mapred-default.xml。

l特定站点配置 -etc/hadoop/core-site.xml,etc/hadoop/hdfs-site.xml,etc/hadoop/yarn-site.xml和etc/hadoop/mapred-site.xml。

此外,您还可以在bin/目录中找到的Hadoop控制分发的脚本,它主要是通过设置etc/hadoop/hadoop-env.sh 和etc/hadoop/yarn-env.sh特定值来控制的。

要配置Hadoop集群,您需要配置Hadoop守护进程执行的环境,以及Hadoop守护进程的配置参数。

HDFS守护进程包括NameNode、SecondaryNameNode和DataNode。YARN守护进程包括ResourceManager、NodeManager和WebAppProxy。如果要使用MapReduce,那么MapReduce Job History Server也将会运行。相对于大规模的使用,它们通常运行在单独的主机上。

配置Hadoop守护进程的环境

后台管理员通过etc/hadoop/hadoop-env.sh和etc/hadoop/mapred-env.sh、etc/hadoop/yarn-env.sh脚本对Hadoop守护进程的运行环境进行针对性的配置。

最起码的一点,您必须指定JAVA_HOME,以便在每个远程节点上准确的定义它。

管理员可以使用表中的配置选项来对单个守护进程进行配置:

守护进程

环境变量

NameNode

HDFS_NAMENODE_OPTS

DataNode

HDFS_DATANODE_OPTS

Secondary NameNode

HDFS_SECONDARYNAMENODE_OPTS

ResourceManager

YARN_RESOURCEMANAGER_OPTS

NodeManager

YARN_NODEMANAGER_OPTS

WebAppProxy

YARN_PROXYSERVER_OPTS

Map Reduce Job History Server

MAPRED_HISTORYSERVER_OPTS

例如,要配置Namenode以使用parallelGC和4GB 的Java堆,应该在hadoop-env.sh中添加以下语句:

export HDFS_NAMENODE_OPTS=“-XX:+UseParallelGC -Xmx4g”

Seeetc/hadoop/hadoop-env.shfor other examples.

etc/hadoop/hadoop-env.sh的其他例子查看。

其他常用的配置参数包括:

lHADOOP_PID_DIR–守护进程id文件的存储目录。

lHADOOP_LOG_DIR-守护进程日志文件的存储目录。如果日志文件不存在,则自动创建。

lHADOOP_HEAPSIZE_MAX- 用于Java heapsize的最大内存使用量. 此还支持由JVM支持的单位设置。如果没有任何单位,则假定该数字的单位为M。默认情况下,Hadoop将让JVM决定使用多少内存。这个值可以被每个守护进程的_OPTS变量覆写。例: 设置HADOOP_HEAPSIZE_MAX=1g和HADOOP_NAMENODE_OPTS=“-Xmx5g”, 此NameNode将配置具有5GB堆。

在大多数情况下,您应该指定HADOOP_PID_DIR和HADOOP_LOG_DIR目录,这些目录只能由将要运行hadoop守护进程的用户有写的功能,否则的话可能会出现symlink攻击的情况。

在系统范围的shell环境配置中配置HADOOP_HOME也是一种传统。例如,一个简单的

/etc/profile.d脚本:

HADOOP_HOME=/path/to/hadoop

export HADOOP_HOME

配置Hadoop守护进程

本节主要说明在常用的配置文件中的重要参数。

letc/hadoop/core-site.xml

参数

说明

fs.defaultFS

NameNode URI

hdfs://host:port/

io.file.buffer.size

131072

队列文件中的读/写缓冲区的大小。

letc/hadoop/hdfs-site.xml

lNameNode配置:

参数

说明

dfs.namenode.name.dir

NameNode持久存储名称空间和事务日志的本地文件系统上路径

如果这是一个逗号分隔的目录列表,那么将在所有目录中复制名称的表,以进行冗余。

dfs.hosts/dfs.hosts.exclude

包含/摒弃的数据存储节点清单

如果有必要,使用这些文件来控制允许的数据存储节点列表

dfs.blocksize

268435456

HDFS 块大小为256MB

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值