超详细【入门精讲】数据仓库原理&实战 一步一步搭建数据仓库 内附相应实验 ...

打印 上一主题 下一主题

主题 1792|帖子 1792|积分 5376

超详细【入门精讲】数据仓库原理&实战 一步一步搭建数据仓库 内附相应实验代码和镜像数据和脚本
感谢B站UP主 哈喽鹏程!!!

目录

0. B站课程链接 和 搭建数据仓库资源下载

下载UP主 哈喽鹏程 给的资源镜像及脚本包
课程链接:https://www.bilibili.com/video/BV1qv411y7Wv/
下载连接:
数据仓库的课件:
链接:https://pan.baidu.com/s/1_B2FPJYbHR-qq-5Q-Xfamw/?pwd=d3a9
提取码:d3a9
数据仓库的实验数据,资源镜像及脚本包:
链接:https://pan.baidu.com/s/1zSkL1YWa6wGkKrUW-Zl8Yw/?pwd=fwpq
提取码:fwpq
数据仓库的automaticDeploy项目代码:
链接:https://pan.baidu.com/s/1qspiJ8LbrSr58pg84ICRUA/?pwd=7nff
提取码:7nff
备用链接:
数据仓库的实验数据,资源镜像及脚本包:
链接:https://pan.baidu.com/s/1WZsfADEGUlD1U7LcEf2dww/?pwd=ik61
提取码:ik61
数据仓库的资源镜像及脚本包和automaticDeploy项目代码(全):
OneDrive链接
1. 项目介绍及

1.1项目介绍


1.2 数据仓库架构


1.3 环境规划


1.4 整体开发流程


2. 环境准备01-02(虚拟机和Xshell)

2.1 软件下载

安装以下软件:

  • 虚拟机软件: Virtual Box, 下载链接: https://www.virtualbox.org/
  • 远程联机软件: Xshell   (也可以使用其他软件, 推荐使用FinalShell,我是用的是FinalShell)
Virtual Box**, **下载链接: https://www.virtualbox.org/
XShell,下载链接:https://www.xshell.com/zh/xshell/
FinalShell, 下载链接:http://www.hostbuf.com/t/988.html
下载UP主 哈喽鹏程 给的资源镜像及脚本包
2.2 安装Virtual Box及导入OVA镜像

官网下载安装包,一路next就行,可以更改安装路径


node02,node03同样的操作
虚拟机第一次打开的时候可能会有网络报错,这个时候需要操作一下

这里需要手动选择一次网卡,注意是一定要再选择一次

然后可以开启虚拟机了
三台虚拟机用户名及密码进入虚拟机
node01 root 123456
node02 root 123456
node03 root 123456
2.3 修改虚拟机静态IP地址

windows下查看IP地址
win+r  然后输入cmd 回车,打开命令行窗口,输入ifconfig查看主机ip地址
例如:
192.168.192.175
本地链接 IPv6 地址. . . . . . . . : fe80::8ecd:4848:96f2:2659%6
IPv4 地址 . . . . . . . . . . . . : 192.168.192.175
子网掩码  . . . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . . . : fe80::40a2:4aff:feb4:7d31%6
192.168.192.165
在得到主机的IP地址后,分别对三台虚拟机node01、node02、node03进行修改
例如我的IP为192.168.192.175,则修改以下内容:
node01中的ifcfg-enp0s3文件中IPADDR=192.168.192.176
node02中的ifcfg-enp0s3文件中IPADDR=192.168.192.177
node03中的ifcfg-enp0s3文件中IPADDR=192.168.192.178
node02和node03中的GATEWAY=192.168.192.1
修改配置文件 ifcfg-enp0s3
  1. [root@node01 ~]# vim /etc/sysconfig/network-scripts/ifcfg-enp0s3
  2. [root@node01 ~]# systemctl restart network
  3. [root@node02 ~]# vim /etc/sysconfig/network-scripts/ifcfg-enp0s3
  4. [root@node02 ~]# systemctl restart network
  5. [root@node03 ~]# vim /etc/sysconfig/network-scripts/ifcfg-enp0s3
  6. [root@node03 ~]# systemctl restart network
