主頁 > 資料庫 > 超詳細【入門精講】資料倉庫原理&實戰 一步一步搭建資料倉庫 內附相應實驗代碼和鏡像資料和腳本

超詳細【入門精講】資料倉庫原理&實戰 一步一步搭建資料倉庫 內附相應實驗代碼和鏡像資料和腳本

2023-03-29 08:20:58 資料庫

超詳細【入門精講】資料倉庫原理&實戰 一步一步搭建資料倉庫 內附相應實驗代碼和鏡像資料和腳本

感謝B站UP主 哈嘍鵬程!!!

目錄
  • 0. B站課程鏈接 和 搭建資料倉庫資源下載
  • 1. 專案介紹及
    • 1.1專案介紹
    • 1.2 資料倉庫架構
    • 1.3 環境規劃
    • 1.4 整體開發流程
  • 2. 環境準備01-02(虛擬機和Xshell)
    • 2.1 軟體下載
    • 2.2 安裝Virtual Box及匯入OVA鏡像
    • 2.3 修改虛擬機靜態IP地址
    • 2.4 SSH鏈接虛擬機
  • 3. 環境搭建03 (腳本準備)
    • 3.1 安裝xshell上傳組件 lrzsz
  • 4. 環境搭建04 (集群安裝)
    • 4.1 安裝Hadoop
    • 4.2 安裝MYSQL
    • 4.3 安裝Hive
    • 4.4 安裝Sqoop
    • 4.5 安裝 Presto
  • 5. 專案流程&資料生成
  • 6. ETL資料匯入
  • 7. ODS層創建&資料接入
  • 8. DWD層創建&資料接入
  • 9. DWS層創建&資料接入
  • 10. ADS層復購率統計
  • 11. ADS層資料匯出
  • 12. Azkaban自動化調度
  • 13. 結果展示
  • 14. 課后作業
  • 15. 更換IP后所需要做的操作
  • 16. 如何設定靜態IP地址
  • 17. 常見問題(未完持續更新中,歡迎補充!)

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專案介紹

image-20230328174319743

1.2 資料倉庫架構

image-20230328175219754

1.3 環境規劃

image-20230328174547900

1.4 整體開發流程

image-20230328175509758

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就行,可以更改安裝路徑

image-20230327224724485

image-20230327224922737

image-20230327225053380

image-20230327225311322

node02,node03同樣的操作

虛擬機第一次打開的時候可能會有網路報錯,這個時候需要操作一下

image-20230327225530285

這里需要手動選擇一次網卡,注意是一定要再選擇一次

image-20230327225704752

然后可以開啟虛擬機了

三臺虛擬機用戶名及密碼進入虛擬機

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地址后,分別對三臺虛擬機node01node02node03進行修改

例如我的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
node02node03中的GATEWAY=192.168.192.1

修改組態檔 ifcfg-enp0s3

[root@node01 ~]# vim /etc/sysconfig/network-scripts/ifcfg-enp0s3
[root@node01 ~]# systemctl restart network
[root@node02 ~]# vim /etc/sysconfig/network-scripts/ifcfg-enp0s3
[root@node02 ~]# systemctl restart network
[root@node03 ~]# vim /etc/sysconfig/network-scripts/ifcfg-enp0s3
[root@node03 ~]# systemctl restart network

更新配置 systemctl restart network

注意node01沒有GATEWAY,node02node03有GATEWAY

image-20230320163722468

2.4 SSH鏈接虛擬機

這里使用 FinalShell SSH連接虛擬機

node01配置如下, node02和node03同理

image-20230327191341171

3. 環境搭建03 (腳本準備)

wget https://github.com/Mtlpc/automaticDeploy/archive/master.zip

或者直接去github下載 https://github.com/Mtlpc/automaticDeploy (建議直接去下載然后上傳到虛擬機, 如果你使用的是 FinalShell 可以直接上傳, 如果使用的是Xshell, 則需安裝上傳組件, 安裝方法在文章后面)

將下載好的檔案解壓到 /home/hadoop 下,并將該檔案的檔案名改成 automaticDeploy,否則運行會報錯

以下是 automaticDeploy 中的檔案

[root@node01 ~]# cd /home/hadoop/
[root@node01 hadoop]# unzip automaticDeploy.zip

