一、上次課程回顧
二、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.業務元資料 業務元資料指從業務角度描述業務領域相關的概念 關係和規則的資料,包括業務術語和業務規則等資...