> 搭建 > 基于Docker容器的Hadoop架构平台搭建,如何在文档中部署hadoop2.4集群

基于Docker容器的Hadoop架构平台搭建,如何在文档中部署hadoop2.4集群

基于Docker容器的Hadoop架构平台搭建

如何在docker中部署hadoop2.4集群Docker为隔离和打包hadoop相关应用程序提供了一个完美的方法。该公司还在研究Slider框架和Docker如何合作来简化这种部署。目前,霍顿工厂的一个客户已经在考虑如何在自己的数据平台上支持Docker和HDP。他们使用云中断。

基于Docker容器的Hadoop架构平台搭建

如何基于Docker快速搭建多节点Hadoop集群

机器直接构建Hadoop集群是一个相当痛苦的过程,对初学者来说尤其如此。 在他们开始运行字数统计之前,他们可能会被这个问题撕成碎片。 不是每个人都有几台机器,对吗 如果您有一台可以与其他人竞争的虚拟机,您可以尝试使用多台虚拟机进行构建。 我的目标是,1:首先,必须有一个可以安装在虚拟机上的Centos7操作系统。 2:将码头工人安装在中心7。码头工人的版本是1.8.2。安装步骤如下:安装开发版本的百胜安装-1.8.2-10。EL7.CentOS在安装时可能会报告错误,需要删除此依赖关系!Docker的核心特性之一是能够将包括Hadoop在内的任何应用程序打包成Docker映像。 本教程介绍了使用Docker在单台计算机上快速构建多节点Hadoop集群的详细步骤。 在发现当前Docker项目中存在的问题后,作者开发了一个几乎最小化的Hadoop映像。简而言之,它是一种应用层协议,允许超文本标记语言文档从网络服务器传输到客户端浏览器。 Http是无状态协议,也就是说,同一个客户端的请求与最后一个请求没有对应关系。对于超文本传输协议服务器来说,它不知道这两个请求来自同一个客户端,直接通过机器构建Hadoop集群是一个相当痛苦的过程,特别是对初学者来说。 在他们开始运行字数统计之前,他们可能会被这个问题撕成碎片。 不是每个人都有几台机器,对吗 如果您有一台可以与其他人竞争的虚拟机,您可以尝试使用多台虚拟机进行构建。 我的目标是,

如何在文档中部署hadoop2.4集群

如何在docker中部署hadoop2.4集群Docker为隔离和打包hadoop相关应用程序提供了一个完美的方法。该公司还在研究Slider框架和Docker如何合作来简化这种部署。目前,霍顿工厂的一个客户已经在考虑如何在自己的数据平台上支持Docker和HDP。他们使用云中断。

基于Docker容器的Hadoop架构平台搭建

如何基于Docker快速搭建多节点Hadoop集群

基于Docker容器的Hadoop架构平台搭建范文

本文的目录导航:

[标题]讨论码头工艺的Hadoop性能优化方法??

[第1章]码头工艺Hadoop性能优化研究简介

[第二章]码头工人技术相关知识背景介绍

[3.1-3.2]系统环境构建和内存配置分析

[3.3-3.5]基于码头集装箱的Hadoop架构平台构建

[第五章]纱线性能优化研究

[第6章]异构系统中的数据安全

[第7章]码头工艺中Hadoop性能的优化结论和参考

3.3基于码头集装箱构建Hadoop架构平台

3.3.1在码头建造

Hadoop平台Docker最初是点云公司的一个项目。它是在2013年初开发的,是一个开源项目。

它基于谷歌引入的围棋语言。

Redhat在其RHEL6.5中集中支持Docker谷歌还在其PaA产品中广泛使用,以实现轻量级操作系统虚拟化解决方案,这是Docker project (1)字数基准测试代表了一个典型的用例,是一个CPU密集型的Hadoop标准基准测试。的最初目标。

码头工人是基于Linux容器(LXC)和其他技术。为了防止用户关注集装箱的管理并使操作更容易,码头工人在LXC的基础上进一步包装集装箱。

通过这种方式,用户可以像快速轻量级虚拟机一样简单地操作Docker的容器。

操作系统中基于虚拟化的容器将共享系统中的任何应用程序。这种方法不仅标准化了每个应用程序,还允许应用程序在任何Linux环境中运行。例如,实验系统是一个Linux环境,在实现文件系统存储时,Linux系统采用两层结构。

Docker container的一个特点是它的便利性,这使得Docker能够在多台机器上运行,并且能够立即启动程序并更有效地利用内存。

Hadoop目前广泛用于大数据分析。

Docker是一种新的容器技术,是Apache Hadoop的新快速启动选项。在云或集群中的Docker环境中构建Hadoop集群是一种趋势。

然而,如何在Docker环境中更好地利用硬件资源和提高Hadoop性能是用户面临的一个挑战。

