一文读懂 Kubernetes 大数据平台-CloudEon

2023-04-28 15:45:15 浏览数 (1)


Hello folks,我是 Luga,今天我们来分享一下关于 Kubernetes 大数据平台管理工具-CloudEon。作为一款基于 Kubernetes 大数据平台,CloudEon 旨在为管理 Kubernetes 大数据资源提供一种更直观和可视化的方式。

01

CloudEon 是什么?

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

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

CloudEon 是一款基于 Kubernetes 的开源大数据平台,旨在为用户提供一种简单、高效、可扩展的大数据解决方案。该平台致力于简化多种大数据服务在 Kubernetes 上的部署和管理,如 Hadoop、Doris、Spark、Flink、Hive 等,能够满足不同规模和业务需求下的大数据处理和分析需求。

关于 CloudEon 平台的简介,可观看如下视频:

02

CloudEon 特性

基于 CloudEon 平台,我们能够实现如下,具体:

1、快速搭建大数据集群

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

2、容器化运行大数据服务

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

3、支持监控告警等功能

基于CloudEon 平台可以帮助用户实时监控集群运行状态,及时发现和解决问题。

4、支持配置修改等功能

使用户能够更加灵活地管理和配置自己的大数据集群。

5、自动化运维

降低集群管理的难度和人力成本,提高集群的可用性和稳定性。

6、可视化管理界面

用户能够更加直观地管理和监控自己的大数据集群。

7、灵活的扩展性

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

03

CloudEon 参考架构模型

CloudEon 平台整体架构可参考如下所示:

CloudEon所涉及技术栈,具体可参考如下所示:

1、后端技术栈

springboot-v2.7.4

lombok-v1.18.12

hutool-v5.8.9

hibernate-v5.6.11

freemarker-v2.3.31

2、前端技术栈

react

ant-design

04

CloudEon 安装部署

在使用 CloudEon 平台之前,首次确保满足如下前置条件:

1、Kubernetes 环境,可以使用 Kubekey / K3D / Minikube 等快速搭建

2、SSH 服务,CloudEon 需要访问 Kubernetes 集群中节点的 SSH 服务

针对 CloudEon 平台的部署,主要分为本地与 Docker 部署,具体可参考如下所示:

1、基于 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

2、基于本地部署

通常,在本地部署,需要满足如下环境,具体:

  • JDK 1.8
  • MySql5.7 (可选,内置H2)
  • Cloudeon 安装包(cloudeon-assembly-*-release.zip)
  • Kubernetes 1.21

基于本地部署相对来说也较为简单,将压缩包下载到本地,然后解压运行即可,具体:

代码语言:javascript复制
unzip cloudeon-assembly-*-release.zip
代码语言:javascript复制
├── bin               # 执行脚本目录
├── conf            # 配置文件目录
├── script          # 临时脚本
├── lib               # 项目依赖目录
├── stack            # 大数据服务安装包插件
└── LICENSE

此时,启动应用即可,具体可参考如下所示:

代码语言:javascript复制
${CLOUDEON_HOME}/bin/server.sh start       # 启动
${CLOUDEON_HOME}/bin/server.sh stop        # 停止
${CLOUDEON_HOME}/bin/server.sh status      # 查看状态
${CLOUDEON_HOME}/bin/server.sh restart     # 重启

总结

CloudEon 是一款基于 Kubernetes 的云原生大数据平台,旨在为用户提供一种简单、高效、可扩展的大数据解决方案。如果 CloudEon 项目对您有帮助,请在 Github 搜索 CloudEon 支持一下。

CloudEon 遵循 Apache-2.0 开源协议,代码完全开源,如果您想为开源社区做出贡献,非常欢迎加入 CloudEon 项目,与其他开发者一起共同推动项目的发展。

Github:https://github.com/dromara/CloudEon

Gitee:https://gitee.com/dromara/CloudEon

0 人点赞