复制代码
更新配置 systemctl restart network
注意node01没有GATEWAY,node02,node03有GATEWAY

2.4 SSH链接虚拟机

这里使用 FinalShell SSH连接虚拟机
node01配置如下, node02和node03同理

3. 环境搭建03 (脚本准备)
  1. wget https://github.com/Mtlpc/automaticDeploy/archive/master.zip
复制代码
或者直接去github下载  https://github.com/Mtlpc/automaticDeploy    (建议直接去下载然后上传到虚拟机, 如果你使用的是 FinalShell 可以直接上传, 如果使用的是Xshell, 则需安装上传组件, 安装方法在文章后面)
将下载好的文件解压到  /home/hadoop 下,并将该文件的文件名改成 automaticDeploy,否则运行会报错
以下是  automaticDeploy 中的文件
  1. [root@node01 ~]# cd /home/hadoop/
  2. [root@node01 hadoop]# unzip automaticDeploy.zip
  3. # 给予可执行权限
  4. [root@node01 hadoop]# chmod +x /home/hadoop/automaticDeploy/hadoop/* [root@node01 hadoop]# /home/hadoop/automaticDeploy/systems/*
  5. # 文件内容
  6. [root@node01 hadoop]# ls automaticDeploy/
  7. configs.txt  frames.txt  hadoop  host_ip.txt  logs.sh  README.md  systems
复制代码
configs.txt 文件内容如下:
  1. # Mysql相关配置
  2. mysql-root-password DBa2020* END
  3. mysql-hive-password DBa2020* END
  4. mysql-drive mysql-connector-java-5.1.26-bin.jar END
  5. # azkaban相关配置
  6. azkaban-mysql-user root END
  7. azkaban-mysql-password DBa2020* END
  8. azkaban-keystore-password 123456 END
复制代码
host_ip.txt    文件内容如下:
这个需要配置成自己的3个node的ip
  1. 192.168.31.41 node01 root 123456
  2. 192.168.31.42 node02 root 123456
  3. 192.168.31.43 node03 root 123456
复制代码
farames.txt 文件内容如下:
  1. # 通用环境
  2. jdk-8u144-linux-x64.tar.gz true
  3. azkaban-sql-script-2.5.0.tar.gz true
  4. # Node01
  5. hadoop-2.7.7.tar.gz true node01
  6. # Node02
  7. mysql-rpm-pack-5.7.28 true node02
  8. azkaban-executor-server-2.5.0.tar.gz true node02
  9. azkaban-web-server-2.5.0.tar.gz true node02
  10. presto-server-0.196.tar.gz true node02
  11. # Node03
  12. apache-hive-1.2.1-bin.tar.gz true node03
  13. apache-tez-0.9.1-bin.tar.gz true node03
  14. sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz true node03
  15. yanagishima-18.0.zip true node03
  16. # Muti
  17. apache-flume-1.7.0-bin.tar.gz true node01,node02,node03
  18. zookeeper-3.4.10.tar.gz true node01,node02,node03
  19. kafka_2.11-0.11.0.2.tgz true node01,node02,node03
复制代码
3.1 安装xshell上传组件 lrzsz

当然如果不使用Xshell的话, 使用FinalShell就可以不用安装, FinalShell自带文件上传组件
  1. [root@node01 automaticDeploy]# yum install lrzsz -y
复制代码
上传 frames.zip 压缩包
  1. [root@node01 ~]# cd ~
  2. [root@node01 ~]# unzip frames.zip -d /home/hadoop/automaticDeploy/
  3. [root@node01 ~]# ssh root@192.168.133.177 "mkdir /home/hadoop"
  4. [root@node01 ~]# ssh root@192.168.133.178 "mkdir /home/hadoop"
复制代码
修改 automaticDeploy 文件夹下的 host_ip.txt 文件, 修改结果如下
这个需要配置成自己的3个node的ip
  1. 192.168.192.176 node01 root 123456
  2. 192.168.192.177 node02 root 123456
  3. 192.168.192.178 node03 root 123456
