1.1 Linux&Shell
1.1.1 Linux常用高级命令
序号 | 命令 | 命令解释 |
1 | top | 动态查看内存及cpu使用率 |
2 | df -h | 查看磁盘存储情况 |
3 | iotop | 查看磁盘IO读写(yum install iotop安装) |
4 | iotop -o | 直接查看比较高的磁盘读写程序 |
5 | netstat -tunlp | grep 端口号 | 查看端口占用情况 |
6 | uptime | 查看报告系统运行时长及平均负载 |
7 | ps -ef | 查看进程 |
1.1.2 Shell常用工具及写过的脚本
1)awk、sed、cut、sort
2)用Shell写过哪些脚本
(1)集群启动,分发脚本
#!/bin/bash case $1 in "start") for i in hadoop102 hadoop103 hadoop104 do ssh $i "绝对路径" done ;; "stop") ;; esac |
(2)数仓与MySQL的导入导出
MySQL HDFS hive
sqoop (4个map)
除了sqoop之外还可以用:DataX、hadoop、java
驱动 主机名 端口号 用户名 密码 路径 删除 同步策略: 全量 特殊 新增 新增和变化 query "select id , name from user where 创建时间=今天 or 操作时间= 今天" 压缩 列式存储 |
(3)数仓层级内部的导入:ods->dwd->dws->dwt->ads
①#!/bin/bash ②定义变量 APP=gmall ③获取时间 传入 按照传入时间 不传 T+1 ④sql=" 先按照当前天 写sql => 遇到时间 $do_date 遇到表 {$APP}. 自定义函数 UDF UDTF {$APP}. " ⑤执行sql |
1.1.3 Shell中提交了一个脚本,进程号已经不知道了,但是需要kill掉这个进程,怎么操作?
ssh $i "ps -ef | grep file-flume-kafka | grep -v grep |awk '{print \$2}' | xargs kill"
1.1.4 Shell中单引号和双引号区别
1)在/home/atguigu/bin创建一个test.sh文件
[wzw@hadoop102 bin]$ vim test.sh
在文件中添加如下内容
#!/bin/bash do_date=$1 echo '$do_date' echo "$do_date" echo "'$do_date'" echo '"$do_date"' echo `date` |
2)查看执行结果
[wzw@hadoop102 bin]$ test.sh 2019-02-10
$do_date
2019-02-10
'2019-02-10'
"$do_date"
2019年 05月 02日 星期四 21:02:08 CST
3)总结:
(1)单引号不取变量值
(2)双引号取变量值
(3)反引号`,执行引号中命令
(4)双引号内部嵌套单引号,取出变量值
(5)单引号内部嵌套双引号,不取出变量值