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

来源: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
  • PasteSpider是什麼? 一款使用.net編寫的開源的Linux容器部署助手,支持一鍵發佈,平滑升級,自動伸縮, Key-Value配置,項目網關,環境隔離,運行報表,差量升級,私有倉庫,集群部署,版本管理等! 30分鐘上手,讓開發也可以很容易的學會在linux上部署你得項目! [從需求角度介 ...
  • SQLSugar是什麼 **1. 輕量級ORM框架,專為.NET CORE開發人員設計,它提供了簡單、高效的方式來處理資料庫操作,使開發人員能夠更輕鬆地與資料庫進行交互 2. 簡化資料庫操作和數據訪問,允許開發人員在C#代碼中直接操作資料庫,而不需要編寫複雜的SQL語句 3. 支持多種資料庫,包括但 ...
  • 在C#中,經常會有一些耗時較長的CPU密集型運算,因為如果直接在UI線程執行這樣的運算就會出現UI不響應的問題。解決這類問題的主要途徑是使用多線程,啟動一個後臺線程,把運算操作放在這個後臺線程中完成。但是原生介面的線程操作有一些難度,如果要更進一步的去完成線程間的通訊就會難上加難。 因此,.NET類 ...
  • 一:背景 1. 講故事 前些天有位朋友在微信上丟了一個崩潰的dump給我,讓我幫忙看下為什麼出現了崩潰,在 Windows 的事件查看器上顯示的是經典的 訪問違例 ,即 c0000005 錯誤碼,不管怎麼說有dump就可以上windbg開幹了。 二:WinDbg 分析 1. 程式為誰崩潰了 在 Wi ...
  • CSharpe中的IO+NPOI+序列化 文件文件夾操作 學習一下常見的文件、文件夾的操作。 什麼是IO流? I:就是input O:就是output,故稱:輸入輸出流 將數據讀入記憶體或者記憶體輸出的過程。 常見的IO流操作,一般說的是[記憶體]與[磁碟]之間的輸入輸出。 作用 持久化數據,保證數據不再 ...
  • C#.NET與JAVA互通之MD5哈希V2024 配套視頻: 要點: 1.計算MD5時,SDK自帶的計算哈希(ComputeHash)方法,輸入輸出參數都是byte數組。就涉及到字元串轉byte數組轉換時,編碼選擇的問題。 2.輸入參數,字元串轉byte數組時,編碼雙方要統一,一般為:UTF-8。 ...
  • CodeWF.EventBus,一款靈活的事件匯流排庫,實現模塊間解耦通信。支持多種.NET項目類型,如WPF、WinForms、ASP.NET Core等。採用簡潔設計,輕鬆實現事件的發佈與訂閱。通過有序的消息處理,確保事件得到妥善處理。簡化您的代碼,提升系統可維護性。 ...
  • 一、基本的.NET框架概念 .NET框架是一個由微軟開發的軟體開發平臺,它提供了一個運行時環境(CLR - Common Language Runtime)和一套豐富的類庫(FCL - Framework Class Library)。CLR負責管理代碼的執行,而FCL則提供了大量預先編寫好的代碼, ...
  • 本章將和大家分享在ASP.NET Core中如何使用高級客戶端NEST來操作我們的Elasticsearch。 NEST是一個高級別的Elasticsearch .NET客戶端,它仍然非常接近原始Elasticsearch API的映射。所有的請求和響應都是通過類型來暴露的,這使得它非常適合快速上手 ...
  • 參考delphi的代碼更改為C# Delphi 檢測密碼強度 規則(仿 google) 仿 google 評分規則 一、密碼長度: 5 分: 小於等於 4 個字元 10 分: 5 到 7 字元 25 分: 大於等於 8 個字元 二、字母: 0 分: 沒有字母 10 分: 全都是小(大)寫字母 20 ...