复制代码
将 automaticDeploy 通过scp命令拷贝到 node02 ,node03
  1. # 将修改后的automaticDeploy复制到node02,node03
  2. [root@node01 hadoop]# scp -r /home/hadoop/automaticDeploy/ root@192.168.192.177:/home/hadoop/
  3. [root@node01 hadoop]# scp -r /home/hadoop/automaticDeploy/ root@192.168.192.178:/home/hadoop/
复制代码
拷贝完成后, 可以去 node02 , node03 上的 /home/hadoop/ 路径下进行确认
4. 环境搭建04 (集群安装)

恭喜你完成了以上操作, 到这一步正式开始环境搭建
  1. # 分别在node01,node02,node03运行批处理脚本 batchOperate.sh 进行初始化
  2. # 更新yum源, 免密钥登入,安装JDK,配置HOST
  3. # node01
  4. [root@node01 ~]# cd automaticDeploy
  5. [root@node01 automaticDeploy]# cd systems/
  6. [root@node01 systems]# ./batchOperate.sh
  7. # node02
  8. [root@node02 ~]# cd automaticDeploy/systems/
  9. [root@node02 systems]# ./batchOperate.sh
  10. # node03
  11. [root@node03 ~]# cd automaticDeploy/systems/
  12. [root@node03 systems]# ./batchOperate.sh
复制代码
验证三台虚拟机是否能够互相连接,
注意: 每连完一台虚拟机后都要退出, 然后再连接另一台
  1. # 分别SSH另外两台虚拟机, exit 退出SSH
  2. # 示例:  [root@node02 ~]# exit
  3. # node01
  4. [root@node01 systems]# ssh node02
  5. [root@node01 systems]# ssh node03
  6. # node02
  7. [root@node02 systems]# ssh node01
  8. [root@node02 systems]# ssh node03
  9. # node03
  10. [root@node03 systems]# ssh node01
  11. [root@node03 systems]# ssh node02
复制代码
脚本免密登录失败的话,可以手动进行免密登录操作
  1. # 脚本免密登录失败的话,可以手动进行免密登录操作
  2. # 以下为示例
  3. [root@node01 ~]# ssh-copy-id node02
复制代码
4.1 安装Hadoop

分别在三台虚拟机上依次执行
  1. [root@node01 hadoop]# ./installHadoop.sh
  2. [root@node02 hadoop]# ./installHadoop.sh
  3. [root@node03 hadoop]# ./installHadoop.sh
复制代码
安装完成后, 更新环境变量
  1. [root@node01 hadoop]# source /etc/profile
  2. [root@node02 hadoop]# source /etc/profile
  3. [root@node03 hadoop]# source /etc/profile
复制代码
在 node01 上初始化 hadoop
  1. [root@node01 hadoop]# hadoop namenode -format
复制代码
在 node01 上启动 hadoop 集群
  1. [root@node01 ~]# start-all.sh
复制代码
jps查看是否运行成功, node01有6个进程
  1. [root@node01 ~]# jps
  2. 6193 NameNode
  3. 6628 SecondaryNameNode
  4. 7412 Jps
  5. 6373 DataNode
  6. 6901 ResourceManager
  7. 7066 NodeManager
复制代码
node02
  1. [root@node02 ~]# jps
  2. 5952 NodeManager
  3. 6565 Jps
  4. 5644 DataNode
复制代码
node03
  1. [root@node03 ~]# jps
  2. 6596 Jps
  3. 5594 DataNode
  4. 5902 NodeManager
复制代码
进行到这一步, hadoop已经安装成功
可以打开浏览器,访问 node01 的 50070 端口, 进入hadoop的web界面
4.2 安装MYSQL

在 node02 上安装 MYSQL
  1. [root@node02 hadoop]# ./installMysql.sh
复制代码
MYSQL安装成功后, 运行MYSQL
  1. [root@node02 hadoop]# mysql -uroot -pDBa2020*
  2. mysql> show databases;
  3. mysql> show databases;
  4. +--------------------+
  5. | Database           |
  6. +--------------------+
  7. | information_schema |
  8. | azkaban            |
  9. | hive               |
  10. | mysql              |
  11. | performance_schema |
  12. | sys                |
  13. +--------------------+
  14. 6 rows in set (0.01 sec)
