大数据Linux常用命令4

Posted 夏天换上冬装

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据Linux常用命令4相关的知识,希望对你有一定的参考价值。

1.系统常用检查命令

 1 磁盘 df -h
 2 内存 free -m
 3 负载 top
 4 
 5 [hadoop@bigdata ~]$ free -m 
 6 total used free shared buff/cache available
 7 Mem: 7823 222 6229 257 1371 7096
 8 Swap: 0 0 0
 9 #free参数有的时候不是很准,用total - used
10 #Linux系统的Swap分区,即交换区,Swap空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。
11 那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中。
12 这样,系统总是在物理内存不够时,才进行Swap交换。其实,Swap的调整对Linux服务器,特别是Web服务器的性能至关重要。通过调整Swap,有时可以越过系统性能瓶颈,节省系统升级费用
13 通常Swap空间的大小应是物理内存的2-2.5倍
14 大数据 生产服务器 swap是设置0 10(表示swap的惰性)也可以
15 
16 
17 [hadoop@bigdata ~]$ df -h
18 Filesystem Size Used Avail Use% Mounted on
19 /dev/vda1 40G 16G 25G 39% /
20 关注这些带目录的磁盘使用情况
21 /dev/vdb1 2T 16G 25G 1% /data01
22 /dev/vdb2 2T 16G 25G 1% /data02
23 /dev/vdb3 2T 16G 25G 1% /data03
24 /dev/vdb4 2T 16G 25G 1% /data04
25 
26 下面这些不需要关注
27 devtmpfs 3.9G 0 3.9G 0% /dev
28 tmpfs 3.9G 16K 3.9G 1% /dev/shm
29 tmpfs 3.9G 258M 3.6G 7% /run
30 tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
31 tmpfs 783M 0 783M 0% /run/user/1004
32 
33  
34 
35 [hadoop@bigdata ~]$ top
36 
37 系统负载 
38 load average: 0.01, 0.03, 0.05
39 近1min 近5min 近15min
40 
41 系统平均负载:单核CPU情况下,0.00 表示没有任何负荷,1.00表示刚好满负荷,超过1侧表示超负荷,理想值是0.742 多核CPU负载:CPU核数 * 理想值0.7 = 理想负荷,例如:4核CPU负载不超过2.8何表示没有出现高负载
43 a.是你的程序有问题 在大量跑计算
44 b.是不是被挖矿 yarn redis 最容易被hacker 攻击
45 c.硬件问题 内存条 硬盘 重启服务器观察服务器显示灯来判断
46 
47 top - 21:20:22 up 7 days, 58 min, 1 user, load average: 0.01, 0.03, 0.05
48 Tasks: 89 total, 1 running, 88 sleeping, 0 stopped, 0 zombie
49 %Cpu(s): 0.2 us, 0.5 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.3 st
50 KiB Mem : 8011076 total, 6377388 free, 229060 used, 1404628 buff/cache
51 KiB Swap: 0 total, 0 free, 0 used. 7265724 avail Mem
52 
53 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 
54 2374 root 20 0 394348 31376 8608 S 0.3 0.4 41:44.99 jdog-kunlunmirr 
55 1 root 20 0 125356 3796 2508 S 0.0 0.0 1:22.32 systemd 
56 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd 
57 3 root 20 0 0 0 0 S 0.0 0.0 0:00.08 ksoftirqd/0 
58 5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H 
59 6 root 20 0 0 0 0 S 0.0 0.0 0:02.50 kworker/u4:0 

2.yum安装

 1 yum search httpd
 2 yum install httpd
 3 
 4 centos6:
 5 service httpd status|start|stop 1个应用httpd
 6 
 7 centos7:
 8 service httpd status|start|stop 兼容
 9 systemctl status|start|stop httpd app2 app3 app4 一次性操作多个应用
