一、数仓之Cloudera Manager

1、CM简介

拥有集群自动化安装、中心化管理、集群监控、报警功能的一个工具

快速安装,快速运维,提高集群的效率

CM架构

2、阿里云服务器准备

注册账号

购买ECS云服务器

ECS配置及安全组修改(开放各服务的端口)

3、CM部署准备

服务器连接

修改hosts文件

通过生成公钥和私钥配置SSH免密登录

编写集群同步脚本xsync

编写集群整体操作脚本vim xcall.sh

关闭防火墙和SELINUX

配置NTP时钟同步

4、CM安装部署

安装JDK

安装MySQL及其驱动(hadoop102上操作)

搭建本地yum源安装CM

进入/var/www/html/路径,并开启http服务

安装并修改CM配置文件

在MySQL中建数据库

启动服务:systemctl start cloudera-scm-server

查看日志并访问web ui

关闭服务

二、数仓之CDH

1、选择使用版本

免费版

2、部署CDH集群

选定物理节点

添加本地parcel库

自定义安装组件

角色分布

测试数据库连接

三、数仓搭建环境准备

1、Flume 安装部署

添加服务

选择依赖及部署节点

2、Sqoop安装部署

3、配置Hadoop支持LZO

配置-gplextras parcel库的url

Parcel列表中出现了GPLEXTERAS,依次点击下载、分配、激活

修改HDFS配置压缩编码解码器,加入com.hadoop.compression.lzo.LzopCodec

配置Hive 辅助 JAR 目录

修改Sqoop配置,配置项中搜索“sqoop-conf/sqoop-env.sh 的 Sqoop 1 Client 客户端高级配置代码段(安全阀)

4、修改yarn配置参数

配置内存大小“yarn.nodemanager.resource.memory-mb”,修改成4G

“yarn.scheduler.maximum-allocation-mb”,修改成2G

重启相关组件

5、HUE使用概述

HUE=Hadoop User Experience(Hadoop用户体验),Hadoop的UI系统

http://hadoop102:8888(未优化)或http://hadoop102:8889(优化)

6、HUE用户管理

新建一个用户组——hive,并添加hive用户

四、数仓之用户行为数仓搭建

1、用户行为日志生成

分发jar包log-collector-1.0-SNAPSHOT-jar-with-dependencies.jar

并启动lg.sh脚本(将打印的数据读入)

2、日志数据导入数仓

日志采集Flume配置

Flume拦截器:ETL拦截器LogETLInterceptor(编写工具类调用)、日志类型区分拦截器LogTypeInterceptor

ETL拦截器主要用于,过滤时间戳不合法和Json数据不完整的日志
日志类型区分拦截器主要用于,将启动日志和事件日志区分开来,方便发往Kafka的不同Topic。

拦截器打包放入lib目录并进行分发

消费Kafka Flume配置

调用日志生成脚本lg.sh

#! /bin/bash

    for i in hadoop102 hadoop103
do
ssh $i " source /etc/profile ; java -classpath /opt/module/log-collector-1.0-SNAPSHOT-jar-with-dependencies.jar com.atguigu.appclient.AppMain $1 $2 >/opt/module/test.log &"
done

3、ODS层-原始数据层,存放原始数据

创建数据库:创建数据仓库目录、修改hive配置并启动、创建并使用gmall数据库

创建启动日志表ods_start_log

ODS层加载数据脚本:将指定日期数据加入表中

4、DWD层启动表数据解析

创建启动表、DWD层启动表加载数据脚本dwd_start_log.sh

5、DWS层(需求:用户日活跃)

统计当日、当周、当月活动的每个设备明细

编写加载数据脚本

6、ADS层(需求:用户日活跃)

目标:当日活跃设备数

编写ADS层加载数据脚本

#!/bin/bash

# 定义变量方便修改
APP=gmall # 如果是输入的日期按照取输入日期;如果没输入日期取当前时间的前一天
if [ -n "$1" ] ;then
do_date=$1
else
do_date=`date -d "-1 day" +%F`
fi sql="
set hive.exec.dynamic.partition.mode=nonstrict; insert into table "$APP".ads_uv_count
select
'$do_date' dt,
daycount.ct
from
(
select
'$do_date' dt,
count(*) ct
from "$APP".dws_uv_detail_day
where dt='$do_date'
)daycount;
" beeline -u "jdbc:hive2://hadoop102:10000/" -n hive -e "$

增加执行权限并使用:ads_uv_log.sh 2019-09-03