本章研究了Docker环境下Hadoop的内存配置,分析了Hadoop在改变Hadoop内存配置时的性能。本文选择了两种不同的应用程序(CPU密集型应用程序——字数统计和内存密集型应用程序——万亿排序),并根据CPU和内存使用情况来衡量它们的资源使用情况。本文使用Docker 1 . 8 . 2版和hadoop 2.7.0版,并使用Dockerfile方法部署Hadoop 2 . 7 . 0

用Dockerfile方法构建Hadoop映像时,配置接口、端口和其他环境更加方便。主要任务如下:

(1)下载基本系统映像。因为Hadoop需要部署在分布式环境中,Docker需要通过SSH服务将密钥文件配置为参数文件,并在创建时将其存储在Docker容器中。

(2)使用Dockerfile的内置命令下载并安装软件。2个配置文件的主要安装是首先安装Java JDK,然后下载和解压缩Hadoop。

(3)用Dockerfile的内置命令加载相应的配置文件。首先,使用Dockerfile将配置文件发送到Docker容器。接下来,配置SSH环境,以便容器可以在打开Docker时自动打开Hadoop。最后,公开网络端口号。

(4)最后,在Docker中完成Hadoop映像的构建:执行Docker Build-TseSiquerEiq/Hadoop-Docker:2 . 7 . 0指令。

3.3.2内存优化的原因

Apache Hadoop是地图缩减最著名的实现之一,广泛应用于集群和云环境。

Docker技术可以轻松地创建、部署、控制和管理容器,因此基于容器的云计算正在成为一种趋势。通过将软件封装在一个完整的文件系统中,Docker容器包含软件运行所需的所有内容。

映射/简化是一种可用于数据处理的编程模型。

映射/缩减基本上并行运行,因此它为分布式平台上的数据并行处理提供了大量有效的解决方案。它的优点是并行处理大规模数据集。因此,映射/缩减可以生成大规模数据,分析任务可以通过足够的计算机分配到任何数据中心。

Docker技术的优势将使容器易于创建、部署、控制和管理。因此,云计算在码头工人中的应用越来越广泛。Docker容器包含软件运行的所有必要条件,如代码、运行时间、系统工具和系统库。这确保了无论容器的外部运行环境如何,软件总是以相同的方式运行。

对于应用程序开发人员和系统用户来说,实现Hadoop的最佳性能是一项挑战。研究人员已经表明,Hadoop配置在地图缩减程序的性能中起着重要的作用。适当的参数配置可以减少作业的执行时间,并有效利用集群资源来提高作业的吞吐量。然而,在调整Hadoop集群方面存在许多挑战:

(1)Hadoop的性能可能会受到堆栈的每个组件(Hadoop、JVM、操作系统、网络基础架构、底层硬件和可能的BIOS设置)的影响。

Hadoop有大量的配置参数,这对Hadoop的性能有一定的影响。

(2)配置取决于应用程序,即优化的配置是特定于应用程序的特性和输入数据集。

CPU密集型应用程序、内存密集型应用程序、输入/输出密集型应用程序和网络密集型应用程序在优化配置方面有所不同。(3)Docker为创建Hadoop集群带来了灵活性。

通过更改Hadoop的内存配置,物理机器可以运行不同数量的Hadoop节点。这给优化Hadoop集群的配置带来了复杂性。由于Hadoop和Docker的流行,本文研究了Docker环境下的Hadoop配置。内存资源是运行地图缩减作业的关键资源。本文通过改变Hadoop的内存配置,研究内存设置对映射减少作业和资源利用率的影响。对于中央处理器、输入/输出、网络和码头集装箱设置,本文仅使用默认配置。

3 . 3 . 3 Hadoop的默认内存配置参数

Hadoop技术作为云计算技术的开源实现,在云计算技术的发展中发挥着非常重要的作用。

目前,大多数企业和科研都采用Hadoop作为云计算平台。

Hadoop凭借其简单的并行编程模型、巨大的数据存储能力和高效的计算能力,为用户提供了良好的客户体验。在Hadoop集群中,平衡内存、CPU和磁盘的使用非常重要,这样处理就不会受到任何集群资源的限制。

Hadoop提供了一组默认配置文件。表3.4和3.5显示了与内存相关的参数及其默认值。

3.4实验测试和结果分析

3.4.1实验方案

本实验的方案是通过改变Docker容器中Hadoop的配置参数来分析Hadoop和默认配置参数之间的性能比较,以验证内存配置参数对其性能的影响。

实验选择了两个典型的基准来评估Hadoop的性能:

[51]

(2)Tera排序基准,代表另一个典型用例,主要是内存密集型Hadoop标准基准。

在字数统计实验中,一些RFC文件(1112个文件和53MB)的文件名匹配“rfc1 *”。txt”和被选择作为输入数据集。

万亿分类实验中的输入数据集大小为10GB,由万亿级应用程序生成。

在实验中,操作系统为纱线和HDFS预留了6GB的内存,所有集群节点都将有90 GB的内存。实验中考虑了五个记忆参数,如表3.6、表3.7、表3.8和表3.9所示。

