数据中台到底如何落地实现【含架构图及代码】

article/2025/10/17 10:17:50

数据中台已经被很多公司应用,数据中台资料也不少,可是作为程序员更关心的是该如何代码实现。下面是中台相关代码实现及说明。

数据中台说明:


Todo:

  • CDH, hbase,zk 部署和配置。代码发布。

  • presto , redis集群,cachecloud 部署。

  • Hive 开发的流程。azkaban安装部署。

  • Doubble 服务安装部署。

  • MySQL的在模块里的配置。

项目说明

项目整体架构
数据服务中心管理了所有业务服务的数据访问,业务层对外提供的是dubbo接口或Rest风格接口,路由网关负责对外接口的管理,是的web应用或其他三方应用的访问具有可控性




big-cbr(报表系统)
数据报表系统,报表元数据存储在数据库,可以通过前端进行动态配置报表的样式和数据查询功能


big-dbms(数据库管理系统)
可以理解它为’一个超级大的数据访问层’,在整个项目中承担了所有数据访问的工作,

big-dbms-server(数据查询服务系统)
提供数据的查询功能,可集成数据源有:mysql,hive,presto

big-gateway(服务网关)
所有对外服务接口api(dubbo,http)管理中心,可配置api的超时,权限,重试次数

big-msg(消息推送 提醒)
公司内部模块(考虑删除)

big-whtc(数仓配置服务)
提供数仓的基本任务配置功能,提供datax的配置

bigdata-interface(模块的对外服务接口)
所有模块间的调用接口信息

bigdata-parent(父工程)
包含了所有基础框架 详情

部署顺序
一、部署安装前置依赖服务
1、安装部署zookeeper
网上资料较多,不在赘述
2、安装部署nacos
1). 下载地址:

https://github.com/alibaba/nacos/releases  

2). 解压 nacos-server-1.0.0-RC1.tar.gz
    目录结构:   
    |---nacos  
    |------|---bin  
    |------|---conf  
    |------|---data  
    |------|---plugins  
    |------|---target  
3). 创建数据库:nacos-config,

在将nacos/conf/nacos-mysql.sql sql中的表数据刷入nacos-config中

4). 修改nacos/conf/application.properties
    在文件末尾添加以下内容   
db.num=1

db.url.0=jdbc:mysql://188.188.22.165:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=123
注意:将数据库连接改一下


5). 启动nacos
进入nacos/bin目录,执行startup.sh 或startup.cmd


6). 打开web页面
    地址:127.0.0.1:8848/nacos   
    用户名:nacos  密码:nacos

3、安装部署sentinel
主要是安装一个控制台,实时接受服务传来的运行参数,以及实时更改或配置一些限流策略


1)、下载
https://github.com/alibaba/Sentinel/releases  
选择sentinel-dashboard-1.5.0.jar 下载
2)、安装部署
执行以下命令即可  
java -jar sentinel-dashboard-1.5.0.jar
3)、访问web页面
默认端口是8080:127.0.0.1:8080

4、安装部署cachecloud
此处有两种部署方式:
方式一、可以根据官方文档进行部署admin控制台
部署文档


方式二、以下是源码部署
1)、刷入sql
在script文件夹中有cachecloud.sql 文件,新建数据库(cache_cloud),将sql中的数据刷入该库中

2)、 修改配置
进入cachecloud/cachecloud-open-web/src/main/swap文件夹可以看到两个文件
local.properties(开发环境的配置文件)
online.properties(生产环境的配置文件)
*注:主要修改其中的数据库连接信息

2)、编译源码
进入cachecloud
mvn clean install
进入cachecloud/cachecloud-open-web 执行:
mvn clean package -Plocal # 开发环境
mvn clean package -Ponline # 生产环境

3)、部署
进入cachecloud/cachecloud-open-web/target下;找到cachecloud-open-web-1.0-SNAPSHOT.war
进入cachecloud/script下找到start.sh
mkdir -p /opt/cachecloud-web/logs
将cachecloud-open-web-1.0-SNAPSHOT.war和start.sh 一起复制到指定的发布目录/opt/cachecloud-web下
*注:目录权限要保证(推荐使用一个新用户,而不是root)

