剑指数据仓库-Shell命令五

一、上次课程回顾

二、Linux基础命令五

三、作业

一、上次课程回顾

  • 若泽大数据github博客:https://ruozedata.github.io/archives/
    hexo自行搭建github博客的好处:可以自行修改时间,为了以后未来找工作嘿嘿嘿;使用csdn这些时间都是固定的死的。
  • Linux Shell命令四:https://blog.csdn.net/SparkOnYarn/article/details/104830312

二、Linux基础命令五

2.1、大数据crontab的使用

1、关于大数据的调度工具:

  • airflow、azkaban、ozzie、rundeck(哔哩哔哩若泽大数据)
  • Linux自带的crontab工具:

2、shell脚本的测试使用:

1、打印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、正常的xxx.sh的shell脚本:
#!/bin/bash
shell脚本执行需要rwx中的x执行权限
./xxx.sh
或者sh ./xxx.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 <user>  define user
 -e         edit user's crontab
 -l         list user's crontab
 -r         delete user's crontab
 -i         prompt before deleting
 -n <host>  set host in cluster to run users' crontabs
 -c         get host in cluster to run users' crontabs
 -s         selinux context
 -x <mask>  enable debugging

Default operation is replace, per 1003.2

2、crontab -e来编辑使用脚本:
* * * * * /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

2.2、crontab如何后台执行

1、后台执行:
./test.sh &		
nohup ./test.sh &	工作中这种比较常用
nohup ./test.sh >> /home/hadoop/test.log 2>&1 &		生产上使用这种

2、生产上的后台执行:
[hadoop@hadoop001 test]$ nohup ./test.sh &
[1] 1521
[hadoop@hadoop001 test]$ nohup: ignoring input and appending output to 鈥榥ohup.out鈥
^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

2.3、软连接

  • 目的为了软件升级

  • 场景:比如生产上有两个mysql版本,mysql5.6和mysql5.7;

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
  • 做了软连接之后,以后配置环境变量的时候就可以直接/usr/localmysql,软连接就相当于是一个快捷方式。

  • 语法:ln -s 原path 目标path

生产中遇到的情况:

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:58 app
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/xxx.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权限又是什么),不光光针对软连接进行修改,还针对文件夹进行修改。

三、本次课程作业

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值