linux生产常用笔记(二)

LInux笔记

1. 磁盘

1.1****df -h

它报告文件系统磁盘空间的使用情况。

[root@ruozedata001 ~]# df -h

文件系统                 容量  已用  可用 已用% 挂载点

/dev/mapper/centos-root   17G  7.4G  9.7G   43% /

devtmpfs                 895M     0  895M    0% /dev

Filesystem      Size  Used Avail Use% Mounted on

/dev/vda1        40G   22G   19G  55% /

/dev/vdb1       2T     0     2T    0% /data01【挂载盘】

devtmpfs        3.9G     0  3.9G   0% /dev

tmpfs           3.9G   16K  3.9G   1% /dev/shm

tmpfs           3.9G  414M  3.5G  11% /run

tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup

tmpfs           783M     0  783M   0% /run/user/0

tmpfs           783M     0  783M   0% /run/user/1001

[root@ruozedata001 ~]#

真实的数据盘

/        系统盘  100G

/data01  数据盘  2T

/data02  数据盘  2T

/data03  数据盘  2T

/data04  数据盘  2T

/data05  数据盘  2T

2. 内存

free -m:查看内存使用情况

[root@ruozedata001 ~]# free -m

              total        used        free      shared  buff/cache   available

Mem:           7823        5058         998         413        1766        2061

Swap:             0           0           0

2765mb

5058/7823 =64%

使用率控制在

预留内存最好在15%

swap作用

1.swap 因为内存不够,使用部分磁盘空间来充当内存使用,虽然可以解决内存紧缺的问题,但是效率不高。尤其大数据,swap哪怕设置了大小 ,也尽量设置惰性使用。参数=0

2.参数swappiness=0的时候表示最大限度使用物理内存,swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。内存的速度会比磁盘快很多,这样子会加大系统io,同时造的成大量页的换进换出,严重影响系统的性能,所以如果物理内存足够的话,要尽可能使用物理内存。

3. 机器负载 top

命令 top

load average:   0.07,   0.05,   0.05

               1min  5min  15min

经验值: 10 生产上尽量控制在10,否则服务器就认为卡

服务器卡的原因:

a.计算程序 hive sql、spark 、flink 密集计算 是不是要调优

b.是不是被挖矿了 【 top之后 load average 特别大 】

                                                 cpu%

 27448 root      20   0  446720  14848   3560 S   100%  0.2 853:09.28 ifrit-agent                  

CPU率太大使用,可能已经被挖矿

c.硬件问题 ,内存条损坏,最后一招 万能重启 检测是不是硬件问题

4. 安装

4.1 Yum 安装

yum search 包名称

1.先搜索

yum search http

httpd.x86_64 : Apache HTTP Server

2安装:yum install httpd.x86_64

Yum的安装:yum install -y httpd

Yum的卸载yum remove telnet

启动httpd:service httpd restart
查看状态:service httpd status

4.2 rpm卸载

1.搜索:rpm -qa | grep 进程名

[root@ruozedata001 ~]# rpm -qa | grep httpd

httpd-tools-2.4.6-93.el7.centos.x86_64

httpd-2.4.6-93.el7.centos.x86_64

[root@ruozedata001 ~]#
2.卸载:rpm -e

[root@ruozedata001 ~]# rpm -e httpd-tools-2.4.6-93.el7.centos.x86_64

--nodeps do not verify package dependencies

假如后面卸载有依赖性:可以添加--nodeps ,强制卸载

5.进程

查看进程: ps -ef | grep 进程名称

[root@cdh ~]# ps -ef |grep http

root       2479   1687  0 14:53 pts/0    00:00:00 grep --color=auto http

[root@ruozedata001 ~]# ps -ef | grep http

             pid    父id

root       2850      1  0 15:07 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND

apache     2855   2850  0 15:07 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND

apache     2856   2850  0 15:07 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND

apache     2857   2850  0 15:07 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND

apache     2858   2850  0 15:07 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND

apache     2859   2850  0 15:07 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND

root       2890   1687  0 15:09 pts/0    00:00:00 grep --color=auto httpd

6. 端口号

查看端口:netstat -nlp | grep pid

netstat -nlp | grep  709

[root@cdh ~]# netstat -nlp | grep 2850      

tcp6       0      0 :::80                   :::*                    LISTEN      2850/httpd          

tcp6       0      0 :::8443                 :::*                    LISTEN      2850/httpd           

