劍指資料倉儲 Shell命令五

2021-10-03 21:33:28 字數 4871 閱讀 3643

一、上次課程回顧

二、linux基礎命令五

三、作業

1、關於大資料的排程工具:

2、shell指令碼的測試使用:

[hadoop@hadoop001 test]$ cat test.sh

#!/bin/bash

date

[hadoop@hadoop001 test]$ ll

total 8

-rw-rw-r-- 1 hadoop hadoop 172 mar 14 13:03 1.zip

-rw-rw-r-- 1 hadoop hadoop 0 mar 13 16:14 rz.log

-rw-rw-r-- 1 hadoop hadoop 17 mar 14 23:05 test.sh

[hadoop@hadoop001 test]$ ll

total 8

-rw-rw-r-- 1 hadoop hadoop 172 mar 14 13:03 1.zip

-rw-rw-r-- 1 hadoop hadoop 0 mar 13 16:14 rz.log

-rw-rw-r-- 1 hadoop hadoop 17 mar 14 23:05 test.sh

[hadoop@hadoop001 test]$ ./test.sh

-bash: ./test.sh: permission denied

[hadoop@hadoop001 test]$ chmod 744 test.sh

[hadoop@hadoop001 test]$ ./test.sh

sat mar 14 23:13:26 cst 2020

2、正常的***.sh的shell指令碼:

#!/bin/bash

shell指令碼執行需要rwx中的x執行許可權

