写点什么

轻量级云原生大数据平台"CloudEon"正式开源

作者:CloudEon开源
  • 2023-05-07
    广东
  • 本文字数:2411 字

    阅读完需:约 8 分钟

轻量级云原生大数据平台"CloudEon"正式开源

随着云原生技术的发展,越来越多的业务场景需要使用容器来部署和管理应用程序,而 Kubernetes 作为容器编排平台的事实标准,自然也受到了越来越多的关注和使用。


但是如果想在 Kubernetes 上部署和运维大数据服务是有比较高的学习成本,需要专业的运维人员来进行管理和维护,在这种情况下,我们开发出 CloudEon 平台,致力于简化多种大数据服务在 Kubernetes 上的部署和管理,同时还能更好地利用 Kubernetes 的资源调度和管理能力,使用户更加简单、方便、高效地搭建和管理大数据集群。


特性

  • 快速搭建大数据集群:在 Kubernetes 上快速搭建部署大数据集群,省去了手动安装和配置的繁琐过程

  • 容器化运行大数据服务:大数据服务以容器方式运行,服务的部署和管理更加灵活和便捷,更好地利用 Kubernetes 的资源调度和管理能力

  • 支持监控告警等功能:帮助用户实时监控集群运行状态,及时发现和解决问题

  • 支持配置修改等功能:使用户能够更加灵活地管理和配置自己的大数据集群

  • 自动化运维:降低集群管理的难度和人力成本,提高集群的可用性和稳定性

  • 可视化管理界面:用户能够更加直观地管理和监控自己的大数据集群

  • 灵活的扩展性:提供插件机制,让用户可以自定义拓展和安装更多的大数据服务

整体架构



实现思路



轻量级应用

CloudEon 是一个轻量级应用,没有采用分布式架构,本质上只是一个 Kubernetes 的客户端,负责将用户的操作转换为 Kubernetes 的资源或指令。例如,它可以调度一个大数据服务启动(如 Doris)、停止某个服务角色(Dori Be)或让某个服务挂掉后自动拉起,这些都是由 Kubernetes 自行调度完成的。 由于 CloudEon 只是一个单体应用,安装部署非常简单。

部署前提

在部署 CloudEon 前, 所需要准备的一些先决条件。

Kubernetes 环境准备(必须)

CloudEon 需要一个可访问的 Kubernetes 集群,目前已知支持的版本是 1.21+ ,如果没有 Kubernetes 环境可以使用 kubekey 快速搭建一个。 也支持在 k3s 上部署。 container runtime 目前只支持 docker,后续会逐渐适配,欢迎大家一起来完善。

SSH 服务准备(必须)

CloudEon 需要访问 Kubernetes 集群中节点的 SSH 服务,所以必须保证网络可通

数据库环境准备(非必须)

CloudEon 默认使用 H2 作为内置数据库,当然也支持 Mysql 作为数据库,可以通过修改 application.properties 文件进行配置


Docker 部署

Cloudeon 在 dockerhub 中的公共镜像地址为 peterpoker/cloudeon。如果你本地已经安装了 docker,执行以下命令可以一键安装:

docker run -p 7700:7700 peterpoker/cloudeon
复制代码

如果国内访问比较慢,也可以用

docker run  -p 7700:7700  --name cloudeon --rm registry.cn-hangzhou.aliyuncs.com/udh/cloudeon:1.0.0
复制代码

镜像启动成功后,在浏览器中访问 http://docker_ip:7700 进入登录页。

镜像中提供初始账户,用户名 admin 密码 admin

配置应用数据库

在默认情况下,Cloudeon 使用内置的 H2 作为应用程序数据库。 如果将 Cloudeon 用于生产环境,建议使用 MySQL 作为应用程序数据库。配置步骤如下: 新建一个名为 application.properties 的空文件,将以下内容填写完整,然后粘贴到到文件中

# Http server portserver.port=7700
spring.main.banner-mode=log
# dbspring.jpa.open-in-view=falsespring.jpa.hibernate.ddl-auto=nonespring.datasource.driver-class-name=com.mysql.cj.jdbc.Driverspring.datasource.url=jdbc:mysql://localhost:3306/cloudeon?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghaispring.datasource.username=rootspring.datasource.password=root

####### flyway properties #######spring.flyway.enabled=truespring.flyway.clean-disabled=truespring.flyway.validate-on-migrate=true
# Configuration for uploading files.spring.servlet.multipart.enabled=truespring.servlet.multipart.file-size-threshold=0spring.servlet.multipart.max-file-size=209715200spring.servlet.multipart.max-request-size=209715200
# temporary skip circular references checkspring.main.allow-circular-references=true
####### cloudeon properties #######cloudeon.stack.load.path=${cloudeon.home.path}/stackcloudeon.remote.script.path=${cloudeon.home.path}/scriptcloudeon.task.log=${cloudeon.home.path}/logcloudeon.work.home=${cloudeon.home.path}/work
logging.config=${cloudeon.home.path}/conf/logback.xml
复制代码

配置文件挂载

运行以下命令,使用新建的 application.properties 配置启动镜像

docker run -d --name cloudeon -v your_path/application.properties:/usr/local/cloudeon/conf/application.properties -p 7700:7700 peterpoker/cloudeon
复制代码


安装高可用 HDFS 使用示例:







CloudEon 开源计划

  • CloudEon 目前已实现在 k8s 上管理部署大数据服务,包括节点管理、服务角色的重启、启动、停止等操作,还可以进行服务的配置、删除、告警提示以及实时日志查看等功能。支持在 Kubernetes 上运行多种服务,例如 hdfs、yarn、zookeeper、doris、hive、spark、dolphinscheduler、hbase、kafka、prometheus、grafana、alertmanager 等。

  • 不久将支持 kyuubi、Arctic、streampark、dinky、trino、alluxiio、iotdb、iceberg、kylin、seatunnel 等服务在 Kubernetes 上运行

  • 未来将支持包括服务日志分析模块、RSS 支持、集群健康分析、集群巡检功能、构建 kerberos、openldap、ranger 安全体系等功能。此外,还支持大数据服务客户端一键下载功能以及可视化在线 SQL 编辑器,并支持 ARM 平台

参与贡献

欢迎提交 pr 到 Gitee 或者 Github 参与贡献。

如果您有任何问题可以提交 issue 到 Gitee 或者 Github。

如果觉得 CloudEon 对您有帮助,请在 Gitee 和 Github 点一下 star⭐️,谢谢!


【Gitee 地址】:https://gitee.com/dromara/CloudEon

【Github 地址】:https://github.com/dromara/CloudEon

【CloudEon 官网】:https://cloudeon.top/

【CloudEon 文档】:https://docs.cloudeon.top/en/latest/

用户头像

还未添加个人签名 2019-06-23 加入

还未添加个人简介

评论

发布
暂无评论
轻量级云原生大数据平台"CloudEon"正式开源_大数据_CloudEon开源_InfoQ写作社区