复制代码
4.3 安装Hive

在 node03 上安装 Hive, 安装过程会自动安装 Tez
  1. [root@node03 hadoop]# ./installHive.sh
复制代码
如果是INFO信息报错, 可以不用管
4.4 安装Sqoop

接着在 node03 上安装 Sqoop
  1. [root@node03 hadoop]# ./installSqoop.sh
  2. [root@node03 hadoop]# source /etc/profile
复制代码
4.5 安装 Presto

分别在node01,node02, node03 上安装 Presto
Presto服务端口为8080
  1. # Presto服务端口为8080
  2. [root@node01 hadoop]# ./installPresto.sh
  3. [root@node02 hadoop]# ./installPresto.sh
  4. [root@node03 hadoop]# ./installPresto.sh
复制代码
,接着分别在node01,node02, node03上安装Azkaban
  1. [root@node01 hadoop]# ./installAzkaban.sh
  2. [root@node02 hadoop]# ./installAzkaban.sh
  3. [root@node03 hadoop]# ./installAzkaban.sh
复制代码
为Presto安装一个插件,带来可视化的效果
Yanagishima服务端口为7080
  1. # Yanagishima服务端口为7080
  2. [root@node03 hadoop]# ./installYanagishima.sh
复制代码
分别在node01,node02,node03上更新环境变量
  1. # 分别在node01,node02,node03运行更新环境变量[root@node01 hadoop]# source /etc/profile
  2. [root@node02 hadoop]# source /etc/profile
  3. [root@node03 hadoop]# source /etc/profile
复制代码
5. 项目流程&数据生成


创建数据库mall
  1. # 导入临时环境变量
  2. [root@node01 hadoop]# export MYSQL_PWD=DBa2020*
  3. [root@node01 hadoop]# mysql -uroot -e "create database mall;"
复制代码
进入到 /home 目录下
  1. [root@node02 hadoop]# cd /home/
复制代码
上传生成数据脚本

将数据生成脚本上传到数据库中
  1. [root@node02 home]# mysql -uroot mall < /root/1建表脚本.sql
  2. [root@node02 home]# mysql -uroot mall < /root/2商品分类数据插入脚本.sql
  3. [root@node02 home]# mysql -uroot mall < /root/3函数脚本.sql
  4. [root@node02 home]# mysql -uroot mall < /root/3函数脚本.sql
  5. [root@node02 home]# mysql
  6. mysql>use mall;
  7. mysql>CALL init_data('2020-08-29',300,200,300,False);
  8. mysql>select count(1) from user_info;
  9. mysql>show tables;
复制代码
生成了300个订单, 200个用户, 300个商品,False不删除数据
6. ETL数据导入
  1. [root@node03 ~]# mkdir -p /home/warehouse/shell
  2. [root@node03 shell]# cd  /home/warehouse/shell/
  3. [root@node03 shell]# vim sqoop_import.sh
  4. [root@node03 shell]# chmod +x sqoop_import.sh
  5. [root@node03 shell]# ./sqoop_import.sh all 2020-08-29
复制代码
网页可视化查看数据是否导入 http://192.168.192.176:50070/

一共是8张表, 如果没有8张表的话, 建议多运行 ./sqoop_import.sh all 2020-08-29 命令几次
到这里,表示我们ETL任务已经成功了
7. ODS层创建&数据接入

启动Hive
  1. # 启动Hive
  2. [root@node03 shell]# hive --service hiveserver2 &
复制代码
启动Hive的metastore服务
  1. # 启动Hive的metastore
  2. [root@node03 shell]# hive --service metastore &
复制代码
如果这里报错 拒绝连接 , MSQL拒绝连接,  可能由于网络不通畅的问题引起, 在node03上试一下能不能连接到node02 , 连接不了的话可以重启 node02 的网络服务, systemctl restart network
  1. [root@node02 ~]# systemctl restart network
复制代码
ODS层创建&数据导入
  1. # ODS层创建&数据导入
  2. [root@node03 ~]# cd /home/warehouse
  3. [root@node03 warehouse]# mkdir sql/
  4. [root@node03 warehouse]# cd sql/
  5. [root@node03 sql]# vim ods_ddl.sql