[root@ruozedata001 ~]#

[root@ruozedata001 ~]# netstat -nlp | grep http

tcp6       0      0 :::80                   :::*                    LISTEN      709/httpd           

[root@ruozedata001 ~]#

总结:

a.有进程PID 不一定就有端口号【内部进程,不用对外暴露服务】

b.服务的通信交流,其实就是要 ip+端口号

那个机器上运行xxx服务,你把那个web打开一下 ?

查看并访问服务

ps -ef|grep xxx 找到pid
netstat -nlp| grep pid 找到对应端口号

192.168.195.200:80
192.168.195.200

window: 提前安装telnet客户端

linux : yum install -y telnet

window/linux去检测服务是否ok: telnet ip port

1.先 ping ip

2.再 telnet ip port

[root@cdh ~]# telnet 192.168.195.200 22 【成功】

Trying 192.168.195.200...

Connected to 192.168.195.200.

Escape character is '^]'.

SSH-2.0-OpenSSH_7.4

[root@ruozedata001 ~]# telnet 114.67.101.143 221

Trying 114.67.101.143...   Connection refused   【错误3】

window电脑去访问 服务器的服务

先 ping ip

再 telnet ip port

linux机器去访问 服务器的服务

先 ping ip

再 telnet ip port

7.杀死进程

ps -ef|grep 名称

有可能匹配多个,仔细确认进程是否是自己想要杀的进程。

kill -9 pid 【高危命令】

kill -9 111 112 113 三个进程一杀

误杀造成的生产事故。

全局杀

kill -9 $(pgrep -f 匹配字符)

kill -9 6148 6251 7485 7624 7797 21892 30993

检测端口是否是对外访问还是对内访问

下面:80端口号服务可以对外,window或者其他服务器 可以ip+80 进行访问的

[root@ruozedata001 ~]# netstat -nlp|grep http

tcp6       0      0 :::80  :::*      LISTEN      3478/httpd          

tcp6       0      0 0.0.0.0:80  :::*      LISTEN      3478/httpd          

tcp6       0      0 192.168.1.101:80  :::*  LISTEN      3478/httpd          

下面:80端口仅限本机的其他服务可以访问,window或者其他服务器无法访问

tcp6       0      0 localhost:80  :::*                    LISTEN      3478/httpd          

tcp6       0      0 127.0.0.1:80  :::*                    LISTEN      3478/httpd          

localhost 、127.0.0.1 代表本机

80端口仅限本机的其他服务可以访问,window或者其他服务器无法访问

可以修改IP确定对外还是对内进行访问:

:cd /etc/httpd/  

vi conf/httpd.conf

修改

# prevent Apache from glomming onto all bound IP addresses.

#

#Listen 12.34.56.78:80

Listen 127.0.0.1:80【这个地方是IP】

7. 下载

查看官网:http://hadoop.apache.org/ ,点击download

https://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.10.1/hadoop-2.10.1-src.tar.gz

wget命令

wget https://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.10.1/hadoop-2.10.1-src.tar.gz

8.压缩解压

zip -r xxx.zip xxx/* 压缩:zip

unzip xxx.zip 解压:unzip

tar -czvf xxx.tar.gz xxx/* 压缩

tar -xzvf xxx.tar.gz 解压

9.command not found

没有安装

没有配置环境变量

[root@ruozedata001 ~]# which java1

/usr/bin/which: no java1 in (/usr/java/jdk1.8.0_181/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin)

[root@ruozedata001 ~]#

#ruozedata env

export JAVA_HOME=/usr/java/jdk1.8.0_181

export PATH=$JAVA_HOME/bin:$PATH   前 【推荐】

export PATH=$PATH:$JAVA_HOME/bin   后
[root@ruozedata001 ~]# echo $PATH

/usr/java/jdk1.8.0_181/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin

10.定时

crontab -l 查看

crontab -e 编辑 就是编辑一个定时器文件内容

          • sleep 10s; date >> /root/ruoze2.log

分 小时 日 月 周

  • 标识 每

面试题:

每隔10s 打印一次

*/6 * * * * 每隔6min打印

[root@ruozedata001 ~]# vi ruoze.sh

#!/bin/bash

set -u

for((i=1;i<=6;i++));

do

        date

        sleep 10s

done

exit 0

11.后台执行脚本

nohup ..... &

nohup /root/ruoze.sh >> /root/rz.log 2>&1 &

你可能感兴趣的:(linux生产常用笔记(二))