4)、启动
chmod +x start.sh
./start.sh  #直接启动

5)、验证
127.0.0.1:9999 (开发环境)
127.0.0.1:8585 (生产环境)
用户名:admin
默认密码:admin

二、部署bigdata-parent

因为此项目是其他项目的依赖,所以需要最先部署

cd path/to/bigdata-parent
mvn clean install

三、部署数据服务中心项目

代码下载

链接:

https://pan.baidu.com/s/1_WNnt690-WWf8BX8uvNaKw 

提取码: uscr

作者:sevenfang
来源:https://github.com/sevenfang/DataCenter

领取更多数据中台资料及100本大数据、人工智能电子书,可扫下面微信。

如果你也是大数据、人工智能爱好者,加微信领书100本大数据、人工智能、区块链等精选书籍,还可以加讨论群交流。

----------------------------END----------------------------

 本公众号精彩文章推荐:

【1】程序员必备的分析解决问题能力:案例分享

【2】Hbase故障处理汇总及评注

【3】技术太多学不过来?教你如何越学越带劲

【4】IT大咖工作十年总结的面试真经

【5】小白与大神存在哪些差距

【6】Logstash收集多数据源数据神器

【7】kafka学习线路指导入门:包括理论、部署、实战知识汇总整理

【8】技术走向管理一些深度思考


http://chatgpt.dhexx.cn/article/EEAn4O2P.shtml

相关文章

cachecloud部署详细过程

一、jdk安装 卸载openjdk 配置环境变量并测试是否配置成功 vim /etc/profile export JAVA_HOME/usr/java/jdk1.7.0_75 export JAVA_BIN/usr/java/jdk1.7.0_75/bin export PATH$PATH:$JAVA_HOME/bin export CLASSPATH.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar source /…

缓存(Cache)

接上篇案例...........接上篇案例...........接上篇案例........... 简述 内存中的一块存储空间,服务于某个应用程序,旨在将频繁读取的数据临时保存在内存中,便于二次快速访问。 简单来说,当没有缓存时,用户想要多次访…

【工具】---cachecloud使用

【前言】 最近小编所在的项目中用到了redis的集群,用到了redis那肯定要有redis的管理工具,所以小编正在学习一个检测redis的工具. 【正文】 是什么?? CacheCloud提供一个Redis云管理平台:实现多种类型(Redis Standalone、Redis Sentinel、Redis Cluster)自动部署…

Cache Tiering

参考资料: 《Ceph源码分析》 https://my.oschina.net/u/2460844/blog/788172 Cache Tier 一、简介 Cache Tiering是Ceph中一种自动分层存储的技术,其中有两种存储池:高速池(缓存池,由SSD等高速设备组成)作…

cache介绍

原帖地址: http://www.wowotech.net/memory_management/458.html?fromtimeline 今天探究的主题是cache。我们围绕几个问题展开。为什么需要cache?如何判断一个数据在cache中是否命中?cache的种类有哪些,区别是什么? …

cachecloud:安装部署(一)

下载源码 可以本地调试、打包。 源码下载:https://github.com/sohutv/cachecloud.git 创建数据库 cachecloud持久化基于mysql,缓存使用redis。 新建一个数据库,如cachecloud分别使用cachecloud/cachecloud-web/sql/2.0.sql和update2.0-2…

Cache简介

1. Cache Cache一词来源于法语,其原意是“藏匿处,隐秘的地方”,而自从被应用于计算机科学之后,就已经成为了英语中的一个计算机体系结构专有名词。 Sun Microsystems的前首席科学家Billy Joy,作为BSD …

Redis入门完整教程:CacheCloud是什么?

如果让你去运维大规模的Redis节点,例如数千个 Redis节点、数百台机器、数百个业务支撑,会遇到什么问题吗?很明显就 是缺少一个好的可视化运维平台。本节首先分析如果没有好的运维平台可能 存在的问题,接着介绍Redis开源私有云平台…

