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

来源: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
  • 概述:本文代碼示例演示瞭如何在WPF中使用LiveCharts庫創建動態條形圖。通過創建數據模型、ViewModel和在XAML中使用`CartesianChart`控制項,你可以輕鬆實現圖表的數據綁定和動態更新。我將通過清晰的步驟指南包括詳細的中文註釋,幫助你快速理解並應用這一功能。 先上效果: 在 ...
  • openGauss(GaussDB ) openGauss是一款全面友好開放,攜手伙伴共同打造的企業級開源關係型資料庫。openGauss採用木蘭寬鬆許可證v2發行,提供面向多核架構的極致性能、全鏈路的業務、數據安全、基於AI的調優和高效運維的能力。openGauss深度融合華為在資料庫領域多年的研 ...
  • openGauss(GaussDB ) openGauss是一款全面友好開放,攜手伙伴共同打造的企業級開源關係型資料庫。openGauss採用木蘭寬鬆許可證v2發行,提供面向多核架構的極致性能、全鏈路的業務、數據安全、基於AI的調優和高效運維的能力。openGauss深度融合華為在資料庫領域多年的研 ...
  • 概述:本示例演示了在WPF應用程式中實現多語言支持的詳細步驟。通過資源字典和數據綁定,以及使用語言管理器類,應用程式能夠在運行時動態切換語言。這種方法使得多語言支持更加靈活,便於維護,同時提供清晰的代碼結構。 在WPF中實現多語言的一種常見方法是使用資源字典和數據綁定。以下是一個詳細的步驟和示例源代 ...
  • 描述(做一個簡單的記錄): 事件(event)的本質是一個委托;(聲明一個事件: public event TestDelegate eventTest;) 委托(delegate)可以理解為一個符合某種簽名的方法類型;比如:TestDelegate委托的返回數據類型為string,參數為 int和 ...
  • 1、AOT適合場景 Aot適合工具類型的項目使用,優點禁止反編 ,第一次啟動快,業務型項目或者反射多的項目不適合用AOT AOT更新記錄: 實實在在經過實踐的AOT ORM 5.1.4.117 +支持AOT 5.1.4.123 +支持CodeFirst和非同步方法 5.1.4.129-preview1 ...
  • 總說周知,UWP 是運行在沙盒裡面的,所有許可權都有嚴格限制,和沙盒外交互也需要特殊的通道,所以從根本杜絕了 UWP 毒瘤的存在。但是實際上 UWP 只是一個應用模型,本身是沒有什麼許可權管理的,許可權管理全靠 App Container 沙盒控制,如果我們脫離了這個沙盒,UWP 就會放飛自我了。那麼有沒... ...
  • 目錄條款17:讓介面容易被正確使用,不易被誤用(Make interfaces easy to use correctly and hard to use incorrectly)限制類型和值規定能做和不能做的事提供行為一致的介面條款19:設計class猶如設計type(Treat class de ...
  • title: 從零開始:Django項目的創建與配置指南 date: 2024/5/2 18:29:33 updated: 2024/5/2 18:29:33 categories: 後端開發 tags: Django WebDev Python ORM Security Deployment Op ...
  • 1、BOM對象 BOM:Broswer object model,即瀏覽器提供我們開發者在javascript用於操作瀏覽器的對象。 1.1、window對象 視窗方法 // BOM Browser object model 瀏覽器對象模型 // js中最大的一個對象.整個瀏覽器視窗出現的所有東西都 ...