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

来源:https://www.cnblogs.com/Oraer/archive/2023/03/28/17266220.html
-Advertisement-
Play Games

超詳細【入門精講】數據倉庫原理&實戰 一步一步搭建數據倉庫 內附相應實驗代碼和鏡像數據和腳本,參考B站up主哈嘍鵬程視頻撰寫而成,感謝!!! ...


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

感謝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項目介紹

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

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


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 本文屬於OData系列 目錄 武裝你的WEBAPI-OData入門 武裝你的WEBAPI-OData便捷查詢 武裝你的WEBAPI-OData分頁查詢 武裝你的WEBAPI-OData資源更新Delta 武裝你的WEBAPI-OData之EDM 武裝你的WEBAPI-OData常見問題 武裝你的WE ...
  • 一、前言 在最近的項目開發中,涉及到瞭解析DICOM文件。根據百度百科可知,DICOM(Digital Imaging and Communications in Medicine)即醫學數字成像和通信,是醫學圖像和相關信息的國際標準(ISO 12052)。它定義了質量能滿足臨床需要的可用於數據交換 ...
  • 一:背景 1. 講故事 前段時間收到了一個朋友的求助,說他的ERP網站系統會出現偶發性崩潰,找了好久也沒找到是什麼原因,讓我幫忙看下,其實崩潰好說,用 procdump 自動抓一個就好,拿到 dump 之後,接下來就是一頓分析了。 二:WinDbg 分析 1. 是什麼導致的崩潰 windbg 有一個 ...
  • 操作系統 移動端 安卓 iOS 鴻蒙 其他工業系統 桌面端 Windows MaciOS Unix Linux 伺服器 Unix Linux 購買主機 阿裡雲 騰訊雲 華為雲 其他雲平臺 虛擬機 宿主主機 物理硬體 CPU 記憶體 硬碟 操作系統 Mac Windows 虛擬機 Virtual Box ...
  • 一·依賴包以及下載地址 本文使用到的離線包: apr-1.7.0.tar.gz apr-util-1.6.1.tar.gz pcre2-10.40.tar.gz expat-2.1.0-14.el7_9.x86_64.rpm expat-devel-2.1.0-14.el7_9.x86_64.rpm ...
  • SFTP 常用命令 通過堡壘機進入的 Linux 操作系統,無法直接使用 WinSCP 等工具進行文件的上傳下載。 可使用 SecureCRT 先進入命令行模式 ...
  • 1. 概述 1.1. SQL-92標準裡加入的最有用的特性 1.2. 寫法 1.2.1. 簡單CASE表達式 CASE sex WHEN '1' THEN ’男’ WHEN '2' THEN ’女’ ELSE ’其他’ END 1.2.1.1. 寫法簡單,但能實現的事情比較有限 1.2.2. 搜索C ...
  • 背景 早上收到某系統的告警tidb節點掛掉無法訪問,情況十萬火急。登錄中控機查了一下display信息,4個TiDB、Prometheus、Grafana全掛了,某台機器hang死無法連接,經過快速重啟後集群恢復,經排查後是昨天上線的某個SQL導致頻繁OOM。 於是開始亡羊補牢,來一波近期慢SQL巡 ...
一周排行
    -Advertisement-
    Play Games
  • Dapr Outbox 是1.12中的功能。 本文只介紹Dapr Outbox 執行流程,Dapr Outbox基本用法請閱讀官方文檔 。本文中appID=order-processor,topic=orders 本文前提知識:熟悉Dapr狀態管理、Dapr發佈訂閱和Outbox 模式。 Outbo ...
  • 引言 在前幾章我們深度講解了單元測試和集成測試的基礎知識,這一章我們來講解一下代碼覆蓋率,代碼覆蓋率是單元測試運行的度量值,覆蓋率通常以百分比表示,用於衡量代碼被測試覆蓋的程度,幫助開發人員評估測試用例的質量和代碼的健壯性。常見的覆蓋率包括語句覆蓋率(Line Coverage)、分支覆蓋率(Bra ...
  • 前言 本文介紹瞭如何使用S7.NET庫實現對西門子PLC DB塊數據的讀寫,記錄了使用電腦模擬,模擬PLC,自至完成測試的詳細流程,並重點介紹了在這個過程中的易錯點,供參考。 用到的軟體: 1.Windows環境下鏈路層網路訪問的行業標準工具(WinPcap_4_1_3.exe)下載鏈接:http ...
  • 從依賴倒置原則(Dependency Inversion Principle, DIP)到控制反轉(Inversion of Control, IoC)再到依賴註入(Dependency Injection, DI)的演進過程,我們可以理解為一種逐步抽象和解耦的設計思想。這種思想在C#等面向對象的編 ...
  • 關於Python中的私有屬性和私有方法 Python對於類的成員沒有嚴格的訪問控制限制,這與其他面相對對象語言有區別。關於私有屬性和私有方法,有如下要點: 1、通常我們約定,兩個下劃線開頭的屬性是私有的(private)。其他為公共的(public); 2、類內部可以訪問私有屬性(方法); 3、類外 ...
  • C++ 訪問說明符 訪問說明符是 C++ 中控制類成員(屬性和方法)可訪問性的關鍵字。它們用於封裝類數據並保護其免受意外修改或濫用。 三種訪問說明符: public:允許從類外部的任何地方訪問成員。 private:僅允許在類內部訪問成員。 protected:允許在類內部及其派生類中訪問成員。 示 ...
  • 寫這個隨筆說一下C++的static_cast和dynamic_cast用在子類與父類的指針轉換時的一些事宜。首先,【static_cast,dynamic_cast】【父類指針,子類指針】,兩兩一組,共有4種組合:用 static_cast 父類轉子類、用 static_cast 子類轉父類、使用 ...
  • /******************************************************************************************************** * * * 設計雙向鏈表的介面 * * * * Copyright (c) 2023-2 ...
  • 相信接觸過spring做開發的小伙伴們一定使用過@ComponentScan註解 @ComponentScan("com.wangm.lifecycle") public class AppConfig { } @ComponentScan指定basePackage,將包下的類按照一定規則註冊成Be ...
  • 操作系統 :CentOS 7.6_x64 opensips版本: 2.4.9 python版本:2.7.5 python作為腳本語言,使用起來很方便,查了下opensips的文檔,支持使用python腳本寫邏輯代碼。今天整理下CentOS7環境下opensips2.4.9的python模塊筆記及使用 ...