前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >轻量级云原生大数据平台"CloudEon"正式开源

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

原创
作者头像
CloudEon开源
修改2023-04-30 16:19:43
9220
修改2023-04-30 16:19:43
举报
文章被收录于专栏:大数据&云原生大数据&云原生

随着云原生技术的发展,越来越多的业务场景需要使用容器来部署和管理应用程序,而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,执行以下命令可以一键安装:

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

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

代码语言:javascript
复制
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 的空文件,将以下内容填写完整,然后粘贴到到文件中

代码语言:javascript
复制
# Http server port
server.port=7700

spring.main.banner-mode=log

# db
spring.jpa.open-in-view=false
spring.jpa.hibernate.ddl-auto=none
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/cloudeon?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=root


####### flyway properties #######
spring.flyway.enabled=true
spring.flyway.clean-disabled=true
spring.flyway.validate-on-migrate=true

# Configuration for uploading files.
spring.servlet.multipart.enabled=true
spring.servlet.multipart.file-size-threshold=0
spring.servlet.multipart.max-file-size=209715200
spring.servlet.multipart.max-request-size=209715200

# temporary skip circular references check
spring.main.allow-circular-references=true

####### cloudeon properties #######
cloudeon.stack.load.path=${cloudeon.home.path}/stack
cloudeon.remote.script.path=${cloudeon.home.path}/script
cloudeon.task.log=${cloudeon.home.path}/log
cloudeon.work.home=${cloudeon.home.path}/work

logging.config=${cloudeon.home.path}/conf/logback.xml

配置文件挂载

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

代码语言:javascript
复制
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/

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 特性
  • 整体架构
  • 实现思路
  • 轻量级应用
  • 部署前提
    • Kubernetes环境准备(必须)
      • SSH服务准备(必须)
        • 数据库环境准备(非必须)
        • Docker部署
          • 配置应用数据库
            • 配置文件挂载
              • 安装高可用HDFS使用示例:
              • CloudEon开源计划
              • 参与贡献
              相关产品与服务
              容器服务
              腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档