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