./***.sh

或者sh ./***.sh

字尾.sh 第一行#!/bin/bash 的直譯器沒有的話,直接使用sh ./test來執行也是可以的。

3、crontab的使用:

1、crontab --help查詢如何使用:

[hadoop@hadoop001 test]$ crontab --help

crontab: invalid option -- '-'

crontab: usage error: unrecognized option

usage:

crontab

[options]

file

crontab

[options]

crontab -n [hostname]

options:

-u define user

-e edit user's crontab

-l list user's crontab

-r delete user's crontab

-i prompt before deleting

-n set host in cluster to run users' crontabs

-c get host in cluster to run users' crontabs

-s selinux context

-x enable debugging

default operation is replace, per 1003.2

* * * * * /home/hadoop/test/test.sh >> /home/hadoop/test.log

//這5個*分別代表分、小時、日、月、周

3、儲存退出提示如下:這個目錄是臨時的儲存完了就沒有了:

"/tmp/crontab.dn9vxw" 2l, 62c written

crontab: installing new crontab

面試題:crontab排程的shell指令碼怎麼做到每隔10秒執行一次?

1、編輯test.sh shell指令碼

vi /home/hadoop/test/test.sh

[hadoop@hadoop001 test]$ cat test.sh

#!/bin/bash

for((i=

1;i<=

6;i++

))do

date

sleep 10s

done

exit

2、賦予x執行許可權:

chmod 744 /home/hadoop/test/test.sh

3、編寫排程指令碼:crontab -e

* * * * * /home/hadoop/test/test.sh >> /home/hadoop/test1.log

4、tail -f /home/hadoop/test1.log

1、後台執行:

./test.sh &

nohup ./test.sh & 工作中這種比較常用

nohup ./test.sh >> /home/hadoop/test.log 2>

&1 & 生產上使用這種

2、生產上的後台執行:

[hadoop@hadoop001 test]$ nohup ./test.sh &

[1] 1521

^c[hadoop@hadoop001 test]$ nohup ./test.sh > /home/hadoop/test2.log 2>

&1 &

[2] 1553

[1] done nohup ./test.sh

3、列印

[hadoop@hadoop001 test]$ cat nohup.out

sat mar 14 23:54:14 cst 2020

sat mar 14 23:54:24 cst 2020

sat mar 14 23:54:34 cst 2020

sat mar 14 23:54:44 cst 2020

sat mar 14 23:54:54 cst 2020

sat mar 14 23:55:04 cst 2020

[2]+ done nohup ./test.sh > /home/hadoop/test2.log 2>

&1

1、語法:ln -s mysql-5.7.11-linux-glibc2.5-x86_64 mysql

lrwxrwxrwx 1 mysqladmin dba 35 mar 5 16:14 mysql -> mysql-5.7.11-linux-glibc2.5-x86_64/

drwxr-xr-x 13 mysqladmin dba 4096 mar 9 12:36 mysql-5.7.11-linux-glibc2.5-x86_64

cdh公升級,原檔案丟失,現在的檔案過來路徑找不到;

1、建立mysql-5.7.11-linux資料夾:

[root@hadoop001 hadoop]

# mkdir mysql-5.7.11-linux

2、做乙個軟連線:

[root@hadoop001 hadoop]

# ln -s mysql-5.7.11-linux mysql

[root@hadoop001 hadoop]

# pwd

/home/hadoop

3、測試把mysql-5.7.11-linux mysql這個目錄刪除,會發現游標軟連線的游標跳動:

[root@hadoop001 hadoop]

# rm -rf mysql-5.7.11-linux/

[root@hadoop001 hadoop]

# ll

total 16

drwxrwxr-x 2 hadoop hadoop 4096 mar 5 15:59 data

drwxrwxr-x 2 hadoop hadoop 4096 mar 5 15:58 lib

lrwxrwxrwx 1 root root 19 mar 15 00:07 mysql -> mysql-5.7.11-linux/

drwxrwxr-x 2 hadoop hadoop 4096 mar 11 14:32 software

-rw-r--r-- 1 hadoop hadoop 0 mar 15 00:06 test1.log

4、刪除快捷方式:

rm -rf mysql

1、找到原檔案的資料夾:

2、刪除快捷鍵的檔案、資料夾 --> 重新做軟連線,大膽的刪除快捷方式:rm -rf mysql

a.帶有版本號的檔案絕對不能配置在檔案中,不要給自己挖坑:

b.j總個人建議使用絕對路徑(別把自己繞暈,不好維護,全路徑直觀明了)

比如系統盤50g,資料盤data01有1t,

cdh的log檔案都是在/var/log/hbase/***.log 1g,這個檔案儲存10份,但是這台機器不可能單單只布置乙個服務,系統盤50個g的資料光日誌檔案就10g肯定是吃不消的。

mkdir /data01/log/

mv /var/log/hbase /data01/log

ln -s /data01/log/hbase /var/log/hbase

忽略了乙個問題:當前盤要撐爆的時候,在進行日誌檔案遷移的時候,有可能存在許可權的變更;看另外一台機器的許可權(chown和chmod許可權又是什麼),不光光針對軟連線進行修改,還針對資料夾進行修改。

etl構建資料倉儲五步法 資料倉儲 ETL

資料倉儲是由外部多個資料來源彙總整合的,整合 這個詞代表並不是簡單的堆積,而是需要進行一些邏輯處理,數倉的整合就是這樣,因為外部資料來源都是異構的,所以需要做很多任務作才可以進行整合,這些工作包括但不限於 欄位的意義統一,輕度統計等。抽取資料 有如下策略 時間戳判斷 掃瞄增量檔案 日誌檔案,審計檔案...

etl構建資料倉儲五步法 資料倉儲建模篇

1 什麼叫資料倉儲?資料倉儲的特點?首先,用於支援決策,面向分析型資料處理,它不同於企業現有的操作型資料庫 其次,對多個異構的資料來源有效整合,整合後按照主題進行了重組,幷包含歷史資料,而且存放在資料倉儲中的資料一般不再修改。資料倉儲是乙個面向主題的 subject oriented 整合的 int...

資料倉儲 五 元資料管理

元資料通常定義為 關於資料的資料 在資料倉儲中是定義和描述dw bi系統的結構,操作和內容的所有資訊。元資料貫穿了資料倉儲的整個生命週期,使用元資料驅動資料倉儲的開發,使資料倉儲自動化,視覺化。1.業務元資料 業務元資料指從業務角度描述業務領域相關的概念 關係和規則的資料,包括業務術語和業務規則等資...