文章目录

  • 一、数据仓库的概述
  • 二、项目需求及架构设计
    • 1.项目需求分析
    • 2.项目框架
      • 2.1技术选型
      • 2.2系统数据流程设计
      • 2.3框架发行版本选型
      • 2.4服务器选型
      • 2.5集群资源规划设计
  • 三、相关命令
    • 可视化报表Superset
    • 即席查询Kylin
    • 集群监控Zabbix
    • 全流程调度Azkaban
    • 权限管理Ranger
    • 元数据管理Atlas
  • 四、全流程调度+数据质量可视化

一、数据仓库的概述

数据仓库(Data Warehouse),是为企业制度决策,提供数据支持的。

二、项目需求及架构设计

1.项目需求分析

1.用户行为数据采集平台搭建
2.业务数据采集平台搭建
3.数据仓库维度建模
4.分析,设备、会员、商品、地区、活动等电商核心主题,统计的报表指标近100个
5.采用即席查询工具,随时进行指标分析
6.对集群性能进行监控,发生异常进行报警
7.元数据管理
8.质量监控
9.权限管理

2.项目框架

2.1技术选型

考虑因素:数据量大小、业务需求、行业内经验、技术成熟度、开发维护成本、总成本预算

数据采集传输:Flume,Kafka,Sqoop
数据存储:MySQL,HDFS,HBase
数据计算:Hive,Tez,Spark
数据查询:Presto,Kylin
数据可视化:Echarts,Superset
任务调度:Azkaban
集群监控:Azbbix
元数据管理:Atlas
权限管理:Ranger

2.2系统数据流程设计

2.3框架发行版本选型

Apache

2.4服务器选型

这里选择阿里云主机,Centos7配置如下:

2.5集群资源规划设计

(1)消耗内存的分开

(2)数据传输数据比较紧密的放在一起(Kafka、Zookeeper)

(3)客户端尽量放在一到两台服务器上,方便外部访问

(4)有依赖关系的尽量放到同一台服务器(例如:Hive和Azkaban Executor)

三、相关命令

可视化报表Superset

1)切换到yingzi用户

su yingzi

2)启动superset.sh脚本

/home/yingzi/bin/superset.sh start

Web UI界面:http://hadoop102:8787

用户名:yingzi

密码:000000

即席查询Kylin

依赖于Hadoop、Hive、Zookeeper、HBase

1)启动hadoop

/home/yingzi/bin/hdp.sh start

2)启动zoookeeper

/home/yingzi/bin/zk.sh start

3)启动hbase

sudo -i -u hbase start-hbase.sh

4)启动Kylin

在kylin用户下认证为hive主体

sudo -i -u kylin kinit -kt /etc/security/keytab/hive.keytab hive

以kylin用户的身份启动kylin

sudo -i -u kylin /opt/module/kylin/bin/kylin.sh start

Web UI:http://hadoop102:7070/kylin

用户名:ADMIN
密码:KYLIN

日志:/opt/module/kylin/logs/kylin.log

集群监控Zabbix

hadoop102启动

sudo systemctl start zabbix-server zabbix-agent httpd rh-php72-php-fp
sudo systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm

hadoop103、104启动

sudo systemctl start zabbix-agent
sudo systemctl enable zabbix-agent

全流程调度Azkaban

1)在三台主机上启动Executor

sudo -i -u azkaban bash -c "cd /opt/module/azkaban/azkaban-exec;bin/start-exec.sh"

2)任选一台节点激活

curl http://hadoop102:12321/executor?action=activate

3)启动Web Server

sudo -i -u azkaban bash -c "cd /opt/module/azkaban/azkaban-web;bin/start-web.sh"

Web UI:http://hadoop102:8081/

账号:yingzi

密码:123456

权限管理Ranger

1)启动ranger-admin

sudo -i -u ranger ranger-admin start

Web UI:http://hadoop102:6080

账号:admin

密码:yingzi123

2)启动ranger-usersync(开机自启)

sudo -i -u ranger ranger-usersync start

元数据管理Atlas

1)在三台主机上启动solr集群

sudo -i -u solr /opt/module/solr/bin/solr start

Web UI:http://hadoop102:8983

2)启动Atlas,依赖于Hadoop、Zookeeper、Kafka、Hbase、Solr

/home/yingzi/bin/hdp.sh start
/home/yingzi/bin/zk.sh start
/home/yingzi/bin/kf.sh start
sudo -i -u hbase start-hbase.sh
sudo -i -u solr /opt/module/solr/bin/solr start(三台都需要)/opt/module/atlas/bin/atlas_start.py

Web UI:http://hadoop102:21000

账号:admin

密码:admin

四、全流程调度+数据质量可视化

1)启动日志采集通道

/opt/module/yingzi/bin/hdp.sh start/opt/module/yingzi/bin/zk.sh start/opt/module/yingzi/bin/kf.sh start/opt/module/yingzi/bin/f1.sh start/opt/module/yingzi/bin/f2.sh start

2)准备业务数据

修改hadoop102,hadoop103两台节点的/opt/module/applog/application.yml文件,修改业务日期

vim /opt/module/applog/application.yml#业务日期
mock.date: "2020-**-**"

执行生成日志的脚本(执行完后可看hdfs上是否有相应数据)

/home/yingzi/bin/lg.sh

将数据消费,存入数据库,修改/opt/module/db_log/application.properties

vim /opt/module/db_log/application.properties#业务日期
mock.date=2020-**-**cd /opt/module/db_log
java -jar gmall2020-mock-db-2021-01-22.jar

此时可以看数据库中是否有2020-??-??的数据

3)启动azkaban

为了减轻内存压力,可先释放一些进程