CacheCloud详解(一)----------CacheCloud搭建(Redis云平台)

目标: redis作为流行的缓存数据库,被众多企业使用,但是对于中小型企业来说,日益增多的redis服务器,如何管理是个问题。本系列文章就搜狐视频开源的CacheCloud云平台进行深入讲解。通过从安装到源码讲解,让…

分享kubernetes部署:cachecloud部署说明

cachecloud部署 cachecloud是搜狐视频(sohutv)Redis私有云平台 已省略~ 挑选一台服务器部署cachecloud-web 将cachecloud-web打成war包,可以在服务器上打包,也可以在本地打包,这里举一个在服务器上打包的例子。 将源代码下载到/opt下 已省略~…

CacheCloud搭建(Redis云平台)

下载源代码启动Server 1、初始化MySQL数据库2、启动(本地) 登录系统Redis 机器环境初始化普通用户注册应用申请客户端连接 在中小型互联网公司里面,对于运维使用的监控系统不是很完善。今天介绍一下 CacheCloud,是搜狐视频开源的 …

【Linux】Cachecloud安装部署图文并茂

搭建环境 cachecloudJDKMavenMySQLRedis是是是是是 cachecloud安装 说明:安装cachecloud之前需要在机器上安装maven、jdk、mysql软件的步骤不做说明,测试软件安装路径为:/usr/local。 下载 https://github.com/sohutv/cachecloud 下载CacheCloud-mas…

Redis监控运维平台-CacheCloud

一、CacheCloud 1、出现问题 当Redis达到一定规模,容易出现以下问题: 运维部署成本高,手动部署,容易出现错误。实例碎片化,机器利用率较低,可能出现大量闲置资源。监控,统计,管理…

Redis入门完整教程:CacheCloud快速部署

13.2.1 CacheCloud环境需求 安装部署CacheCloud需要以下环境: JDK7:CacheCloud使用Java语言开发,并使用了JDK7的一些特性。 Maven3:CacheCloud使用Maven3作为开发构建工具。 MySQL5.5:CacheCloud需要Redis的相关元信息…

Redis入门完整教程:CacheCloud运维功能

13.6 运维功能 CacheCloud作为Redis的运维工具,包含了Redis日常运维的常用功能, 本节将对如下功能进行介绍: 1)应用运维:Redis节点的上下线、手动故障转移、配置管理、扩容 等。 2)接入已存在的Redis&…

一文解决IDEA中文乱码问题

✅作者简介:热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏:JAVA开发者…

idea中中文字体设置

此次设置idea中字体为中文雅黑字体 1.找到安装的idea路径中jdr的lib文件进去 E:\IntelliJ IDEA 2019.2\jbr\lib2.创建文件名及格式为fontconfig.properties的文件 3.复制以下代码进文件 # Versionversion1# Component Font Mappingsallfonts.chinese-ms936Microsoft Yahei a…

IDEA--解决IntelliJ IDEA中文乱码问题

1.首先是编辑器的乱码,这个很好解决,file->settings->appearence里面有个Name设置成支持中文的字 体(这个很重要) 同样还要再settings中的Eidtor->File Encodings里面设置字体编码格式,一般都是UTF-8,GBK什么的也行。 2.…

彻底解决Intellij IDEA中文乱码问题

关于JAVA IDE开发工具,Eclipse系列和Intelli IDEA是大部分公司的主要选择,从开发者的选择角度,Intellij IDEA似乎比Eclipse系列更受欢迎一些。当我们使用Intellij IDEA开发时,我们发现出现中文乱码问题,造成中文乱码的…

彻底解决idea中文乱码问题(不易发现的点,jdk问题)

这里提出一个由于jdk问题导致的中文乱码问题。 1.Setting中的各项都设置为utf-8 2.这里设置成这样,极低概率是这里的问题 3.右下角设置utf-8 4.Help-Edit custom VM options后面加上Dfile.encodingUTF-8 5.idea安装目录的bin文件中两个文件idea.exe.vmoptions 和…