# 給予可執行權限
[root@node01 hadoop]# chmod +x /home/hadoop/automaticDeploy/hadoop/* [root@node01 hadoop]# /home/hadoop/automaticDeploy/systems/*

# 檔案內容
[root@node01 hadoop]# ls automaticDeploy/
configs.txt  frames.txt  hadoop  host_ip.txt  logs.sh  README.md  systems

configs.txt 檔案內容如下:

# Mysql相關配置
mysql-root-password DBa2020* END
mysql-hive-password DBa2020* END
mysql-drive mysql-connector-java-5.1.26-bin.jar END
# azkaban相關配置
azkaban-mysql-user root END
azkaban-mysql-password DBa2020* END
azkaban-keystore-password 123456 END

host_ip.txt 檔案內容如下:

這個需要配置成自己的3個nodeip

192.168.31.41 node01 root 123456
192.168.31.42 node02 root 123456
192.168.31.43 node03 root 123456

farames.txt 檔案內容如下:

# 通用環境
jdk-8u144-linux-x64.tar.gz true
azkaban-sql-script-2.5.0.tar.gz true
# Node01
hadoop-2.7.7.tar.gz true node01
# Node02
mysql-rpm-pack-5.7.28 true node02
azkaban-executor-server-2.5.0.tar.gz true node02
azkaban-web-server-2.5.0.tar.gz true node02
presto-server-0.196.tar.gz true node02
# Node03
apache-hive-1.2.1-bin.tar.gz true node03
apache-tez-0.9.1-bin.tar.gz true node03
sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz true node03
yanagishima-18.0.zip true node03
# Muti
apache-flume-1.7.0-bin.tar.gz true node01,node02,node03
zookeeper-3.4.10.tar.gz true node01,node02,node03
kafka_2.11-0.11.0.2.tgz true node01,node02,node03

3.1 安裝xshell上傳組件 lrzsz

當然如果不使用Xshell的話, 使用FinalShell就可以不用安裝, FinalShell自帶檔案上傳組件

[root@node01 automaticDeploy]# yum install lrzsz -y

上傳 frames.zip 壓縮包

[root@node01 ~]# cd ~
[root@node01 ~]# unzip frames.zip -d /home/hadoop/automaticDeploy/

[root@node01 ~]# ssh [email protected] "mkdir /home/hadoop"
[root@node01 ~]# ssh [email protected] "mkdir /home/hadoop"

修改 automaticDeploy 檔案夾下的 host_ip.txt 檔案, 修改結果如下

這個需要配置成自己的3個nodeip

192.168.192.176 node01 root 123456
192.168.192.177 node02 root 123456
192.168.192.178 node03 root 123456

automaticDeploy 通過scp命令拷貝到 node02node03

# 將修改后的automaticDeploy復制到node02,node03
[root@node01 hadoop]# scp -r /home/hadoop/automaticDeploy/ [email protected]:/home/hadoop/
[root@node01 hadoop]# scp -r /home/hadoop/automaticDeploy/ [email protected]:/home/hadoop/

拷貝完成后, 可以去 node02 , node03 上的 /home/hadoop/ 路徑下進行確認

4. 環境搭建04 (集群安裝)

恭喜你完成了以上操作, 到這一步正式開始環境搭建

# 分別在node01,node02,node03運行批處理腳本 batchOperate.sh 進行初始化
# 更新yum源, 免密鑰登入,安裝JDK,配置HOST 
# node01
[root@node01 ~]# cd automaticDeploy
[root@node01 automaticDeploy]# cd systems/
[root@node01 systems]# ./batchOperate.sh

# node02
[root@node02 ~]# cd automaticDeploy/systems/
[root@node02 systems]# ./batchOperate.sh

# node03
[root@node03 ~]# cd automaticDeploy/systems/
[root@node03 systems]# ./batchOperate.sh

驗證三臺虛擬機是否能夠互相連接,

注意: 每連完一臺虛擬機后都要退出, 然后再連接另一臺

# 分別SSH另外兩臺虛擬機, exit 退出SSH
# 示例:  [root@node02 ~]# exit
# node01
[root@node01 systems]# ssh node02
[root@node01 systems]# ssh node03

# node02
[root@node02 systems]# ssh node01
[root@node02 systems]# ssh node03

# node03
[root@node03 systems]# ssh node01
[root@node03 systems]# ssh node02

腳本免密登錄失敗的話,可以手動進行免密登錄操作

