一台虚拟机基于docker搭建大数据HDP集群的思路详解
作者:叫我阿柒啊 发布时间:2022-12-21 06:54:51
前言
好多人问我,这种基于大数据平台的xxxx的毕业设计要怎么做。这个可以参考之前写得关于我大数据毕业设计的文章。这篇文章是将对之前的毕设进行优化。
个人觉得可以分为两个部分。第一个部分就是基础的平台搭建。例如Hadoop集群、Kafka集群。
第二个部分就是上层应用的建设,例如基于大数据平台的数据分析,以及大屏展示之类的可视化应用。前者提供了基础平台能力,让整个设计加入大数据元素;后者提供了上层应用能力,主要是让别人明白你利用大数据平台做了什么。
前些日子闲得无聊,在一台虚拟机上基于docker容器,使用Ambari搭建了一个HDP版本的Hadoop大数据集群。所以就结合这篇文章,对第一部分进行阐述,提供一个新的思路。
思路
在集群搭建的过程中,遇到了形形色色的问题。在问题里去思考、去查阅资料。这是一个蛮有意思的事情。
在上一篇文章也写了,我的大数据毕业设计的Hadoop平台搭建部分,是基于三台虚拟机实现的。当时使用的Apache版本的Hadoop。
Apache版本的缺点是没有一个统一的管控平台。
前期的安装需要在每个节点手动分发安装包、执行启动命令。后期的节点维护、服务启停都需要去后台执行命令。
加上三台虚拟机,每次启动费个老劲。所以我就寻思用Ambari来搭建一个HDP版本的、一个虚拟机就能搞定的、基于docker容器的Hadoop集群。
整体架构
整个架构设计和技术选型,都是根据个人需求选择,可以参考。
1. 技术选型
宿主机和docker的操作系统选择的是centos7。我尝试了centos8,不太行。主要
docker:容器,代替虚拟机节点搭建集群docker-compose:编排容器。对所有容器进行管理、启动Ambari:2.7.3版本。可视化安装、监控、管理所有集群。HDP:3.1版本。其中包括Hadoop、HDFS、Yarn、Spark、Kafka、Zookeeper等服务。MySQL:ambari元数据库。后面应用也会用到。
除此之外,还需要shell编写一些脚本。
2. 架构设计
平台一览
这就是Ambari的首页仪表盘的部分,里面可以看到HDFS的存储,内存使用量指标。
Hadoop集群
Hadoop集群一共用了四个节点。NameNode,一个备用的NameNode,两个DataNode。
点击右侧的NameNode UI可以看到Hadoop集群的UI界面。
集群节点
这里的Hosts指的就是所有集群节点的个数,也是docker节点的个数。这里因为内存有限,所以一个docker启动了好几个服务。
例如这个kafka1节点,即安装了Kafka,又安装了Zookeeper。
环境准备
我在实践docker搭建集群的时候,90%的时间都花费在了环境准备上。同样,遇到的90%的问题也都在这个步骤上。
1. 虚拟机准备
我自己的架构是一台虚拟机,然后其他节点都是用docker代替的。docker你可以理解为轻量虚拟机。
我选择docker的理由:
觉得挺有意思,想挑战一下自己的软肋。*一个虚拟机可能需要占用20G存储,一个docker只占用几百MB**。只需要启动一台虚拟机即可。docker作为应用服务运行在这台虚拟机上。
其实,这里我是建议使用3 ~ 4台虚拟机的。因为docker本身对于很多人来说是有一定难度的,再加上需要将docker构建成节点,是需要花费很多时间的。
2. docker容器准备
如果说是头铁非要用docker,那么可以看看这一步。我在这一步构建节点docker镜像的时候,反复构建了很多次。
dockerfile
我们要自己编写dockerfile几月centtos7来构建docker容器的系统镜像。而且,docker容器代替了虚拟机,那么docker容器里的环境就要和虚拟机一样。所以dockerfile需要满足以下条件。
开放22端口,启动sshd服务配置jdk、scala生成密钥,配置ssh免密登录python2.7(centos7自带)yum安装一些软件,例如chrony等配置hosts
在编写dockerfile阶段,查阅了很多资料,反复构建,尝试了很多次才成功。
docker-compose
docker-compose是docker容器的编排工具,需要编写一个yaml配置文件,通过start/stop来启动/停止所有的容器。
这个centos_hdp就是我自己构建的镜像,ports来开放容器的端口,volumes来挂载宿主机的目录。
3. 下载安装包
我在2016年毕业设计中,所搭建的大数据平台的各个组件都是独立下载安装的。Hadoop的安装包需要去Hadoop官网下载,Kafka安装包需要去Kafka官网下载。想安装哪个版本就安装哪个版本。
基于Ambari安装,所有组件都包含在HDP安装包里,不过这个安装包挺大的,10G。
ambari-2.7.3.0-centos7.tar.gz
HDP-3.1.0.0-centos7-rpm.tar.gz
HDP-UTILS-1.1.0.22-centos7.tar.gz
HDP-GPL-3.1.0.0-centos7-gpl.tar.gz
上面就是所需安装包的列表,下载到之后,放到本地搭建的http服务器中,在ambari安装中时使用。
来源:https://www.cnblogs.com/seven0007/p/hdpCluster.html


