大数据运维常用命令

简介: sar 命令top命令ps命令du和df命令free命令iostat命令iotop命令netstat命令


linux 命令

查找:

Linux命令大全(手册) – 真正好用的Linux命令在线查询网站 (linuxcool.com)

大数据运维相关命令

sar 命令

sar命令是Linux下系统运行状态统计工具,它将指定的操作系统状态计数器显示到标准输出设备。

sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态。它的特点是可以连续对系统取样,获得大量的取样数据。取样数据和分析的结果都可以存入文件,使用它时消耗的系统资源很小

yum install sysstat
systemctl start sysstat
systemctl enable sysstat

参考: Linux sar命令详解:分析系统性能 (biancheng.net)

top 命令

top # 查看进程cpu使用情况
shift + p  将进程按照CPU占用从大到小排序
shift + m  将进程按照内存占用从大到小排序
top -H -p   pid    # 查看某个进程的线程cpu的使用情况
q 退出

ps 命令

ps aux | sort -rn -k 3|head -n 10  #  查询当前 cpu 使用率最高的 10 个进程的相关信息。

jstack 命令

jstack tid # 查看线程的堆栈信息  这个命令可以查看代码的错误信息

du 和 df 命令

du命令: 来自于英文词组“Disk Usage”的缩写,其功能是用于查看文件或目录的大小。人们经常会把df和du命令混淆,df是用于查看磁盘或分区使用情况的命令,而du命令则是用于按照指定容量单位来查看文件或目录在磁盘中的占用情况。

df命令来自于英文词组”Disk Free“的缩写,其功能是用于显示系统上磁盘空间的使用量情况。df命令显示的磁盘使用量情况含可用、已有及使用率等信息,默认单位为Kb,建议使用-h参数进行单位换算,毕竟135M比138240Kb更利于阅读对吧~

区别:

du,disk usage,是通过搜索文件来计算每个文件的大小然后累加,du能看到的文件只是一些当前存在的,没有被删除的。他计算的大小就是当前他认为存在的所有文件大小的累加和。
df,disk free,通过文件系统来快速获取空间大小的信息,当我们删除一个文件的时候,这个文件不是马上就在文件系统当中消失了,而是暂时消失了,当所有程序都不用时,才会根据OS的规则释放掉已经删除的文件, df记录的是通过文件系统获取到的文件的大小,他比du强的地方就是能够看到已经删除的文件,而且计算大小的时候,把这一部分的空间也加上了,更精确了。
        当文件系统也确定删除了该文件后,这时候du与df就一致了。

free 命令

free命令的功能是显示系统内存使用量情况,包含物理和交换内存的总量、使用量和空闲量情况。

以默认的容量单位显示内存使用量信息:
[root@linuxcool ~]# free
              total        used        free      shared  buff/cache   available