# 腳本免密登錄失敗的話,可以手動進行免密登錄操作
# 以下為示例
[root@node01 ~]# ssh-copy-id node02

4.1 安裝Hadoop

分別在三臺虛擬機上依次執行

[root@node01 hadoop]# ./installHadoop.sh
[root@node02 hadoop]# ./installHadoop.sh
[root@node03 hadoop]# ./installHadoop.sh

安裝完成后, 更新環境變數

[root@node01 hadoop]# source /etc/profile
[root@node02 hadoop]# source /etc/profile
[root@node03 hadoop]# source /etc/profile

node01 上初始化 hadoop

[root@node01 hadoop]# hadoop namenode -format

node01 上啟動 hadoop 集群

[root@node01 ~]# start-all.sh

jps查看是否運行成功, node01有6個行程

[root@node01 ~]# jps
6193 NameNode
6628 SecondaryNameNode
7412 Jps
6373 DataNode
6901 ResourceManager
7066 NodeManager

node02

[root@node02 ~]# jps
5952 NodeManager
6565 Jps
5644 DataNode

node03

[root@node03 ~]# jps
6596 Jps
5594 DataNode
5902 NodeManager

進行到這一步, hadoop已經安裝成功

可以打開瀏覽器,訪問 node0150070 埠, 進入hadoop的web界面

image-20230327215630657 image-20230327215647962

4.2 安裝MYSQL

node02 上安裝 MYSQL

[root@node02 hadoop]# ./installMysql.sh

MYSQL安裝成功后, 運行MYSQL

[root@node02 hadoop]# mysql -uroot -pDBa2020*
mysql> show databases;
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| azkaban            |
| hive               |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
6 rows in set (0.01 sec)

4.3 安裝Hive

node03 上安裝 Hive, 安裝程序會自動安裝 Tez

[root@node03 hadoop]# ./installHive.sh

如果是INFO資訊報錯, 可以不用管

4.4 安裝Sqoop

接著在 node03 上安裝 Sqoop

[root@node03 hadoop]# ./installSqoop.sh
[root@node03 hadoop]# source /etc/profile

4.5 安裝 Presto

分別在node01,node02, node03 上安裝 Presto

Presto服務埠為8080

# Presto服務埠為8080
[root@node01 hadoop]# ./installPresto.sh
[root@node02 hadoop]# ./installPresto.sh
[root@node03 hadoop]# ./installPresto.sh

,接著分別在node01,node02, node03上安裝Azkaban

[root@node01 hadoop]# ./installAzkaban.sh
[root@node02 hadoop]# ./installAzkaban.sh
[root@node03 hadoop]# ./installAzkaban.sh

為Presto安裝一個插件,帶來可視化的效果

Yanagishima服務埠為7080

# Yanagishima服務埠為7080
[root@node03 hadoop]# ./installYanagishima.sh

分別在node01,node02,node03上更新環境變數

# 分別在node01,node02,node03運行更新環境變數
[root@node01 hadoop]# source /etc/profile
[root@node02 hadoop]# source /etc/profile
[root@node03 hadoop]# source /etc/profile

5. 專案流程&資料生成

image-20230320201139893

創建資料庫mall

# 匯入臨時環境變數
[root@node01 hadoop]# export MYSQL_PWD=DBa2020*
[root@node01 hadoop]# mysql -uroot -e "create database mall;"

進入到 /home 目錄下

[root@node02 hadoop]# cd /home/

上傳生成資料腳本

image-20230327202807444

將資料生成腳本上傳到資料庫中

[root@node02 home]# mysql -uroot mall < /root/1建表腳本.sql
[root@node02 home]# mysql -uroot mall < /root/2商品分類資料插入腳本.sql
[root@node02 home]# mysql -uroot mall < /root/3函式腳本.sql
[root@node02 home]# mysql -uroot mall < /root/3函式腳本.sql
[root@node02 home]# mysql
mysql>use mall;
mysql>CALL init_data('2020-08-29',300,200,300,False);
mysql>select count(1) from user_info; 
mysql>show tables;

生成了300個訂單, 200個用戶, 300個商品,False不洗掉資料

6. ETL資料匯入

[root@node03 ~]# mkdir -p /home/warehouse/shell
[root@node03 shell]# cd  /home/warehouse/shell/
[root@node03 shell]# vim sqoop_import.sh