【CDH数仓】Day01:概念、环境搭建、CDH数仓搭建、用户行为数仓搭建的更多相关文章

  1. 【Hadoop离线基础总结】CDH版本Hadoop 伪分布式环境搭建

    CDH版本Hadoop 伪分布式环境搭建 服务规划 步骤 第一步:上传压缩包并解压 cd /export/softwares/ tar -zxvf hadoop-2.6.0-cdh5.14.0.tar ...

  2. Cloudera Manager安装_搭建CDH集群

    2017年2月22日, 星期三 Cloudera Manager安装_搭建CDH集群 cpu   内存16G 内存12G 内存8G 默认单核单线 CDH1_node9 Server  || Agent ...

  3. 搭建 CDH 版本hive

    搭建一个完整的cdh 的版本,由于涉及的产品和步骤太多,在客户那里部署环境时,很容易出现意外,所以如果只是需要部署一个测试环境来进行验证,我们没有必要完完整整的部署整个cdh.   下面是通过命令行的 ...

  4. CentOS7安装CDH 第十一章:离线升级CDH版本

    相关文章链接 CentOS7安装CDH 第一章:CentOS7系统安装 CentOS7安装CDH 第二章:CentOS7各个软件安装和启动 CentOS7安装CDH 第三章:CDH中的问题和解决方法 ...

  5. Material Design 概念,环境和基本属性

    Material Design 概念,环境和基本属性 Material Design是随Android 5.0推出的一种设计概念, 涉及到了跨平台和设备的视觉,动态,交互设计等方面.   设计概念 M ...

  6. 记一次生产环境tomcat线程数打满情况分析

    前言 旨在分享工作中遇到的各种问题及解决思路与方案,与大家一起学习. -- 学无止境, 加油 ! Just do it ! 问题描述 运行环境描述 tomcat-8.5 单节点(该应用集群20个节点) ...

  7. 转载:IIS 之 连接数、并发连接数、最大并发工作线程数、队列长度、最大工作进程数

    一.IIS连接数 一般购买过虚拟主机的朋友都熟悉购买时,会限制IIS连接数,顾名思义即为IIS服务器可以同时容纳客户请求的最高连接数,准确的说应该叫“IIS限制连接数”. 客户请求的连接内容包括: [ ...

  8. IIS 之 连接数、并发连接数、最大并发工作线程数、队列长度、最大工作进程数

    一.IIS连接数 一般购买过虚拟主机的朋友都熟悉购买时,会限制IIS连接数,顾名思义即为IIS服务器可以同时容纳客户请求的最高连接数,准确的说应该叫“IIS限制连接数”. 客户请求的连接内容包括: [ ...

  9. 异数OS 星星之火(三)--异数OS-织梦师云 微服务编写入门

    . 异数OS 星星之火(三)–异数OS-织梦师云 微服务编写入门 本文来自异数OS社区 github: https://github.com/yds086/HereticOS 异数OS社区QQ群: 6 ...

  10. 一个int 数组,里面数据无任何限制,要求求出所有这样的数a[i],其左边的数都小于等于它,右边的数都大于等于它。能否只用一个额外数组和少量其它空间实现。

    一个int数组, 比如 array[],里面数据无任何限制,要求求出 所有这样的数array[i],其左边的数都小于等于它,右边的数都大于等于它.能否只用一个额外数组和少量其它空间实现. 分析:这题很 ...

随机推荐

  1. ProxySQL(4):多层配置系统

    文章转载自:https://www.cnblogs.com/f-ck-need-u/p/9280793.html ProxySQL中的库 使用ProxySQL的Admin管理接口连上ProxySQL, ...

  2. Docker 部署 RocketMQ 双主双从模式( 版本v4.7.0)

    文章转载自:http://www.mydlq.club/article/96/ 系统环境: 系统版本:CentOS 7.8 RocketMQ 版本:4.7.0 Docker 版本:19.03.13 一 ...

  3. Traefik SRE 之使用 Prometheus 进行监控报警

    当我们使用 Traefik 作为 Kubernetes 的 Ingress 控制器的时候,我们自然也非常有必要对其进行监控.本文我们将探讨如何使用 Prometheus 和 Grafana 从 Tra ...

  4. Traefik2.X 版本 中 URL Rewrite 的使用

    文章转载自:https://mp.weixin.qq.com/s?__biz=MzU4MjQ0MTU4Ng==&mid=2247484594&idx=1&sn=becbe567 ...

  5. 使用 Auditbeat 模块监控 shell 命令

    使用 Auditbeat 模块监控 shell 命令 Auditbeat Audited 模块可以用来监控所有用户在系统上执行的 shell 命令.在终端用户偶尔才会登录的服务器上,通常需要进行监控. ...

  6. 谣言检测(GACL)《Rumor Detection on Social Media with Graph Adversarial Contrastive Learning》

    论文信息 论文标题:Rumor Detection on Social Media with Graph AdversarialContrastive Learning论文作者:Tiening Sun ...

  7. RabbitMQ原理和架构图解(附6大工作模式)

    为什么要使用RabbitMQ? 1.解耦 系统A在代码中直接调用系统B和系统C的代码,如果将来D系统接入,系统A还需要修改代码,过于麻烦. 2.异步 将消息写入消息队列,非必要的业务逻辑以异步的方式运 ...

  8. Spring笔记四

    Spring-04 1.Spring整合Junit ①导入依赖 <!-- junit --> <dependency> <groupId>junit</gro ...

  9. TCP和UDP的区别与联系以及网络字节序和主机字节序的转换函数实践

    TCP和UDP的区别 TCP是一个面向连接的.可靠的.基于字节流的传输层协议. 而UDP是一个面向无连接的传输层协议. 具体来分析,和 UDP 相比,TCP 有三大核心特性: 面向连接:所谓的连接,指 ...

  10. python基础作业1

    目录 附加练习题(提示:一步步拆解) 1.想办法打印出jason 2.想办法打印出大宝贝 3.想办法打印出run 4.获取用户输入并打印成下列格式 5 根据用户输入内容打印其权限 6 编写用户登录程序 ...