Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >基于Ambari的大数据平台解决方案:EDP,闪亮登场!

基于Ambari的大数据平台解决方案:EDP,闪亮登场!

作者头像
create17
发布于 2025-03-17 05:45:02
发布于 2025-03-17 05:45:02
2370
举报

大家好,我是create17,见字如面。今天给大家推荐一个大数据平台产品,它的名字就是EDP,由我们团队精心打造而成。能通过 Ambari 快速可视化部署新版 Apache Hadoop,跟随 Apache 各社区版本,适配了各种国产化系统,持续迭代更新,强烈推荐!

一、前言

以前,我们可以通过 Apache Ambari + HDP 的形式部署 Hadoop 各组件。但自从 hortonworks 与 cloudera 公司合并后,hdp 就闭源了,不再更新。

在这种背景下,大家迫切希望 Ambari 能支持对 Apache Hadoop 的可视化安装部署;也希望 Ambari 能支持更多的操作系统,比如国产化操作系统等。

经过团队小伙伴们的不懈努力,我们迭代开发的基于 Apache Ambari 的大数据平台解决方案能满足大部分企业的要求。我们将产品命名为 EDP,译为「企业级数据平台」。不只是Ambari的升级,也有大数据平台各服务的生产级解决方案。

二、EDP 简介

EDP,全称是 Enterprise Data Platform,是基于 Ambari 可视化部署的 Hadoop 生态的大数据组件集合,是一套成熟的企业级大数据平台解决方案。集大数据存储、处理和分析于一体。

EDP旨在提供一种一站式的解决方案,简化了Hadoop生态中各个组件的版本匹配、安装、集群管理以及监控等工作。对于那些需要处理大规模数据集的企业来说,EDP提供了一个可靠、高效且易于管理的平台。

可代替 hdp、cdh 等产品。跟随 Apache 各社区版本,支持多种国产化系统适配等。

三、EDP 广泛的操作系统支持

EDP 支持的操作系统如下:

● 主流系统:CentOS 7/8;Rocky 8/9;Ubuntu 22/24;Debian 10/11/12。

● 国产系统:银河麒麟 Kylin V10;统信 UOS 1050a/e;OpenEuler (多个版本);中科方德;Bc-Linux (多个版本);红旗 Asianux v7。

● 定制支持:理论支持所有国产操作系统,可根据需求定制。

四、EDP 丰富的大数据组件生态

EDP 与 HDP 组件版本对比:

五、EDP 亮点介绍

1、Ambari Python3、JDK17 与 Spring6 版本发布

此次版本发布了国内首个基于Python3JDK17Spring6的 Ambari 版本。以下是技术选型的原因及优势:

为什么使用 Python3?

  • Python2 已停止维护。
  • 更多操作系统已内置Python3,Ambari 支持了Python3,能方便适配各种操作系统。

为什么选择 JDK17?

  • 目前所有基于 Ambari 的大数据发行版(包括 HDP)仍使用 JDK8。
  • Oracle 官方已于 2021 年 12 月停止对 JDK8 的公共更新和支持,这意味着不再提供安全更新和官方维护。
  • JDK17 是官方发布的长期维护版本(LTS),更安全、更稳定。

为什么选择 Spring6?

  • HDP 的 Ambari 以及社区版 Ambari 使用的是 Spring5。
  • Spring5 的相关依赖(尤其是 Spring Security)存在大量 CVE 漏洞。根据 Maven 官方仓库统计,几乎所有版本都存在安全问题。
  • 对于安全要求较高的单位,升级 Spring5 到 Spring6 是必然选择,而这需要先升级 JDK 到 17。因此,我们推出了基于 JDK17 和 Spring6 的安全版本。

2、相对比HDP,版本升级与组件新增

EDP 相比较 HDP 已有组件,都做了版本升级。此外,EDP也新增了很多组件,可谓是诚意满满:

  • Alluxio:高性能分布式文件系统
  • Celeborn:弹性大数据计算引擎
  • CloudBeaver:DBeaver 的服务器版本。
  • Dolphin Scheduler:分布式任务调度系统。
  • Doris:MPP架构实时分析数据库
  • Flink:流处理和批处理框架
  • Impala:Hadoop SQL查询引擎
  • Kyuubi:数据湖查询服务网关
  • Seatunnel:分布式数据集成平台,ELT 框架。
  • Solr:全文搜索平台
  • Superset:数据探索与BI可视化工具。
  • VictoriaMetrics:高性能时序数据库
  • Nightingale:集群告警监控工具

3、Trino 升级

升级如下:

  • Trino 升级到最新版本,使用 JDK 22。
  • 集成了 Ranger 插件(此功能已通过 Trino 社区的 review,预计会在后续版本发布)。经内部合并测试无问题,具体内容可参考 Ranger 使用文档。

4、好用的监控工具