10 
11 
12 搜索 卸载:
13 [root@bigdata ~]# rpm -qa|grep http
14 httpd-2.4.6-90.el7.centos.x86_64
15 httpd-tools-2.4.6-90.el7.centos.x86_64
16 [root@bigdata ~]# rpm -e 包名称 --nodeps
17 
18 [root@bigdata ~]# yum remove httpd-2.4.6-90.el7.centos.x86_64

3.进程 端口号

 1 ps -ef | grep http
 2 kill -9 16629
 3 kill -9 16630 16631 16632 16633 16634
 4 
 5 根据匹配字段 搜索所有符合的进程 全部杀死 
 6 但是: 生产慎用 除非你先ps查看 这个关键词搜索的进程 是不是都是你想要杀死的进程 
 7 保不齐有个其他服务的进程 会造成误杀 生产事故!!!
 8 
 9 [root@bigdata ~]# ps -ef|grep http
10 root 18363 1 0 21:51 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
11 apache 18364 18363 0 21:51 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
12 apache 18365 18363 0 21:51 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
13 apache 18366 18363 0 21:51 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
14 apache 18367 18363 0 21:51 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
15 apache 18368 18363 0 21:51 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
16 root 18387 15881 0 21:51 pts/2 00:00:00 grep --color=auto http
17 [root@bigdata ~]# kill -9 $(pgrep -f httpd)
18 [root@bigdata ~]# 
19 [root@bigdata ~]# ps -ef|grep http
20 root 18444 15881 0 21:52 pts/2 00:00:00 grep --color=auto http
21 [root@bigdata ~]#
22 
23  
24 
25 [root@bigdata ~]# ps -ef|grep http
26 root 18670 1 0 21:53 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
27 apache 18671 18670 0 21:53 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
28 apache 18672 18670 0 21:53 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
29 apache 18673 18670 0 21:53 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
30 apache 18674 18670 0 21:53 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
31 apache 18675 18670 0 21:53 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
32 root 18696 15881 0 21:54 pts/2 00:00:00 grep --color=auto http
33 
34 [root@bigdata ~]# yum install -y net-tools.x86_64
35 [root@bigdata ~]# netstat -nlp| grep 18670
36 tcp6 0 0 :::80 :::* LISTEN 18670/httpd
37 
38 [root@bigdata ~]# 
39 [root@bigdata ~]# netstat -nlp| grep 18671
40 [root@bigdata ~]# netstat -nlp| grep 18672
41 
42 
43 进程不一定都会起到端口号,18671等是子进程就没端口号
44 但是 与其他服务通信 必然需要端口号!!!
45 
46 
47 打开xxx服务器的应用yyy的网页?你会涉及到哪些Linux命令
48 ip
49 ps -ef|grep yyy --》pid
50 netstat -nlp|grep pid --》port
51 
52 浏览器: http://ip:port
53 
54 
55 细节:
56 [root@bigdata ~]# netstat -nlp| grep 18670
57 tcp6 0 0 :::80 :::* LISTEN 18670/httpd 
58 tcp6 0 0 0.0.0.0:80 :::* LISTEN 18670/httpd 
59 tcp6 0 0 192.168.0.3:80 :::* LISTEN 18670/httpd
60 其他ip能正常访问
61 
62 tcp6 0 0 127.0.0.1:80 :::* LISTEN 18670/httpd 63 tcp6 0 0 localhost:80 :::* LISTEN 18670/httpd 64 危险: 该服务只能自己服务器的里面自己访问自己 65 66 67 ping ip 68 telnet ip port 69 70 window cmd: 71 ping 114.67.101.143 72 telnet 114.67.101.143 80 73 74 Linux: 75 [root@bigdata ~]# telnet bigdata 80 76 Trying 192.168.0.3... 77 Connected to bigdata. 78 Escape character is ^]. 79 ^Z 80 Connection closed by foreign host. 81 82 [root@bigdata ~]# telnet bigdata 809 83 Trying 192.168.0.3... 84 telnet: connect to address 192.168.0.3: Connection refused 85 [root@bigdata ~]# 86 87 88 有可能你的服务器 防火墙 开启,云主机 需要开启 安全组策略 89 直接找Linux运维 网络工程师 加防火墙(硬件)策略 90 91 总结: 92 Connection refused 93 1.ping ip 可能是因为服务器是ping功能禁止 94 2.telnet ip port ok 来验证