Mem:        2013304     1372796       87432       17620      553076      444040
Swap:       2097148        1804     2095344
以MB位单位显示内存使用量信息:
[root@linuxcool ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           1966        1342         123          14         499         434
Swap:          2047           9        2038
以易读的单位显示内存使用量信息,每个10秒刷新一次:
[root@linuxcool ~]# free -hs 10
              total        used        free      shared  buff/cache   available
Mem:          1.9Gi       1.3Gi       119Mi        14Mi       500Mi       430Mi
Swap:         2.0Gi       9.0Mi       2.0Gi
              total        used        free      shared  buff/cache   available
Mem:          1.9Gi       1.3Gi       119Mi        14Mi       500Mi       430Mi
Swap:         2.0Gi       9.0Mi       2.0Gi

iostat 命令

iostat被用于监视系统输入输出设备和CPU的使用情况。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。

每隔两秒报告一次:
[root@linuxcool ~]# iostat -d 2
示sda与sdc的统计数据,每2秒报告一次,持续6次:
[root@linuxcool ~]# iostat -x sda sdc 2 6

iotop

iotop命令是一个用来监视磁盘I/O使用状况的top类工具。iotop具有与top相似的UI,其中包括PID、用户、I/O、进程等相关信息。

Linux下的IO统计工具如iostat,nmon等大多数是只能统计到per设备的读写情况,如果你想知道每个进程是如何使用IO的就比较麻烦,使用iotop命令可以很方便的查看。

参考实例
使用-o参数只显示IO操作进程:
[root@linuxcool ~]# iotop -o
使用-b参数批量显示,无交互:
[root@linuxcool ~]# iotop -b
使用-u参数显示root用户的IO进程:
[root@linuxcool ~]# iotop -u root

lsof

lsof命令来自于英文词组“list opened files”的缩写,其功能是用于查看文件的进程信息。既然Linux系统中的一切都是文件,那么使用lsof命令查看进程打开的文件,又或是查看文件的进程信息,都能够很好的帮助用户了解相关服务的运行状态,是一个不错的系统监视工具

参考实例

查看当前系统中全部文件与进程对应信息:
[root@linuxcool ~]# lsof 
COMMAND    PID  TID TASKCMD   USER   FD      TYPE   DEVICE SIZE/OFF       NODE NAME
systemd      1    root  cwd       DIR              253,0      224        128 /
systemd      1    root  rtd       DIR              253,0      224        128 /
………………省略部分输出信息………………
显示指定目录中被调用的文件信息:
[root@linuxcool ~]# lsof +d /root
COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF     NODE NAME
dbus-daem 2158 root  cwd    DIR  253,0     4096 33575041 /root
gdm-wayla 2161 root  cwd    DIR  253,0     4096 33575041 /root
gnome-ses 2164 root  cwd    DIR  253,0     4096 33575041 /root
gnome-she 2223 root  cwd    DIR  253,0     4096 33575041 /root
gvfsd     2240 root  cwd    DIR  253,0     4096 33575041 /root
………………省略部分输出信息………………
递归显示指定目录中全部被调用的文件信息:
[root@linuxcool ~]# lsof +D /root
COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF     NODE NAME
pulseaudi 2147 root  mem    REG  253,0      696   781661 /root/.config/pulse/d035ea0c9f884c418d9855119085f3f0-card-database.tdb
pulseaudi 2147 root  mem    REG  253,0    12288   781660 /root/.config/pulse/d035ea0c9f884c418d9855119085f3f0-stream-volumes.tdb
pulseaudi 2147 root  mem    REG  253,0     8192   781659 /root/.config/pulse/d035ea0c9f884c418d9855119085f3f0-device-volumes.tdb
………………省略部分输出信息………………

netstat

netstat命令来自于英文词组”network statistics“的缩写,其功能是用于显示各种网络相关信息,例如网络连接状态、路由表信息、接口状态、NAT、多播成员等等。

参考实例

显示系统网络状态中的所有连接信息:

[root@linuxcool ~]# netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:http            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:https           0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:ms-wbt-server   0.0.0.0:*               LISTEN

显示系统网络状态中的UDP连接信息:

[root@linuxcool ~]# netstat -nu
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
udp        0      0 172.19.226.238:68       172.19.239.253:67       ESTABLISHED

显示系统网络状态中的UDP连接端口号使用信息:

[root@linuxcool ~]# netstat -apu 
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address    Foreign Address       State    PID/Program name    
udp        0      0 linuxcool:bootpc _gateway:bootps  ESTABLISHED   1024/NetworkManager 
udp        0      0 localhost:323           0.0.0.0:*               875/chronyd         
udp6       0      0 localhost:323           [::]:*                  875/chronyd

显示网卡当前状态信息:

[root@linuxcool~]# netstat -i 
Kernel Interface table
Iface             MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0             1500    31945      0      0 0         39499      0      0      0 BMRU
lo              65536        0      0      0 0             0      0      0      0 LRU

显示网络路由表状态信息:

[root@linuxcool ~]# netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         _gateway        0.0.0.0         UG        0 0          0 eth0
172.19.224.0    0.0.0.0         255.255.240.0   U         0 0          0 eth0

找到某个服务所对应的连接信息:

[root@linuxcool ~]# netstat -ap | grep ssh
unix  2      [ ]         STREAM     CONNECTED     89121805 203890/sshd: root [  
unix  3      [ ]         STREAM     CONNECTED     27396    1754/sshd            
unix  3      [ ]         STREAM     CONNECTED     89120965 203890/sshd: root [  
unix  2      [ ]         STREAM     CONNECTED     89116510 203903/sshd: root@p  
unix  2      [ ]         STREAM     CONNECTED     89121803 203890/sshd: root [  
unix  2      [ ]         STREAM     CONNECTED     29959    1754/sshd            
unix  2      [ ]         DGRAM                    89111175 203890/sshd: root [  
unix  3      [ ]         STREAM     CONNECTED     89120964 203903/sshd: root@p


相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
26天前
|
运维 Kubernetes 监控
揭秘高效运维:如何用kubectl top命令实时监控K8s资源使用情况?
揭秘高效运维:如何用kubectl top命令实时监控K8s资源使用情况?
34 0
|
3月前
|
缓存 网络协议 数据安全/隐私保护
[运维笔记] - (命令).Windows server常用网络相关命令总结
[运维笔记] - (命令).Windows server常用网络相关命令总结
191 0
|
26天前
|
运维 Kubernetes 容器
K8S运维命令必备kubectl命令总结
K8S运维命令必备kubectl命令总结
28 3
|
5月前
|
运维 Shell
运维(06)- shell命令代换
运维(06)- shell命令代换
16 0
|
4月前
|
分布式计算 Java 大数据
【大数据技术Hadoop+Spark】HDFS Shell常用命令及HDFS Java API详解及实战(超详细 附源码)
【大数据技术Hadoop+Spark】HDFS Shell常用命令及HDFS Java API详解及实战(超详细 附源码)
219 0
|
12天前
|
运维 网络协议 安全
neutron 运维命令
OpenStack Neutron是OpenStack的网络服务,它负责管理虚拟机和其他计算资源之间的网络连接。Neutron提供API和插件,支持多种网络拓扑和服务,包括虚拟网络和物理网络的配置、管理和调度。它还支持IP地址分配、网络连接和安全策略等。
9 1
|
24天前
|
运维 Linux Shell
linux运维常用命令
linux运维常用命令
|
1月前
|
监控 网络协议 Linux
Linux 命令大全 & CentOS常用运维命令
Linux 命令大全 & CentOS常用运维命令
157 0
|
2月前
|
运维 Linux Docker
Linux运维工程师必须要掌握的Docker命令,我给你整理好了!
Linux运维工程师必须要掌握的Docker命令,我给你整理好了!
170 2
|
2月前
|
运维 网络协议 Linux
Linux 这50个 systemd 命令值得每位Linux运维工程师收藏!
Linux 这50个 systemd 命令值得每位Linux运维工程师收藏!
443 0
Linux 这50个 systemd 命令值得每位Linux运维工程师收藏!