集成了国产最好用的监控告警组件 Nightingale。Nightingale 支持国内几乎所有通讯软件的告警,使用非常方便。其前身是滴滴开源的 Open Falcon,老运维应该会很熟悉。

5、版本支持

  • 免费版本
    • 支持大部分国产操作系统(基于 Radhat 8 内核,x86_64)。
    • 集成了很多大数据组件,满足普通用户的使用需求。
  • 商业版本
    • 支持更多操作系统:主流系统:CentOS 7/8;Rocky 8/9;Ubuntu 22/24;Debian 10/11/12。国产系统:银河麒麟 Kylin V10;统信 UOS 1050a/e;OpenEuler (多个版本);中科方德;Bc-Linux (多个版本);红旗 Asianux v7。
    • 支持 ARM 架构服务器。
    • 提供以下功能和服务:
      • 使用技术答疑与指导。
      • 集群组件相关技术支持,包括组件二次开发。
      • 集群参数优化。
      • 有部署工具,可支持一键傻瓜式部署,方便快捷。
      • Nightingale 大数据组件监控仪表盘配置文件。
    • 对于有二次开发需求的用户,提供全套自动化工具,屏蔽底层复杂性,降低上手门槛。例如:
      • 修改代码或升级组件。
      • 修复组件漏洞后,一键自动拉取代码仓库、编译并部署到测试集群,无需人工干预。

六、EDP 安装包分享

EDP 现对外免费开放,用户可使用EDP安装包,在内核版本是 redhat8 ,cpu架构是 x86_64 的操作系统上部署体验,对应的部署教程如下所示:

详细安装地址:

https://www.yuque.com/create17/edp/zoluwelwrvtge3c9

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-12-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据实战演练 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Python基础教程 读书笔记 第四章 字典
>>>names=['Alice','Beth','Cecil','Dee-Dee','5551']
统计学家
2019/04/10
4920
python 字典i
字典     字典类似于你通过联系人名称查找地址和联系人详细情况的地址簿,即,我们把键(名字)和值(详细情况)联系在一起。注意,键必须是唯一的,就像如果有两个人恰巧同名的话,你无法找到正确的信息。     键值对在字典中以这样的方式标记:d = {key1 : value1, key2 : value2 }。注意它们的键/值对用冒号分割,而各个对用逗号分割,所有这些都包括在花括号中。另外,记住字典中的键/值对是没有顺序的。如果你想要一个特定的顺序,那么你应该在使用前自己对它们排序。
py3study
2020/01/13
9340
Python快速学习第三天
第三天: 字典 什么是字典? 字典是Python语言中唯一的映射类型。 映射类型对象里哈希值(键,key)和指向的对象(值,value)是一对多的的关系,通常被认为是可变的哈希表。 字典对象是可变的,它是一个容器类型,能存储任意个数的Python对象,其中也可包括其他容器类型。 字典类型与序列类型的区别: 1.存取和访问数据的方式不同。 2.序列类型只用数字类型的键(从序列的开始按数值顺序索引); 3.映射类型可以用其他对象类型作键(如:数字、字符串、元祖,一般用字符串作键),和序列类型的键不同,映射类
汤高
2018/01/11
1.1K0
Python快速学习第三天
python dict
>>> phonebook = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
py3study
2020/01/09
4260
Python基础(二)
原文首发于2019-04-15:https://maoli.blog.csdn.net/article/details/89315948
润森
2020/04/08
3980
Python基础(二)
python 基础知识第8讲:序列之字典
删除之后他会将删除的key-value 作为返回值返回 返回值是一个元组,元组中有2个元素 第一个是删除的Key 第二个是删除的value
小海怪的互联网
2019/08/23
7210
【每日一记3.16】python学习记录
   列表用【】包含,内有数据对象,每个数据对象以‘,’分隔,每个数据对象称为元素