[root@node03 shell]# chmod +x sqoop_import.sh
[root@node03 shell]# ./sqoop_import.sh all 2020-08-29

網頁可視化查看資料是否匯入 http://192.168.192.176:50070/

image-20230327172816680

一共是8張表, 如果沒有8張表的話, 建議多運行 ./sqoop_import.sh all 2020-08-29 命令幾次

到這里,表示我們ETL任務已經成功了

7. ODS層創建&資料接入

啟動Hive

# 啟動Hive
[root@node03 shell]# hive --service hiveserver2 &

啟動Hive的metastore服務

# 啟動Hive的metastore
[root@node03 shell]# hive --service metastore &

如果這里報錯 拒絕連接 , MSQL拒絕連接, 可能由于網路不通暢的問題引起, 在node03上試一下能不能連接到node02 , 連接不了的話可以重啟 node02 的網路服務, systemctl restart network

[root@node02 ~]# systemctl restart network

ODS層創建&資料匯入

# ODS層創建&資料匯入
[root@node03 ~]# cd /home/warehouse
[root@node03 warehouse]# mkdir sql/
[root@node03 warehouse]# cd sql/
[root@node03 sql]# vim ods_ddl.sql
[root@node03 sql]# hive -f /home/warehouse/sql/ods_ddl.sql

如果很長時間都沒有出結果, 可以 Ctrl + c 終止

查看剛剛Hive進行的兩個服務

[root@node03 sql]# jps
2378 NodeManager
2133 DataNode
7288 RunJar
7210 RunJar
7646 Jps

[root@node03 sql]# jps -m
.
.
.
7288 RunJar       .... /... /... / ....... / hadoop.hive.metastore.HiveMetaStore
.
.
.
# kill metastore服務
[root@node03 sql]# kill -9 7288

# 然后再重啟 metastore, metasore服務需要連接mysql服務, 所以需要與node02網路通暢
[root@node03 sql]# hive --service metastore &

# 沒有報錯,重新執行 hive -f /home/warehouse/sql/ods_ddl.sql
[root@node03 sql]# hive -f /home/warehouse/sql/ods_ddl.sql

執行完后,進入Hive查看, 一共8張表

## 進入hive
[root@node03 shell]# hive
hive>use mall;
OK
Time taken: 0.55 seconds
hive>show tables;

hive>exit;

資料有了,然后完成資料的匯入

[root@node03 shell]# cd ..
[root@node03 shell]# cd shell/
# 創建或上傳 obs_db.sh
[root@node03 shell]# vim obs_db.sh
[root@node03 shell]# chmod +x obs_db.sh
[root@node03 shell]# ./ods_db.sh 2020-08-29

執行完成后,進入Hive查看資料是否匯入

## 進入hive
[root@node03 shell]# hive
hive> use mall;
OK
Time taken: 0.55 seconds
hive> show tables;
hive> select count(1) from ods_user_info; 
Query ID = root_20230327220623_2ce7b554-c007-4d37-b282-87a3227c2f16
Total jobs = 1
Launching Job 1 out of 1


Status: Running (Executing on YARN cluster with App id application_1679925264749_0002)

--------------------------------------------------------------------------------
        VERTICES      STATUS  TOTAL  COMPLETED  RUNNING  PENDING  FAILED  KILLED
--------------------------------------------------------------------------------
Map 1 ..........   SUCCEEDED      2          2        0        0       0       0
Reducer 2 ......   SUCCEEDED      1          1        0        0       0       0
--------------------------------------------------------------------------------
VERTICES: 02/02  [==========================>>] 100%  ELAPSED TIME: 7.56 s     
--------------------------------------------------------------------------------
OK
200
Time taken: 9.383 seconds, Fetched: 1 row(s)
# 200條資料
hive> exit;

8. DWD層創建&資料接入

創建并執行dws_ddl.sql

[root@node03 shell]# cd /home/warehouse/sql/
[root@node03 sql]# vim dws_ddl.sql
創建或上傳 dwd_ddl.sql
[root@node03 warehouse]# hive -f /home/warehouse/sql/dwd_ddl.sql

創建并執行dwd_db.sh

[root@node03 shell]# cd /home/warehouse/shell/
# 創建或上傳 dwd_db.sh
[root@node03 shell]# vim dwd_db.sh
[root@node03 shell]# chmod +x dwd_db.sh
[root@node03 shell]# ./dwd_db.sh 2020-08-29

