五、实用Linux故障排查1.基本故障排查规则大数据集群在Linux系统上运行时总会遇到各种各样的问题。我们要定位问题,基本上从这几个方面开始检查:CPU、内存、磁盘IO、网络、GC等0、Centos自带的web监控工具Cockpit是一个交互式的Linux服务器管理界面,一个开源的基于Web的管理工具,系统管理员可以执行诸如存储管理、网络配置、检查日志、管理容器等操作。我们的GNU/Linux服务器可以通过Cockpit提供的友好的web前端界面轻松管理,非常轻量,web界面也非常简单易用。更重要的是,可以通过Cockpit实现集中管理。(一)、使用yum源安装1、当前机器需要联网,如果没有联网,需要配置本地数据源##安装监控工具yum-yinstallcockpit##添加开机自启动systemctlenable--nowcockpit。socket##查看开启状态systemctlstatuscockpit.socket##如果没有开启,需要手动开启systemctlstartcockpit.socket(2),使用浏览器登录驾驶舱的文本端口为9090ip:9090可以直接访问##登录的用户名和密码是当前主机的用户名和密码。1、CPU(1).top命令在生产集群中,我们通常使用top查看cpu使用率来判断系统负载。然后按1查看要cpu使用情况(2).htop命令#先启用epel版本yum-yinstallepel-release#然后安装htopyum-yinstallhtop##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:显示/隐藏kernelthreadsM:按内存使用排序P:按CPU排序T:按运行时间上下键或PgUP排序,PgDn:移动选中进程左右键或Home,End:移动列表Space(空格):标记/取消标记进程。命令可以作用于多个进程,比如“kill”,会作用于所有标记为2的进程,内存#1,普通内存大小64G---128G---256G---512G,通过free-g查看系统内存是否不足#-g以GB为单位显示;也可以使用-m以MB为单位显示$free-gtotalusedfreesharedbuff/cacheavailableMem:1560098Swap:31031##显示结果详解Totaltotalmemory:15GusedUsedmemory:6Gfree可用内存:0Gshared当前已过时,始终为0buffers缓冲区缓存内存:298Mcached页缓存内存:14Gavailable:可用内存#2,也可用查看详细信息$cat/proc/meminfo3,磁盘I/O1。下面列出常见的磁盘类型,一般磁盘2T-4T,服务器支持的最大存储量也不一样,比较常见的是48T,一般服务器可以支持12-24块磁盘。sata(约150M/s)sas(约300M/S)ssd(最快最贵)2.检查磁盘I/O状态#每两秒刷新一次磁盘I/O状态$iostat-mx2#如果command如果不存在,需要手动安装yuminstall-ysysstat3查看磁盘占用空间。$df-h4检查磁盘格式。主流的一般是xfs和ext4。统一xfs格式比较好,也方便写脚本批量挂载磁盘$df-T#或者用这个命令,这个命令还可以识别ssd磁盘$lsblk5,查看磁盘和未挂载的磁盘和分区信息$fdisk-l6,查看磁盘挂载信息,如果要手动永久挂载新添加的磁盘,需要在这个配置文件中添加,6列。$cat/etc/fstab7,磁盘阵列raid0(无冗余),raid1(双备份),raid5(n-1/n,其中一个磁盘空间丢失)等4.网络1.检查是否可以ping通2.查看某个端口是否被监听。如果被误占,可以kill出来的PID。$网络统计-nlp|grepportnumber$kill-9PID3,网卡模式配置选择bound6:负载均衡5.系统负载可以使用top命令,如果想查看可以在按top命令后按数字1所有cpu的活动状态。使用htop命令:6.GC问题jps找出要检查的pid,使用jstat-gcutilpid,看第四列O,如果100%就是fullGC7。查看对应的启动日志,找到对应的日志目录:1、可以通过查看配置文件的目录,2、还可以查看对应进程pid的详细信息,然后查看“-Dhadoop.log.dir==获取对应日志文件的目录。$ps-ef|grepPID……2.Centos7内核参数优化(一)。单进程最大打开文件数限制一般release版本,单进程最大打开文件数限制为1024,这个时候还远远不能打开那些并发要求高的,所以可以做如下调整:#1.先查看当前文件限制$ulimit–n#2.设置最大文件限制为655535ulimit–n65535(2),如果不需要iptables,关闭或卸载iptables防火墙,并防止内核加载iptables模块。这些模块影响并发性能。3、安装大数据组件,优化环境,优化系统盘raid1、存储盘raid0、hdfs三备份无raid造成冗余。如果元数据安全系数特别高,可以使用namenode元数据所在的磁盘做raid1双备份。关闭硬件节能模式(安装系统时需要在bios中修改)双网卡模式选择bound6(均衡负载)存储盘减少磁盘IO,禁用swap(虚拟内存)时间同步,关闭selinux,关闭防火墙,iptables,root单个进程最大打开文件数设置为65535(ulimit–n65535)4.挖矿病毒检测