/home/yingzi/bin/f1.sh stop/home/yingzi/bin/f2.sh stop

启动Executor Server(三台主机都需要)

sudo -i -u azkaban bash -c "cd /opt/module/azkaban/azkaban-exec;bin/start-exec.sh"

激活Executor Server,任选一台节点执行

curl http://hadoop102:12321/executor?action=activate

启动Web Server

sudo -i -u azkaban bash -c "cd /opt/module/azkaban/azkaban-web;bin/start-web.sh"

Web UI:http://hadoop102:8081/

账号:yingzi

密码:123456

4)分别启动gmall,data_supervisor的工作流程

在gmall上填入参数:dt,useExecutor

在data_supervisor上填入参数:dt,useExecutor,alert

5)可视化

sudo -i -u yingzi /opt/module/yingzi/bin/superset.sh start

Web UI页面:http://hadoop102:8787

用户名:yingzi

密码:000000

大数据项目实战数仓4——总纲相关推荐

  1. 大数据项目实战数仓4——常用脚本

    文章目录 0.xsync:分发脚本 1.xcall.sh:查看相关进程 2.hdp.sh:hadoop集群群起 3.zk.sh:zookeeper集群群起 4.kf.sh:kafka集群群起 5.fi ...

  2. 大数据项目离线数仓(全 )一(数据采集平台)

    搭建用户行为数据采集平台.搭建业务数据采集平台.搭建数据仓库系统.制作可视化报表 本篇博客包括搭建用户行为数据采集平台.搭建业务数据采集平台 搭建数据仓库系统在大数据项目离线数仓(全 )二 制作可视化 ...

  3. 大数据项目离线数仓(全 )二(数仓系统)

    本文仅仅包含数据仓库系统的搭建,其他内容请关注我的博客!在<项目>专栏里!!! 本篇文章参考尚硅谷大数据项目写成! 目录 一.数据仓库系统 1.1基础概念 1.1.1数据分层的好处 1.1 ...

  4. 大数据项目之数仓相关知识

    第1章 数据仓库概念 数据仓库(DW): 为企业指定决策,提供数据支持的,帮助企业,改进业务流程,提高产品质量等. DW的输入数据通常包括:业务数据,用户行为数据和爬虫数据等   ODS:  数据备份 ...

  5. 大数据项目实战——基于某招聘网站进行数据采集及数据分析(四)

    大数据项目实战 第四章 数据预处理 文章目录 大数据项目实战 学习目标 一.分析预处理数据 1)salary 2)city 3)skillLabels 4)companyLabelList.posit ...

  6. 大数据基础知识——数仓的搭建(维度建模)

    数据仓库 文章目录 数据仓库 数据仓库的介绍: 数据仓库的概念: OLTP和OLAP区别: 数据仓库的特点: 面向主题: 数据集成: 非易失: 时变: 数据仓库系统架构 系统结构图 源数据 ETL 数 ...

  7. 企业大数据平台下数仓建设思路

    免费开通大数据服务:https://www.aliyun.com/product/odps 介然(李金波),阿里云高级技术专家,现任阿里云大数据数仓解决方案总架构师.8年以上互联网数据仓库经历,对系统 ...

  8. 大数据项目实战教程:使用SparkSQL+Hbase+Oozie构建企业级用户画像

    大数据项目实战教程,本课程需要有大数据基础(掌握基本大数据组件应用)的人才可以学习哦!市面上全面的大数据教程较少,今天分享给大家的就是一套全面的大数据学习教程,企业级大数据项目:360度用户画像实战 ...

  9. 大数据项目 --- 电商数仓(一)

    这个项目实在数据采集基础使用的,需要提前复习之前学的东西,否则的话就是很难继续学习.详见博客数据项目一 ---数据采集项目.大数据项目 --- 数据采集项目_YllasdW的博客-CSDN博客大数据第 ...

最新文章

  1. docker 时间不一致,时区设置
  2. CentOS7安装Nagios并配置出图详解
  3. 微服务调用传string值_springCloud微服务项目 构建公共的feign调用
  4. AWS DataPipline 的一次尝试。
  5. 【深度学习】循环神经网络(RNN)简易教程
  6. 这是一篇Markdown手册
  7. 测试php是否连接mysql_如何测试php是否连接mysql成功
  8. CAFFE怎样跑起来
  9. “毕业1年,做Python挣了50W!”网友:吹得太少..
  10. GDAL读取S-57海图数据中文属性值乱码问题解决
  11. java基于SSM房屋租赁管理系统
  12. 逻辑回归算法实战之信用卡欺诈检测
  13. 向量与矩阵(点线距离与交点)
  14. Gmail邮箱允许异地登录/客户端登录
  15. 把txt 转换成CHM的目录或Index
  16. 【vim】Darcula 配色设置
  17. 安卓手机和苹果手机如何设置HTTP代理IP上网
  18. 芯华章完成数亿元A+轮融资,红杉宽带数字产业基金领投,高瓴、高榕跟投|钛媒体首发...
  19. 毕设项目:基于BS模型的在线OJ系统
  20. 四川省教育考试院计算机准考证打印,四川省教育考试网官网准考证打印

热门文章

  1. 记一个java和php都能调用的http接口
  2. “间谍”软件克星Ad-Aware
  3. 【重点】LeetCode 135. Candy
  4. CenterNet-Objects as Points论文翻译
  5. 关于Decision in process状态时间变化的解释
  6. ThinkPHP5.0-多语言切换
  7. C# 设计模式 (一)
  8. 在 Pycharm 中安装 wxPython
  9. jQuery ajax error函数(交互错误信息的获取)
  10. 例子:10秒后同意按钮可点击