執行完成后,進入Hive查看資料是否接入

## 進入hive
[root@node03 shell]# hive
hive>use mall;
hive>show tables;
hive>select * from dwd_sku_info where df='2020-08-29' limit 2;
hive> exit;

9. DWS層創建&資料接入

創建并執行dws_ddl.sql

# DWS層創建&資料接入 node03
[root@node03 shell]# cd /home/warehouse/sql/
[root@node03 shell]# vim dws_ddl.sql
[root@node03 sql]# hive -f /home/warehouse/sql/dws_ddl.sql

創建并執行dws_db.sh

[root@node03 sql]# cd ../shell/
[root@node03 shell]# vim dws_db.sh
[root@node03 shell]# chmod +x dws_db.sh
[root@node03 shell]# ./dws_db.sh 2020-08-29

執行完成后,進入Hive查看資料是否接入

[root@node03 shell]# hive
hive> use mall;
hive> show databases;
hive> select * from dws_user_action where dt="2020-08-29" limit 2;
OK
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
1       3       1593    2       665     2020-08-29
10      1       434     1       434     2020-08-29
Time taken: 0.35 seconds, Fetched: 2 row(s)
#  !!! 注意這里的SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder不用管

hive> exit;

10. ADS層復購率統計

創建并執行ads_sale_ddl.sql

# ADS層復購率統計 node03
[root@node03 shell]# cd /home/warehouse/sql/
[root@node03 shell]# vim ads_sale_ddl.sql
[root@node03 sql]# hive -f /home/warehouse/sql/ads_sale_ddl.sql

創建并執行ads_sale.sh

[root@node03 sql]# cd /home/warehouse/shell/
[root@node03 shell]# vim ads_db.sh
[root@node03 shell]# chmod +x ads_sale.sh
[root@node03 shell]# ./ads_sale.sh 2020-08-29
[root@node03 shell]# hive
hive> use mall;
hive> exit;

11. ADS層資料匯出

創建并執行mysql_sale.sql

# ADS層資料匯入 
# node02
[root@node02 ~]# mkdir -p /home/warehouse/sql
[root@node02 sql]# vim mysql_sale.sql
[root@node02 sql]# export MYSQL_PWD=DBa2020*
[root@node02 sql]# mysql -uroot mall < /home/warehouse/sql/mysql_sale.sql
[root@node02 sql]# mysql
mysql> use mall;
mysql> show tables;
+-------------------------------+
| Tables_in_mall                |
+-------------------------------+
| ads_sale_tm_category1_stat_mn |
| base_category1                |
| base_category2                |
| base_category3                |
| order_detail                  |
| order_info                    |
| payment_info                  |
| sku_info                      |
| user_info                     |
+-------------------------------+
9 rows in set (0.00 sec)
mysql> exit;

創建并執行sqoop_export.sh

# node03
[root@node03 ~]# cd /home/warehouse/shell/
[root@node03 shell]# vim sqoop_export.sh
[root@node03 shell]# chmod +x sqoop_export.sh
[root@node03 shell]# ./sqoop_export.sh all

如果這里報錯 拒絕連接 MYSQLIO的問題, 一般這個拒絕連接錯誤都是MYSQL的問題, 可能由于網路不通暢的問題引起, 重啟 node02 的網路服務, systemctl restart network

# node02
[root@node02 sql]# systemctl restart network
[root@node02 sql]# mysql -uroot -pDBa2020*
mysql> use mall;
mysql> select * from ads_sale_tm_category1_stat_mn;
+-------+--------------+----------------+----------+----------------+----------------------+-----------------+-----------------------+---------+------------+
| 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  |
+-------+--------------+----------------+----------+----------------+----------------------+-----------------+-----------------------+---------+------------+
| NULL  | NULL         | NULL           | 158      | 141            | 0.89                 | 107             | 0.79                  | 2020-08 | 2020-08-29 |
| NULL  | NULL         | NULL           | 158      | 141            | 0.89                 | 107             | 0.79                  | 2020-08 | 2020-08-29 |
| NULL  | NULL         | NULL           | 284      | 256            | 0.9                  | 207             | 0.81                  | 2020-08 | 2020-08-30 |
+-------+--------------+----------------+----------+----------------+----------------------+-----------------+-----------------------+---------+------------+
3 rows in set (0.00 sec)