猜你喜欢
- 百度经过将近一个月的“调整”,终于在昨天即3月13号对网站收录、排名进行了大更新。论坛里又出现了很多问百度更新网站被k,关键字排名下降等等问
- 每当谈起SEO这个词,很多身边做技术的朋友就会用疑惑的眼光去看。总是把它当成是一个高端的技术,搜索引擎优化其实也只是伴随搜索引擎高速发展而萌
- 并不是所有MySQL都运行在Linux下,windows下也需要做例行备份,下面是用bat脚本做自动化备份的例子,大家可以参考下。remre
- 2008年以前,网民都喜欢玩联众和QQ游戏等休闲小游戏,自从开心网异军突起后,他们又迷上了“偷菜”、“种菜”与“停车”。随着“私家车”的爆增
- 一、摘要该文主要介绍了如何在虚拟机上安装ubuntu,和安装VMWare Tools设置共享文件夹,最后对ubuntu做了简单的介绍。二、实
- 今天安装redis出现些之前安装不曾出现错误,一并在此做个记录一、安装redis及出现错误首先下载redis,官方下载地址页面:https:
- 你可能知道Google +1按钮已经对网站站长开放使用,网站所有者和发布者他们的内容中包含了它,争先使用这新功能。为什么不?它影响你网站在搜
- 《商业大亨》的“赢在大亨挑战赛”今天将产生第3个周冠军,周冠军除了可以获得丰厚奖品外,还将有资格参加单服月晋级赛。想参加月晋级赛的大亨们可要
- #cccccc 1px dotted; TABLE-LAYOUT: fixed; BORDER-TOP: #cccccc 1px dotte
- 北京时间11月18日消息,国外著名科技博客TechCrunch发文称,据消息人士透露,MySpace正在洽谈收购在线音乐播放网站iMeem,
- UCenter Home是Comsenz公司发布的一款SNS建站系统,目前最新版本是1.5。本期笔者就为大家详细介绍下UCenter Hom
- 10月13日消息,记者获悉,第三方支付服务商——首信易支付 (PayEase) 近日荣获 &
- 我们的所有托管计划都会含有一些免费的server-side applications,你可以在建设网站及客户化你的网站时使用它们。可以通过访
- 品牌博客成功的三进策略:一、人脉进门所有成功博客的身边都有一个很强大的由其他博客撰写者组成的支持团。网络在很大程度上可以从很多方面帮助你,这
- 写在前面标题党是网络上一小撮利用各种颇具创意的标题吸引眼球,以达到各种个人目的网民们的自发性组织。其主要行为简而言之即发帖的标题严重夸张,帖
- 为了完成这个任务,在网上查了好多资料,要么是讲得不清楚,要么是软件版本太老,走了不少弯路,在这里以本人的实际操作为例,为大家说一下整合的过程
- 作者:Matthew Coers译者:Sheneyan(子乌)时间:2006.07.12英文原文: Search Engine Optimi
- 最近总是有用户向我要求“怎么不在软件里加点VIP的视频?”“可以看特别的频道或电影吗”诸多这样的问题。存在即是合理,想必做视频网站永远都无意
- 最近听到很多站长都在说:“做完这个月就辞职,专心在家做站,争取的XX月内赚到多少多少”,同样的也会听到很多站长在说:“拿完google这个月
- 前言ImageMagick是一个很好用的对图片进行格式转换、缩减大小、裁剪等等进行操作的工具,在Windows和Linux系统都可以安装,因