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

来源: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
  • 1、預覽地址:http://139.155.137.144:9012 2、qq群:801913255 一、前言 隨著網路的發展,企業對於信息系統數據的保密工作愈發重視,不同身份、角色對於數據的訪問許可權都應該大相徑庭。 列如 1、不同登錄人員對一個數據列表的可見度是不一樣的,如數據列、數據行、數據按鈕 ...
  • 前言 上一篇文章寫瞭如何使用RabbitMQ做個簡單的發送郵件項目,然後評論也是比較多,也是準備去學習一下如何確保RabbitMQ的消息可靠性,但是由於時間原因,先來說說設計模式中的簡單工廠模式吧! 在瞭解簡單工廠模式之前,我們要知道C#是一款面向對象的高級程式語言。它有3大特性,封裝、繼承、多態。 ...
  • Nodify學習 一:介紹與使用 - 可樂_加冰 - 博客園 (cnblogs.com) Nodify學習 二:添加節點 - 可樂_加冰 - 博客園 (cnblogs.com) 介紹 Nodify是一個WPF基於節點的編輯器控制項,其中包含一系列節點、連接和連接器組件,旨在簡化構建基於節點的工具的過程 ...
  • 創建一個webapi項目做測試使用。 創建新控制器,搭建一個基礎框架,包括獲取當天日期、wiki的請求地址等 創建一個Http請求幫助類以及方法,用於獲取指定URL的信息 使用http請求訪問指定url,先運行一下,看看返回的內容。內容如圖右邊所示,實際上是一個Json數據。我們主要解析 大事記 部 ...
  • 最近在不少自媒體上看到有關.NET與C#的資訊與評價,感覺大家對.NET與C#還是不太瞭解,尤其是對2016年6月發佈的跨平臺.NET Core 1.0,更是知之甚少。在考慮一番之後,還是決定寫點東西總結一下,也回顧一下.NET的發展歷史。 首先,你沒看錯,.NET是跨平臺的,可以在Windows、 ...
  • Nodify學習 一:介紹與使用 - 可樂_加冰 - 博客園 (cnblogs.com) Nodify學習 二:添加節點 - 可樂_加冰 - 博客園 (cnblogs.com) 添加節點(nodes) 通過上一篇我們已經創建好了編輯器實例現在我們為編輯器添加一個節點 添加model和viewmode ...
  • 前言 資料庫併發,數據審計和軟刪除一直是數據持久化方面的經典問題。早些時候,這些工作需要手寫複雜的SQL或者通過存儲過程和觸發器實現。手寫複雜SQL對軟體可維護性構成了相當大的挑戰,隨著SQL字數的變多,用到的嵌套和複雜語法增加,可讀性和可維護性的難度是幾何級暴漲。因此如何在實現功能的同時控制這些S ...
  • 類型檢查和轉換:當你需要檢查對象是否為特定類型,並且希望在同一時間內將其轉換為那個類型時,模式匹配提供了一種更簡潔的方式來完成這一任務,避免了使用傳統的as和is操作符後還需要進行額外的null檢查。 複雜條件邏輯:在處理複雜的條件邏輯時,特別是涉及到多個條件和類型的情況下,使用模式匹配可以使代碼更 ...
  • 在日常開發中,我們經常需要和文件打交道,特別是桌面開發,有時候就會需要載入大批量的文件,而且可能還會存在部分文件缺失的情況,那麼如何才能快速的判斷文件是否存在呢?如果處理不當的,且文件數量比較多的時候,可能會造成卡頓等情況,進而影響程式的使用體驗。今天就以一個簡單的小例子,簡述兩種不同的判斷文件是否... ...
  • 前言 資料庫併發,數據審計和軟刪除一直是數據持久化方面的經典問題。早些時候,這些工作需要手寫複雜的SQL或者通過存儲過程和觸發器實現。手寫複雜SQL對軟體可維護性構成了相當大的挑戰,隨著SQL字數的變多,用到的嵌套和複雜語法增加,可讀性和可維護性的難度是幾何級暴漲。因此如何在實現功能的同時控制這些S ...