mysql> exit;

12. Azkaban自動化調度

Azkaban自動化調度, 生成資料

# Azkaban自動化調度
# 生成資料
[root@node02 sql]# mysql -uroot -pDBa2020*
mysql> use mall;
mysql> CALL init_data('2020-08-30',300,200,300,FALSE);
Query OK, 0 rows affected (0.70 sec)

**準備mall_job.zip **

三個節點啟動Azkaban

# 準備mall_job.zip
# 三個節點啟動Azkaban
[root@node01 ~]# azkaban-executor-start.sh
[root@node02 ~]# azkaban-executor-start.sh
[root@node03 ~]# azkaban-executor-start.sh
[AzkabanExecutorServer] [Azkaban] Azkaban Executor Server started on port 12321

# azkaban出問題時,可以重啟, 關閉命令如下
# 重啟命令 azkaban-executor-shutdown.sh

**啟動Azkaban的web網頁, 然后打開 https://192.168.192.178:8443/ **

#node03 啟動Azkaban的web網頁
[root@node03 shell]# cd /opt/app/azkaban/server/
[root@node03 server]# azkaban-web-start.sh

注意:

# https://192.168.192.178:8443/         # node03 注意這里是https
# Azkaban:
# 賬號:admin
# 密碼:admin
# 創建project mall
# 設定引數 dt 2020-08-30
# 設定引數 useExecutor node03
# 等自動化調度任務執行完后
# 到node02查看執行情況,新建一個node02連接終端
[root@node02 ~]# mysql -uroot -pDBa2020*
mysql> use mall;
mysql> select * from ads_sale_tm_category1_stat_mn;

13. 結果展示

image-20230321203237750 image-20230321203336576

14. 課后作業

image-20230321195450264

15. 更換IP后所需要做的操作

# http://192.168.192.176:50070/        # node01
# https://192.168.192.178:8443/        # node03 注意這里是https
# Azkaban:
# 賬號:admin
# 密碼:admin

# 更改虛擬機靜態IP地址
# 更改host_ip.txt
cd /home/hadoop/automaticDeploy/
vim host_ip.txt
systemctl restart network

source /etc/profile

16. 如何設定靜態IP地址

  • 右鍵左下角windows
  • 點擊網路連接 --> 網路和共享中心
image-20230321201835589 image-20230321202232709
  • 接下來按照自己電腦的ip改,我這里這是參考,具體得看每個人自己得電腦
image-20230321202410214

查看自己電腦的ip資訊

win+r打開運行cmd,然后輸入ipconfig查看

image-20230321202605814 image-20230321202753917

17. 常見問題(未完持續更新中,歡迎補充!)

歡迎大家在搭建資料倉庫的遇到的問題在評論區下方提出,也可以補充在下面

相應問題及解決方法:

/bin/bash^M: 壞的解釋器: 沒有那個檔案或目錄 : https://blog.csdn.net/qq_56870570/article/details/120182874

拒接連接:重啟網路 systemctl restart network

VMware 運行 systemctl restart network失敗:軟體問題,請使用virtual box

作者:Oraer

都看到最后了,不點個贊+收藏嗎?

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/548501.html

標籤:其他

上一篇:MySQL學習筆記-存盤引擎

