关于运维:Linux基础使用故障排查

31次阅读

共计 2594 个字符,预计需要花费 7 分钟才能阅读完成。

五、Linux 实用故障排查

1,根底故障排查规定

大数据集群运行在 linux 零碎上总会遇见各种各样的问题,咱们要定位问题,根本从这几个方面动手排查:

CPU,

内存,

磁盘 IO,

网络,

GC 等等

0,Centos 自带的网页监控工具

Cockpit 是一个交互式 Linux 服务器治理接口、开源的基于 web 的管理工具,系统管理员能够执行诸如存储管理、网络配置、查看日志、治理容器等工作。通过 Cockpit 提供的敌对的 Web 前端界面能够轻松地治理咱们的 GNU/Linux 服务器,十分轻量级,Web 界面也非常简单易用。更重要的是通过 Cockpit 能够实现集中式治理。

(1), 应用 yum 源的形式进行装置

1,以后机器须要联网,如果没有联网则须要配置本地数据源

## 装置监控工具
yum -y install cockpit
## 增加开机自启动
systemctl enable --now cockpit.socket
## 查看开启状态
systemctl status cockpit.socket

## 如果未开启,则须要手动开启
systemctl start cockpit.socket
(2), 应用浏览器登录
 登录 cockpit 的文本端口是 9090   
ip:9090 就能够间接拜访

## 登录的用户名和明码即为以后主机的用户名和明码 

1,CPU

(1).top 命令

在生产集群中咱们通常通过 top 来查看 cpu 的使用率来判断零碎的负载状况,Top 而后按 1,能够看到 cpu 的使用率

(2).htop 命令
# 先启用 epel 版本
yum -y install epel-release
# 而后装置 htop
yum -y install htop


## htop 罕用功能键
F1 : 查看 htop 应用阐明
F2 : 设置
F3 : 搜寻过程
F4 : 过滤器,按关键字搜寻
F5 : 显示树形构造
F6 : 抉择排序形式
F7 : 缩小 nice 值,这样就能够进步对应过程的优先级
F8 : 减少 nice 值,这样能够升高对应过程的优先级
F9 : 杀掉选中的过程
F10 : 退出 htop

/ : 搜寻字符
h : 显示帮忙
l:显示过程关上的文件: 如果装置了 lsof,按此键能够显示过程所关上的文件
u:显示所有用户,并能够抉择某一特定用户的过程
s : 将调用 strace 追踪过程的零碎调用
t : 显示树形构造

H:显示 / 暗藏用户线程
I:倒转排序程序
K:显示 / 暗藏内核线程    
M:按内存占用排序
P:按 CPU 排序    
T:按运行工夫排序

高低键或 PgUP, PgDn : 挪动选中过程
左右键或 Home, End : 挪动列表    
Space(空格) : 标记 / 勾销标记一个过程。命令能够作用于多个过程,例如 "kill",将利用于所有已标记的过程 

2, 内存

# 1,常见内存大小 64 G---128G--256G---512G,通过 free - g 来查看零碎内存是否有余
# -g 是以 GB 的形式显示;也能够应用 -m 是以 MB 的形式显示
$ free -g

           total        used        free      shared  buff/cache   available
Mem:             15           6           0           0           9           8
Swap:            31           0          31

## 显示后果详解
total 内存总数: 15G
used 曾经应用的内存数: 6G
free 闲暇的内存数:  0G
shared 以后曾经废除不必, 总是 0
buffers Buffer 缓存内存数: 298M
cached Page 缓存内存数:14G
available : 可用内存数



# 2,也能够查看详细信息
$ cat /proc/meminfo

3, 磁盘 I/O

1. 以下列举常见的磁盘品种,个别磁盘 2T-4T, 服务器反对的最大存储也不同,比拟常见的 48T,个别服务器能够反对 12-24 块盘。

  • sata(150M/ s 左右)
  • sas(300M/ S 左右)
  • ssd(最快也最贵)

2. 查看磁盘 I / O 状况

# 每两秒刷新一次磁盘的 I / O 状况
$ iostat -mx 2
# 如果命令不存在,则须要手动装置
yum  install -y sysstat

3,查看磁盘的占用空间状况

$ df -h

4,查看磁盘的格式化格局,支流个别是 xfs 和 ext4,系统盘默认是 xfs,后续增加数据盘尽量也是 xfs 格局这样对立比拟好,也不便写脚本批量挂盘

$ df -T
# 或者应用这个命令,并且这个命令还能够辨认到 ssd 盘
$ lsblk

5,查看磁盘与未挂载的磁盘和分区信息

$ fdisk -l

6, 查看磁盘挂载信息,新加磁盘要手动永恒挂在须要在这个配置文件里增加,6 列。

$ cat /etc/fstab

7, 磁盘阵列

raid0(无冗余),raid1(双备份),raid5(n-1/n, 损失其中一块盘的空间)等等 

4. 网络

1. 查看能不能 ping 通

2. 查看某端口是否被监听, 如果是被误占用,则能够将穿进去的 PID 进行杀死

$ netstat -nlp | grep 端口号
$ kill -9 PID

3, 网卡的模式配置抉择 bound6 : 负载平衡

5. 零碎负载

  • 应用 top 命令即可,而后想要查看查看所有的 cpu 的活动状态能够在按完 top 命令之后,再按数字 1。
  • 应用 htop 命令:

6.GC 问题

jps 查出要查看的 pid,用 jstat -gcutil pid , 看第四列 O 如果 100% 就是 fullGC

7. 查看对应的启动日志

找到对应的日志目录的形式:

1. 能够通过查看配置文件的目录,

2, 还能够通过查看对应过程 pid 的详细信息,而后查看 “-Dhadoop.log.dir=” 就能够失去对应的日志文件的目录 了。

$ ps -ef | grep PID
... ...

2.Centos7 内核参数优化

(1). 单过程最大关上文件数的限度

个别的发行版本,限度单过程最大能够关上 1024 个,此时是远远不能关上高并发需要的,所以能够做如下调整:

# 1. 先查看以后的文件数限度
$ ulimit –n
# 2. 设置最大文件数限度为 655535
ulimit –n 65535

(2),iptables 相干

如非必须,关掉或卸载 iptables 防火墙,并阻止 kernel 加载 iptables 模块。这些模块会影响并发性能。

3. 装置大数据组件环境根底优化

  1. 系统盘 raid1,存储盘 raid0,hdfs 三备份不必 raid 造成冗余,若对元数据安全系数特地高,namenode 元数据所在磁盘可做 raid1 双备份。
  2. 敞开硬件节能模式(这个须要在装零碎的时候,在 bios 中批改)
  3. 双网卡模式抉择 bound6(均衡负载)
  4. 存储盘多块,缩小磁盘 IO
  5. 禁用 swap(虚拟内存)
  6. 工夫同步
  7. 敞开 selinux
  8. 敞开防火墙 iptables
  9. 将 root 启动的繁多过程的最大能够关上的文件数设置为 65535 个(ulimit–n 65535)

4. 挖矿病毒检测

正文完
 0