企业级数据仓库-数仓实战

数仓实战

安装包大小

在这里插入图片描述

安装清单

在这里插入图片描述

环境搭建

在这里插入图片描述

一、环境搭建01(机器准备)

准备好三台虚拟机,并进行修改hostname、在hosts文件增加ip地址和主机名映射 。

1、设置每个虚拟机的hostname
vi /etc/sysconfig/network 
修改HOSTNAME=node02

修改hostname
hostnamectl set-hostname node02
2、设置每个虚拟机的ip地址和主机名映射

cat >>/etc/hosts<<EOF
192.168.77.130   node01
EOF

cat >>/etc/hosts<<EOF
192.168.77.131   node02
EOF

cat >>/etc/hosts<<EOF
192.168.77.132   node03
EOF

检查结果 
ping `cat /etc/hostname`

在这里插入图片描述

二、环境搭建02(脚本准备)
在node01上操作:
mkdir -p /home/hadoop
unzip  automaticDeploy.zip -d /home/hadoop/

cd /home/hadoop/automaticDeploy/
vi host_ip.txt
vi frames.txt
上传frame.zip
unzip frames.zip  -d /home/hadoop/automaticDeploy/

chmod +x /home/hadoop/automaticDeploy/hadoop/*  /home/hadoop/automaticDeploy/systems/*

ssh root@192.168.77.131 "mkdir -p /home/hadoop"
ssh root@192.168.77.132 "mkdir -p /home/hadoop"

scp -r /home/hadoop/automaticDeploy/ root@192.168.77.131:/home/hadoop/
scp -r /home/hadoop/automaticDeploy/ root@192.168.77.132:/home/hadoop/
三、环境搭建03(集群安装)
在三台节点中执行
cd /home/hadoop/automaticDeploy/systems/
./batchOperate.sh 

安装Hadoop集群
在三台节点中执行
/home/hadoop/automaticDeploy/hadoop/installHadoop.sh 
source /etc/profile

安装下载失败的两个包
scp -r /home/software/*.rpm root@192.168.77.131:/home/software/
scp -r /home/software/*.rpm root@192.168.77.132:/home/software/
rpm -ivh *.rpm

三台都执行
ssh-copy-id node01
ssh-copy-id node02
ssh-copy-id node03

在node01上操作:初始化节点
hadoop namenode -format
#启动hadoop
start-all.sh

检查node01、node02、node03的jps(具体jps见下面截图)
在node01上操作:
curl http://node01:50070
curl http://192.168.77.130:50070/

在node02上执行
/home/hadoop/automaticDeploy/hadoop/installMysql.sh
测试MySQL
mysql -uroot -p
DBa2020*
show databases;

在node03执行
/home/hadoop/automaticDeploy/hadoop/installHive.sh 

/home/hadoop/automaticDeploy/hadoop/installSqoop.sh 
source /etc/profile

在三台节点中执行
/home/hadoop/automaticDeploy/hadoop/installPresto.sh 

在node03执行
/home/hadoop/automaticDeploy/hadoop/installYanagishima.sh 
 
所有节点都执行:
source /etc/profile

Hadoop log位置: /opt/app/hadoop-2.7.7/logs/

在这里插入图片描述

四、项目流程&数据生成
Node02上执行:
export MYSQL_PWD=DBa2020*
mysql -uroot -e "create database mall;"

mkdir -p /opt/app/scripts
cd /opt/app/scripts/

上传\数据生成脚本\*.sql到 /opt/app/scripts
mysql -uroot mall <1建表脚本.sql 
mysql -uroot mall <2商品分类数据插入脚本.sql 
mysql -uroot mall <3函数脚本.sql 
mysql -uroot mall <4存储过程脚本.sql 

检查MySQL以上脚本执行结果:
mysql

use mall;
#存储过程
CALL init_data('2023-06-28',300,200,300,FALSE);
select count(1) from user_info;
show tables;

在这里插入图片描述

在这里插入图片描述

五、ETL数据导入
node03上操作:
mkdir -p  /home/warehouse/shell
#文件路径:E:\1.后端培训\部署脚本\WarehouseScript
vi /home/warehouse/shell/sqoop_import.sh
cd /home/warehouse/shell
chmod +x sqoop_import.sh
#如果导入数据有问题,可以执行start-all.sh重启下hadoop集群重试
./sqoop_import.sh  all 2023-06-28

在这里插入图片描述

删除HDFS中文件夹
hadoop fs -rm -r -skipTrash /origin_data/mall

六、ODS层创建&数据接入
node03上操作:
hive --service hiveserver2  &
hive --service metastore &
在Hive中创建表
mkdir -p  /home/warehouse/sql
cd /home/warehouse/sql
vi ods_ddl.sql
hive -f  /home/warehouse/sql/ods_ddl.sql
Hive如果有问题:jps找runjar kill -9 进程
执行成功后从hive查看结果:
hive
show databases;
use mall;
show tables;
cd /home/warehouse/shell
chmod +x ods_db.sh 
./ods_db.sh  2023-06-28

执行成功后到Hive查看结果:
hive
use mall;
select count(1) from ods_user_info;
结果为200条记录

在这里插入图片描述
在这里插入图片描述

七、DWD层创建&数据接入
在Hive中创建表
vi /home/warehouse/sql/dwd_ddl.sql

hive -f  /home/warehouse/sql/dwd_ddl.sql 

将数据导入到Hive
cd /home/warehouse/shell
chmod +x dwd_db.sh
./dwd_db.sh  2023-06-28

执行成功后到Hive查看结果:
hive
use mall;
select * from dwd_sku_info where dt='2023-06-28' limit 2;

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

八、DWS层创建&数据接入
在Hive中创建表(node03操作)
vi /home/warehouse/sql/dws_ddl.sql 
hive -f  /home/warehouse/sql/dws_ddl.sql 
cd /home/warehouse/shell
chmod +x dws_db.sh
./dws_db.sh  2023-06-28
执行成功后到Hive查看结果
hive
use mall;
select * from dws_user_action where dt='2023-06-28' limit 2;
执行结果:
1       1       189     1       189     2023-06-28
100     1       85      1       85      2023-06-28

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

九、ADS层复购率统计
在Hive中创建表(node03操作)
vi /home/warehouse/sql/ads_sale_ddl.sql
hive -f  /home/warehouse/sql/ads_sale_ddl.sql

cd /home/warehouse/shell
chmod +x ads_sale.sh
./ads_sale.sh  2023-06-28
执行成功后到Hive查看结果
hive
use mall;
select * from ads_sale_tm_category1_stat_mn limit 2;
执行结果:
NULL    NULL    NULL    152     140     0.92    100     0.78    2023-06 2023-06-28

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

十、ADS层数据导出
node02上执行操作:
mkdir -p /home/warehouse/sql
cd /home/warehouse/sql

export MYSQL_PWD=DBa2020*
mysql -uroot mall </home/warehouse/sql/mysql_sale_ddl.sql

node03上执行操作:
cd /home/warehouse/shell
chmod +x sqoop_export.sh
./sqoop_export.sh  all

到mysql查看执行结果(node02上执行操作):
export MYSQL_PWD=DBa2020*
mysql
use mall;
select * from ads_sale_tm_category1_stat_mn;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

十一、Azkaban自动化调度
在三台节点中执行
/home/hadoop/automaticDeploy/hadoop/installAzkaban.sh
source /etc/profile

node02上执行操作:
mysql
use mall;
CALL init_data('2023-09-09',300,300,300,FALSE);
select count(1) from user_info WHERE create_time >= '2023-09-09' AND create_time < '2023-09-10';

在三台节点中执行
azkaban-executor-start.sh  &

Node03上执行
azkaban-web-start.sh  &
使用Node03的IP地址
在浏览器地址栏输入:https://192.168.77.132:8443
用户名、密码都是:admin

Flow Property Override
dt  2023-09-09
useExecutor  node03

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

重起集群
需要先启动三台的hadoop

#1、启动hadoop
start-all.sh
#2、启动hive
node03上操作:
hive --service hiveserver2  &
hive --service metastore &
#3、启动azkaban
在三台节点中执行
azkaban-executor-start.sh  &
Node03上执行
azkaban-web-start.sh  &
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值