下一篇:TiDB SQL調優案例之避免TiFlash幫倒忙

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • GPU虛擬機創建時間深度優化

    **?桔妹導讀:**GPU虛擬機實體創建速度慢是公有云面臨的普遍問題,由于通常情況下創建虛擬機屬于低頻操作而未引起業界的重視,實際生產中還是存在對GPU實體創建時間有苛刻要求的業務場景。本文將介紹滴滴云在解決該問題時的思路、方法、并展示最終的優化成果。 從公有云服務商那里購買過虛擬主機的資深用戶,一 ......

    uj5u.com 2020-09-10 06:09:13 more
  • 可編程網卡芯片在滴滴云網路的應用實踐

    **?桔妹導讀:**隨著云規模不斷擴大以及業務層面對延遲、帶寬的要求越來越高,采用DPDK 加速網路報文處理的方式在橫向縱向擴展都出現了局限性。可編程芯片成為業界熱點。本文主要講述了可編程網卡芯片在滴滴云網路中的應用實踐,遇到的問題、帶來的收益以及開源社區貢獻。 #1. 資料中心面臨的問題 隨著滴滴 ......

    uj5u.com 2020-09-10 06:10:21 more
  • 滴滴資料通道服務演進之路

    **?桔妹導讀:**滴滴資料通道引擎承載著全公司的資料同步,為下游實時和離線場景提供了必不可少的源資料。隨著任務量的不斷增加,資料通道的整體架構也隨之發生改變。本文介紹了滴滴資料通道的發展歷程,遇到的問題以及今后的規劃。 #1. 背景 資料,對于任何一家互聯網公司來說都是非常重要的資產,公司的大資料 ......

    uj5u.com 2020-09-10 06:11:05 more
  • 滴滴AI Labs斬獲國際機器翻譯大賽中譯英方向世界第三

    **桔妹導讀:**深耕人工智能領域,致力于探索AI讓出行更美好的滴滴AI Labs再次斬獲國際大獎,這次獲獎的專案是什么呢?一起來看看詳細報道吧! 近日,由國際計算語言學協會ACL(The Association for Computational Linguistics)舉辦的世界最具影響力的機器 ......

    uj5u.com 2020-09-10 06:11:29 more
  • MPP (Massively Parallel Processing)大規模并行處理

    1、什么是mpp? MPP (Massively Parallel Processing),即大規模并行處理,在資料庫非共享集群中,每個節點都有獨立的磁盤存盤系統和記憶體系統,業務資料根據資料庫模型和應用特點劃分到各個節點上,每臺資料節點通過專用網路或者商業通用網路互相連接,彼此協同計算,作為整體提供 ......

    uj5u.com 2020-09-10 06:11:41 more
  • 滴滴資料倉庫指標體系建設實踐

    **桔妹導讀:**指標體系是什么?如何使用OSM模型和AARRR模型搭建指標體系?如何統一流程、規范化、工具化管理指標體系?本文會對建設的方法論結合滴滴資料指標體系建設實踐進行解答分析。 #1. 什么是指標體系 ##1.1 指標體系定義 指標體系是將零散單點的具有相互聯系的指標,系統化的組織起來,通 ......

    uj5u.com 2020-09-10 06:12:52 more
  • 單表千萬行資料庫 LIKE 搜索優化手記

    我們經常在資料庫中使用 LIKE 運算子來完成對資料的模糊搜索,LIKE 運算子用于在 WHERE 子句中搜索列中的指定模式。 如果需要查找客戶表中所有姓氏是“張”的資料,可以使用下面的 SQL 陳述句: SELECT * FROM Customer WHERE Name LIKE '張%' 如果需要 ......

    uj5u.com 2020-09-10 06:13:25 more
  • 滴滴Ceph分布式存盤系統優化之鎖優化

    **桔妹導讀:**Ceph是國際知名的開源分布式存盤系統,在工業界和學術界都有著重要的影響。Ceph的架構和演算法設計發表在國際系統領域頂級會議OSDI、SOSP、SC等上。Ceph社區得到Red Hat、SUSE、Intel等大公司的大力支持。Ceph是國際云計算領域應用最廣泛的開源分布式存盤系統, ......

    uj5u.com 2020-09-10 06:14:51 more
  • es~通過ElasticsearchTemplate進行聚合~嵌套聚合

    之前寫過《es~通過ElasticsearchTemplate進行聚合操作》的文章,這一次主要寫一個嵌套的聚合,例如先對sex集合,再對desc聚合,最后再對age求和,共三層嵌套。 Aggregations的部分特性類似于SQL語言中的group by,avg,sum等函式,Aggregation ......

    uj5u.com 2020-09-10 06:14:59 more
  • 爬蟲日志監控 -- Elastc Stack(ELK)部署

    傻瓜式部署,只需替換IP與用戶 導讀: 現ELK四大組件分別為:Elasticsearch(核心)、logstash(處理)、filebeat(采集)、kibana(可視化) 下載均在https://www.elastic.co/cn/downloads/下tar包,各組件版本最好一致,配合fdm會 ......

    uj5u.com 2020-09-10 06:15:05 more