复制代码
  1. [root@node03 sql]# hive -f /home/warehouse/sql/ods_ddl.sql
复制代码
如果很长时间都没有出结果, 可以 Ctrl + c 终止
查看刚刚Hive进行的两个服务
  1. [root@node03 sql]# jps
  2. 2378 NodeManager
  3. 2133 DataNode
  4. 7288 RunJar
  5. 7210 RunJar
  6. 7646 Jps
  7. [root@node03 sql]# jps -m
  8. .
  9. .
  10. .
  11. 7288 RunJar       .... /... /... / ....... / hadoop.hive.metastore.HiveMetaStore
  12. .
  13. .
  14. .
  15. # kill metastore服务
  16. [root@node03 sql]# kill -9 7288
  17. # 然后再重启 metastore, metasore服务需要连接mysql服务, 所以需要与node02网络通畅
  18. [root@node03 sql]# hive --service metastore &
  19. # 没有报错,重新执行 hive -f /home/warehouse/sql/ods_ddl.sql
  20. [root@node03 sql]# hive -f /home/warehouse/sql/ods_ddl.sql
复制代码
执行完后,进入Hive查看, 一共8张表
  1. ## 进入hive
  2. [root@node03 shell]# hive
  3. hive>use mall;
  4. OK
  5. Time taken: 0.55 seconds
  6. hive>show tables;
  7. hive>exit;
复制代码
数据有了,然后完成数据的导入
  1. [root@node03 shell]# cd ..
  2. [root@node03 shell]# cd shell/
  3. # 创建或上传 obs_db.sh
  4. [root@node03 shell]# vim obs_db.sh
  5. [root@node03 shell]# chmod +x obs_db.sh
  6. [root@node03 shell]# ./ods_db.sh 2020-08-29
复制代码
执行完成后,进入Hive查看数据是否导入
  1. ## 进入hive
  2. [root@node03 shell]# hive
  3. hive> use mall;
  4. OK
  5. Time taken: 0.55 seconds
  6. hive> show tables;
  7. hive> select count(1) from ods_user_info;
  8. Query ID = root_20230327220623_2ce7b554-c007-4d37-b282-87a3227c2f16
  9. Total jobs = 1
  10. Launching Job 1 out of 1
  11. Status: Running (Executing on YARN cluster with App id application_1679925264749_0002)
  12. --------------------------------------------------------------------------------
  13.         VERTICES      STATUS  TOTAL  COMPLETED  RUNNING  PENDING  FAILED  KILLED
  14. --------------------------------------------------------------------------------
  15. Map 1 ..........   SUCCEEDED      2          2        0        0       0       0
  16. Reducer 2 ......   SUCCEEDED      1          1        0        0       0       0
  17. --------------------------------------------------------------------------------
  18. VERTICES: 02/02  [==========================>>] 100%  ELAPSED TIME: 7.56 s     
  19. --------------------------------------------------------------------------------
  20. OK
  21. 200
  22. Time taken: 9.383 seconds, Fetched: 1 row(s)
  23. # 200条数据
  24. hive> exit;
复制代码
8. DWD层创建&数据接入

创建并执行dws_ddl.sql
  1. [root@node03 shell]# cd /home/warehouse/sql/
  2. [root@node03 sql]# vim dws_ddl.sql
  3. 创建或上传 dwd_ddl.sql
  4. [root@node03 warehouse]# hive -f /home/warehouse/sql/dwd_ddl.sql
复制代码
创建并执行dwd_db.sh
  1. [root@node03 shell]# cd /home/warehouse/shell/
  2. # 创建或上传 dwd_db.sh
  3. [root@node03 shell]# vim dwd_db.sh
  4. [root@node03 shell]# chmod +x dwd_db.sh
  5. [root@node03 shell]# ./dwd_db.sh 2020-08-29
复制代码
执行完成后,进入Hive查看数据是否接入
  1. ## 进入hive
  2. [root@node03 shell]# hive
  3. hive>use mall;
  4. hive>show tables;
  5. hive>select * from dwd_sku_info where df='2020-08-29' limit 2;
  6. hive> exit;