在表3.6中,mapreduce.map.memory.mb和mapreduce.reduce.memory.mb已设置为2048MB,而thread . nodemanager . resource . memory-MB的值从10GB到30GB不等。在实验中,聚类大小设置为3,实验结果是五次运行结果的平均值。

3.4.2纱线.节点管理器.资源.内存-mb对字数的影响

参数thread . nodemanager . resource . memory-MB表示可以为任务容器分配的物理内存量。在实验中,这台机器有96 GB的内存。假设参数为CHINE。NODE MANAGER。资源。内存-内存是内存,集群大小是内存,剩余的存储是:

内存:

内存= 96GB-NM×DN,其中内存用于操作系统、JVM、纱线和HDFS。字数实验结果如图3.4所示。mapreduce.map.memory.mb和mapreduce.reduce.memory.mb的值设置为1024MB。图3.4显示,当参数CHANNE . nodemanager . resource . memory-MB的值设置为4096MB时,Hadoop的性能较低,当CHANNE . nodemanager . resource . memory-MB的值从8G变为30G时,性能下降非常缓慢。

执行字数统计时,CPU资源是一个瓶颈。

字数的平均中央处理器利用率如图3.5所示。通过分析图3.5中的CPU利用率,发现当纱线的值。NODE MANAGER。资源。内存-兆字节设置为4096兆字节,CPU利用率约为53%。在其他实验案例中,平均CPU利用率超过96.7%。当纱线.节点管理器.资源.内存-MB的值设置为4096MB时,由于内存资源不足,Hadoop无法为作业创建足够的映射和减少任务,因此其性能相对较低。在其他实验案例中,Hadoop由于CPU资源短缺和内存增加而无法添加映射和减少任务,因此性能无法提高。

3.4.3纱线.节点管理器.资源.内存-mb对特拉排序[的影响/s2/]

万亿排序是内存密集型的,因此万亿排序实验中为HDFS保留的内存应该大于字数统计实验中保留的内存。在实验中,纱线、节点管理器、资源、内存mb的值从4GB到25GB不等。实验结果如图3.6所示,其中mapreduce.map.memory.mb和mapreduce.reduce.memory.mb的值设置为1024MB。

除了内存之外,CPU资源对万亿排序也很重要。特拉排序在地图任务完成之前是CPU密集型和内存密集型的,但在此之后只是内存密集型的。因此,万亿排序作业执行周期分为两个部分,同时分析了CPU和内存的使用情况。

地图任务完成之前的时期称为地图阶段,地图任务完成之后的时期称为缩减阶段。

Tera Sort的平均内存使用如图3.7所示。

Tera排序的平均CPU利用率如图3.8所示,在映射阶段和减少阶段运行Tera排序的线程数如图3.9所示。通过分析图3.8和3.9,发现在映射阶段,中央处理器利用率相对较高。随着yam . nodemanager . resource . memory-MB的值从6144MB更改为25600MB,在映射阶段运行的线程数量会增加。

当CHANNE . nodemanager . resource . memory-MB的值设置为4096 MB时,内存资源不足以创建足够的映射和减少任务,因此性能无法达到最佳值。随着内存资源的增加,创建了更多的映射和减少任务,更多的线程在CPU上运行。随着线程数量的增加,线程的切换会导致开销的增加和Hadoop性能的下降。

3.4.4实验结果

在本节中,我们在Docker环境中测试了不同的Hadoop内存配置,并讨论和分析了内存参数和Docker容器数量对Hadoop性能的影响。

实验结果表明,当内存成为节点的瓶颈时,可以通过增加分配给节点的内存来提高Hadoop的性能。

但是,当内存不是瓶颈时,增加分配给节点的内存可能会导致性能下降。通过分析内存和中央处理器的使用情况,发现随着内存资源的增加,将会创建更多的映射和减少任务,并在中央处理器上运行更多的线程。

实验结果表明,纱线参数。NODE MANAGER。资源。内存宏块对占用CPU资源的应用程序的性能没有很大影响,但是内存密集型应用程序对其性能有很大影响。测试结果还表明,当纱线的值。NODE MANAGER。资源。内存-兆字节大于10GB,mapreduce.map.memory.mb和mapreduce.reduce的值越大,性能越好。

3.5本章摘要[/s2/]

本章首先介绍和分析了当前流行的码头集装箱技术和Hadoop平台。根据实验室现有的硬件资源,通过Docker容器技术配置和镜像环境和文件。

Docker容器负责Hadoop的节点参数配置,而Hadoop平台作为Docker的镜像运行,Hadoop分布式平台架构部署在Docker容器中。然后,设计了一个实验方案,通过改变Hadoop的默认内存参数配置来比较和分析Hadoop的性能。本章研究Docker环境下Hadoop的内存配置,分析Hadoop在改变Hadoop内存配置时的性能,并根据CPU和内存使用情况衡量其资源使用情况。本文做了大量的测试,测试结果表明,与默认的Hadoop配置参数相比,配置参数的适当改变可以提高Hadoop的性能。