4.下载

1 wget https://repo1.maven.org/maven2/org/apache/spark/spark-core_2.12/2.4.5/spark-core_2.12-2.4.5.jar (推荐)
2 curl https://repo1.maven.org/maven2/org/apache/spark/spark-core_2.12/2.4.5/spark-core_2.12-2.4.5.jar -O spark-core_2.12-2.4.5.jar

5.压缩 解压

 1 zip -r xxx.zip xxx/*
 2 unzip xxx.zip
 3 
 4 tar -czvf xxxx.tar.gz xxxx/*
 5 tar -xzvf xxxx.tar.gz
 6 
 7 Examples:
 8 tar -cf archive.tar foo bar # Create archive.tar from files foo and bar.
 9 tar -tvf archive.tar # List all files in archive.tar verbosely.
10 tar -xf archive.tar # Extract all files from archive.tar.

6.命令找不到

 1 [root@bigdata ~]# 
 2 [root@bigdata ~]# 
 3 [root@bigdata ~]# ls
 4 dir1 dir1.tar.gz
 5 [root@bigdata ~]# which ls
 6 alias ls=ls --color=auto
 7 /usr/bin/ls
 8 [root@bigdata ~]# which jjj
 9 /usr/bin/which: no jjj in (/home/dwz/app/python3/bin:/usr/java/jdk1.8.0_181/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin)
10 [root@bigdata ~]#
11 
12 想要命令快速找到 which xxx 来验证,其实就是提前将命令的目录配置在环境变量$PATH
13 echo $PATH 来查看是否将命令的目录配置上!
14 
15 [root@bigdata ~]# echo $PATH
16 /home/dwz/app/python3/bin:/usr/java/jdk1.8.0_181/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
17 [root@bigdata ~]# jjj
18 -bash: jjj: command not found
19 [root@bigdata ~]#
20 
21 command not found
22 a.没安装上
23 b.路径没配置

7.定时

 1 脚本:
 2 [root@bigdata ~]# 
 3 [root@bigdata ~]# vi hadoop.sh
 4 #!/bin/bash
 5 date
 6 
 7 
 8 [root@bigdata ~]# ./hadoop.sh 
 9 Wed Apr 22 23:03:17 CST 2020
10 [root@bigdata ~]# 
11 [root@bigdata ~]# date
12 Wed Apr 22 23:03:21 CST 2020
13 
14 [root@bigdata ~]# crontab -e
15 * * * * * /root/hadoop.sh >> /root/hadoop.log
16 
17 18 小时
19 20 21 22 
23 * 表示 每
24 
25 
26 * * * * * 每分钟 
27 */1 * * * * 每分钟
28 
29 面试题: 每隔10s打印一次 怎么做
30 
31 */6 * * * * 每6分钟
32 
33 
34 
35 正确做法,加个循环
36 [root@bigdata ~]# vi hadoop2.sh
37 #!/bin/bash
38 for((i=1;i<=6;i++));
39 do
40 date
41 sleep 10s
42 done

8.后台执行脚本

1 nohup /root/hadoop.sh >> /root/hadoop.log 2>&1 & 生产标准写法

 

以上是关于大数据Linux常用命令4的主要内容,如果未能解决你的问题,请参考以下文章

4个步骤带你搞定大数据,Linux到大数据学习路线资料(绝对必看)

原创大数据基础之Mongodb常用查询命令

Linux常用命令:

大数据基础之常用Linux命令

大数据技术学习路线,该怎么学?

大数据学习路线整理