复制代码
9. DWS层创建&数据接入

创建并执行dws_ddl.sql
  1. # DWS层创建&数据接入 node03
  2. [root@node03 shell]# cd /home/warehouse/sql/
  3. [root@node03 shell]# vim dws_ddl.sql
  4. [root@node03 sql]# hive -f /home/warehouse/sql/dws_ddl.sql
复制代码
创建并执行dws_db.sh
  1. [root@node03 sql]# cd ../shell/
  2. [root@node03 shell]# vim dws_db.sh
  3. [root@node03 shell]# chmod +x dws_db.sh
  4. [root@node03 shell]# ./dws_db.sh 2020-08-29
复制代码
执行完成后,进入Hive查看数据是否接入
  1. [root@node03 shell]# hive
  2. hive> use mall;
  3. hive> show databases;
  4. hive> select * from dws_user_action where dt="2020-08-29" limit 2;
  5. OK
  6. SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
  7. SLF4J: Defaulting to no-operation (NOP) logger implementation
  8. SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
  9. 1       3       1593    2       665     2020-08-29
  10. 10      1       434     1       434     2020-08-29
  11. Time taken: 0.35 seconds, Fetched: 2 row(s)
  12. #  !!! 注意这里的SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder不用管
  13. hive> exit;
复制代码
10. ADS层复购率统计

创建并执行ads_sale_ddl.sql
  1. # ADS层复购率统计 node03
  2. [root@node03 shell]# cd /home/warehouse/sql/
  3. [root@node03 shell]# vim ads_sale_ddl.sql
  4. [root@node03 sql]# hive -f /home/warehouse/sql/ads_sale_ddl.sql
复制代码
创建并执行ads_sale.sh
  1. [root@node03 sql]# cd /home/warehouse/shell/
  2. [root@node03 shell]# vim ads_db.sh
  3. [root@node03 shell]# chmod +x ads_sale.sh
  4. [root@node03 shell]# ./ads_sale.sh 2020-08-29
  5. [root@node03 shell]# hive
  6. hive> use mall;
  7. hive> exit;
复制代码
11. ADS层数据导出

创建并执行mysql_sale.sql
  1. # ADS层数据导入
  2. # node02
  3. [root@node02 ~]# mkdir -p /home/warehouse/sql
  4. [root@node02 sql]# vim mysql_sale.sql
  5. [root@node02 sql]# export MYSQL_PWD=DBa2020*
  6. [root@node02 sql]# mysql -uroot mall < /home/warehouse/sql/mysql_sale.sql
  7. [root@node02 sql]# mysql
  8. mysql> use mall;
  9. mysql> show tables;
  10. +-------------------------------+
  11. | Tables_in_mall                |
  12. +-------------------------------+
  13. | ads_sale_tm_category1_stat_mn |
  14. | base_category1                |
  15. | base_category2                |
  16. | base_category3                |
  17. | order_detail                  |
  18. | order_info                    |
  19. | payment_info                  |
  20. | sku_info                      |
  21. | user_info                     |
  22. +-------------------------------+
  23. 9 rows in set (0.00 sec)
  24. mysql> exit;
复制代码
创建并执行sqoop_export.sh
  1. # node03
  2. [root@node03 ~]# cd /home/warehouse/shell/
  3. [root@node03 shell]# vim sqoop_export.sh
  4. [root@node03 shell]# chmod +x sqoop_export.sh
  5. [root@node03 shell]# ./sqoop_export.sh all