最新发布
  • day02-2-商鋪查詢快取

    功能02-商鋪查詢快取 3.商鋪詳情快取查詢 3.1什么是快取? 快取就是資料交換的緩沖區(稱作Cache),是存盤資料的臨時地方,一般讀寫性能較高。 快取的作用: 降低后端負載 提高讀寫效率,降低回應時間 快取的成本: 資料一致性成本 代碼維護成本 運維成本 3.2需求說明 如下,當我們點擊商店詳 ......

    uj5u.com 2023-04-20 08:33:24 more
  • MySQL中binlog備份腳本分享

    關于MySQL的二進制日志(binlog),我們都知道二進制日志(binlog)非常重要,尤其當你需要point to point災難恢復的時侯,所以我們要對其進行備份。關于二進制日志(binlog)的備份,可以基于flush logs方式先切換binlog,然后拷貝&壓縮到到遠程服務器或本地服務器 ......

    uj5u.com 2023-04-20 08:28:06 more
  • day02-短信登錄

    功能實作02 2.功能01-短信登錄 2.1基于Session實作登錄 2.1.1思路分析 2.1.2代碼實作 2.1.2.1發送短信驗證碼 發送短信驗證碼: 發送驗證碼的介面為:http://127.0.0.1:8080/api/user/code?phone=xxxxx<手機號> 請求方式:PO ......

    uj5u.com 2023-04-20 08:27:27 more
  • 快取與資料庫雙寫一致性幾種策略分析

    本文將對幾種快取與資料庫保證資料一致性的使用方式進行分析。為保證高并發性能,以下分析場景不考慮執行的原子性及加鎖等強一致性要求的場景,僅追求最終一致性。 ......

    uj5u.com 2023-04-20 08:26:48 more
  • sql陳述句優化

    問題查找及措施 問題查找 需要找到具體的代碼,對其進行一對一優化,而非一直把關注點放在服務器和sql平臺 降低簡化每個事務中處理的問題,盡量不要讓一個事務拖太長的時間 例如檔案上傳時,應將檔案上傳這一步放在事務外面 微軟建議 4.啟動sql定時執行計劃 怎么啟動sqlserver代理服務-百度經驗 ......

    uj5u.com 2023-04-20 08:26:35 more
  • 云時代,MySQL到ClickHouse資料同步產品對比推薦

    ClickHouse 在執行分析查詢時的速度優勢很好的彌補了MySQL的不足,但是對于很多開發者和DBA來說,如何將MySQL穩定、高效、簡單的同步到 ClickHouse 卻很困難。本文對比了 NineData、MaterializeMySQL(ClickHouse自帶)、Bifrost 三款產品... ......

    uj5u.com 2023-04-20 08:26:29 more
  • sql陳述句優化

    問題查找及措施 問題查找 需要找到具體的代碼,對其進行一對一優化,而非一直把關注點放在服務器和sql平臺 降低簡化每個事務中處理的問題,盡量不要讓一個事務拖太長的時間 例如檔案上傳時,應將檔案上傳這一步放在事務外面 微軟建議 4.啟動sql定時執行計劃 怎么啟動sqlserver代理服務-百度經驗 ......

    uj5u.com 2023-04-20 08:25:13 more
  • Redis 報”OutOfDirectMemoryError“(堆外記憶體溢位)

    Redis 報錯“OutOfDirectMemoryError(堆外記憶體溢位) ”問題如下: 一、報錯資訊: 使用 Redis 的業務介面 ,產生 OutOfDirectMemoryError(堆外記憶體溢位),如圖: 格式化后的報錯資訊: { "timestamp": "2023-04-17 22: ......

    uj5u.com 2023-04-20 08:24:54 more
  • day02-2-商鋪查詢快取

    功能02-商鋪查詢快取 3.商鋪詳情快取查詢 3.1什么是快取? 快取就是資料交換的緩沖區(稱作Cache),是存盤資料的臨時地方,一般讀寫性能較高。 快取的作用: 降低后端負載 提高讀寫效率,降低回應時間 快取的成本: 資料一致性成本 代碼維護成本 運維成本 3.2需求說明 如下,當我們點擊商店詳 ......

    uj5u.com 2023-04-20 08:24:03 more
  • day02-短信登錄

    功能實作02 2.功能01-短信登錄 2.1基于Session實作登錄 2.1.1思路分析 2.1.2代碼實作 2.1.2.1發送短信驗證碼 發送短信驗證碼: 發送驗證碼的介面為:http://127.0.0.1:8080/api/user/code?phone=xxxxx<手機號> 請求方式:PO ......

    uj5u.com 2023-04-20 08:23:11 more