py3study
2020/01/07
6790
【python】字典超详解
不能直接修改键, 本质是哈希表,键不能重复! 值可以是python支持的任何对象
20岁爱吃必胜客
2023/02/26
2600
Python字典知识大全
主要存储具有映射关系的数据
Python知识大全
2020/02/13
7670
Python字典知识大全
Python字典详细操作
字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:
Yuou
2022/09/26
5360
Python中字典的详细用法
#字典 #字典是Python中唯一内建的映射类型。字典中没有特殊的顺序,但都是存储在一个特定的键(key)下面,键可以是数字,字符串,甚至是元组 #一、字典的使用 #在某些情况下,字典比列表更加适用: #1、表示一个游戏棋盘的状态,每个键都是由坐标值组成的元组 #2、存储文件修改时间,用文件名作为键; #3、数字电话\地址薄 #1、使用列表创建一个电话本,(这里用字符串表示电话号码,以0开头的数字回会被编译成8进制数字) name=["A","B","C","D"] phone=["2341","910
hankleo
2020/09/17
9420
python基础—dict
d = dict(((1,‘a’),(2,‘b’))) d {1: ‘a’, 2: ‘b’}
dogfei
2020/07/31
4970
python入门到放弃(七)-基本数据类型之dcit字典
1.概述 字典是python中唯一的一个映射类型,以{}大括号括起来的键值对组成 字典中的key是唯一的,必须是可hash,不可变的数据类型 语法:{key1:value,key2:value} #扩展: 可哈希(不可变)的数据类型:int,str,tuple,bool 不可哈希(可变)的数据类型:list,dict,set #先来看看dict字典的源码写了什么,方法:按ctrl+鼠标左键点dict class dict(object): """ dict() -> new empty
老油条IT记
2020/03/20
6010
python字典详解
字典是Python中唯一的內建的映射类型,可以存储任意对象的容器,比如:字符串,列表,元组,自定义对象等;字典由键(key)与值(value)组成,基本语法如下:
py3study
2020/01/06
7730
python学习_18
字典 字典是无序的 字典的key只能是不可变对象,不能是list dict 创建字典 创建空字典,并赋值
py3study
2020/01/15
4360
Python中dict详解
#字典的添加、删除、修改操作 dict = {"a" : "apple", "b" : "banana", "g" : "grape", "o" : "orange"} dict["w"] = "watermelon" del(dict["a"]) dict["g"] = "grapefruit" print dict.pop("b") print dict dict.clear() print dict #字典的遍历 dict = {"a" : "apple", "b" : "banana", "g" : "grape", "o" : "orange"} for k in dict:     print "dict[%s] =" % k,dict[k] #字典items()的使用 dict = {"a" : "apple", "b" : "banana", "c" : "grape", "d" : "orange"} #每个元素是一个key和value组成的元组,以列表的方式输出 print dict.items() #调用items()实现字典的遍历 dict = {"a" : "apple", "b" : "banana", "g" : "grape", "o" : "orange"} for (k, v) in dict.items():     print "dict[%s] =" % k, v #调用iteritems()实现字典的遍历 dict = {"a" : "apple", "b" : "banana", "c" : "grape", "d" : "orange"} print dict.iteritems() for k, v in dict.iteritems():     print "dict[%s] =" % k, v for (k, v) in zip(dict.iterkeys(), dict.itervalues()):     print "dict[%s] =" % k, v #使用列表、字典作为字典的值 dict = {"a" : ("apple",), "bo" : {"b" : "banana", "o" : "orange"}, "g" : ["grape","grapefruit"]} print dict["a"] print dict["a"][0] print dict["bo"] print dict["bo"]["o"] print dict["g"] print dict["g"][1] dict = {"a" : "apple", "b" : "banana", "c" : "grape", "d" : "orange"} #输出key的列表 print dict.keys() #输出value的列表 print dict.values() #每个元素是一个key和value组成的元组,以列表的方式输出 print dict.items() dict = {"a" : "apple", "b" : "banana", "c" : "grape", "d" : "orange"} it = dict.iteritems() print it #字典中元素的获取方法 dict = {"a" : "apple", "b" : "banana", "c" : "grape", "d" : "orange"} print dict print dict.get("c", "apple")          print dict.get("e", "apple") #get()的等价语句 D = {"key1" : "value1", "key2" : "value2"} if "key1" in D:     print D["key1"] else:     print "None" #字典的更新 dict = {"a" : "apple", "b" : "banana"} print dict dict2 = {"c" : "grape", "d" : "orange"} dict.update(dict2) print dict #udpate()的等价语句 D = {"key1" : "value1", "key2" : "value2"} E = {"key3" : "value3", "key4" : "value4"} for k in E:     D[k] = E[k] print D #字典E中含有字典D中的key D = {"key1" : "value1", "key2" : "value2"} E = {"key2" : "value3", "key4" : "value4"} for k in E:     D[k] = E[k]
bear_fish
2018/09/20
8800
python的字典学习(六)
本博客主要说明python的字典基本的使用,在python中,字典使用的关键字是dict,使用的是{},下面我们通过一个具体的代码来看python字典类对象的功能和字典的帮助的详细信息,见实现的代码:
无涯WuYa
2018/10/25
1.3K0
手撕Python之散列类型
数据顺序发生变化,每个数据的下标也随之变化,如何保证数据顺序变化前后能使用同一种方法查找数据呢?
凯子坚持C
2024/09/23
1110
手撕Python之散列类型
Python字典方法总结
    L.clear()-> None.  Remove all items from L
py3study
2020/01/09
3830
Python字典方法
2、copy 方法copy返回一个新字典,其包含的键值对与原来的字典相同(这各方法是浅复制,因为值本身是原件,而非副本)
王大力测试进阶之路
2022/06/07
3770
相关推荐
Python基础教程 读书笔记 第四章 字典
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档