复制代码
如果这里报错 拒绝连接     MYSQLIO的问题, 一般这个拒绝连接错误都是MYSQL的问题,  可能由于网络不通畅的问题引起,  重启 node02 的网络服务, systemctl restart network
  1. # node02
  2. [root@node02 sql]# systemctl restart network
  3. [root@node02 sql]# mysql -uroot -pDBa2020*
  4. mysql> use mall;
  5. mysql> select * from ads_sale_tm_category1_stat_mn;
  6. +-------+--------------+----------------+----------+----------------+----------------------+-----------------+-----------------------+---------+------------+
  7. | tm_id | category1_id | category1_name | buycount | buy_twice_last | buy_twice_last_ratio | buy_3times_last | buy_3times_last_ratio | stat_mn | stat_date  |
  8. +-------+--------------+----------------+----------+----------------+----------------------+-----------------+-----------------------+---------+------------+
  9. | NULL  | NULL         | NULL           | 158      | 141            | 0.89                 | 107             | 0.79                  | 2020-08 | 2020-08-29 |
  10. | NULL  | NULL         | NULL           | 158      | 141            | 0.89                 | 107             | 0.79                  | 2020-08 | 2020-08-29 |
  11. | NULL  | NULL         | NULL           | 284      | 256            | 0.9                  | 207             | 0.81                  | 2020-08 | 2020-08-30 |
  12. +-------+--------------+----------------+----------+----------------+----------------------+-----------------+-----------------------+---------+------------+
  13. 3 rows in set (0.00 sec)
  14. mysql> exit;
复制代码
12. Azkaban自动化调度

Azkaban自动化调度, 生成数据
  1. # Azkaban自动化调度
  2. # 生成数据
  3. [root@node02 sql]# mysql -uroot -pDBa2020*
  4. mysql> use mall;
  5. mysql> CALL init_data('2020-08-30',300,200,300,FALSE);
  6. Query OK, 0 rows affected (0.70 sec)
复制代码
**准备mall_job.zip **
三个节点启动Azkaban
  1. # 准备mall_job.zip
  2. # 三个节点启动Azkaban
  3. [root@node01 ~]# azkaban-executor-start.sh
  4. [root@node02 ~]# azkaban-executor-start.sh
  5. [root@node03 ~]# azkaban-executor-start.sh
  6. [AzkabanExecutorServer] [Azkaban] Azkaban Executor Server started on port 12321
  7. # azkaban出问题时,可以重启, 关闭命令如下
  8. # 重启命令 azkaban-executor-shutdown.sh
复制代码
**启动Azkaban的web网页, 然后打开 https://192.168.192.178:8443/ **
  1. #node03 启动Azkaban的web网页
  2. [root@node03 shell]# cd /opt/app/azkaban/server/
  3. [root@node03 server]# azkaban-web-start.sh
复制代码
注意:
  1. # https://192.168.192.178:8443/         # node03 注意这里是https
  2. # Azkaban:
  3. # 账号:admin
  4. # 密码:admin
  5. # 创建project mall
  6. # 设置参数 dt 2020-08-30
  7. # 设置参数 useExecutor node03
复制代码
  1. # 等自动化调度任务执行完后
  2. # 到node02查看执行情况,新建一个node02连接终端
  3. [root@node02 ~]# mysql -uroot -pDBa2020*
  4. mysql> use mall;
  5. mysql> select * from ads_sale_tm_category1_stat_mn;
复制代码
13. 结果展示

14. 课后作业


15. 更换IP后所需要做的操作
  1. # http://192.168.192.176:50070/        # node01
  2. # https://192.168.192.178:8443/        # node03 注意这里是https
  3. # Azkaban:
  4. # 账号:admin
  5. # 密码:admin
  6. # 更改虚拟机静态IP地址
  7. # 更改host_ip.txt
  8. cd /home/hadoop/automaticDeploy/
  9. vim host_ip.txt
  10. systemctl restart network
  11. source /etc/profile
复制代码
16. 如何设置静态IP地址


  • 右键左下角windows
  • 点击网络连接 --> 网络和共享中心


  • 接下来按照自己电脑的ip改,我这里这是参考,具体得看每个人自己得电脑
查看自己电脑的ip信息
win+r打开运行cmd,然后输入ipconfig查看
17. 常见问题(未完持续更新中,欢迎补充!)

欢迎大家在搭建数据仓库的遇到的问题在评论区下方提出,也可以补充在下面
相应问题及解决方法:
/bin/bash^M: 坏的解释器: 没有那个文件或目录 : https://blog.csdn.net/qq_56870570/article/details/120182874
拒接连接:重启网络 systemctl restart network
VMware 运行 systemctl restart network失败:软件问题,请使用virtual box
作者:Oraer
都看到最后了,不点个赞+收藏吗?

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

雁过留声

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表