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分區(qū)丸边,并且把內存上的數據及時的搬運到swap空間里面叠必。內存的速度會比磁盤快很多,這樣子會加大系統io妹窖,同時造的成大量頁的換進換出纬朝,嚴重影響系統的性能,所以如果物理內存足夠的話嘱吗,要盡可能使用物理內存玄组。
3. 機器負載 top
命令 top
load average: 0.07, 0.05, 0.05
1min 5min 15min
經驗值: 10 生產上盡量控制在10滔驾,否則服務器就認為卡
服務器卡的原因:
a.計算程序 hive sql谒麦、spark 、flink 密集計算 是不是要調優(yōu)
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
查看狀態(tài):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. 下載
查看官網:<u>http://hadoop.apache.org/</u> ,點擊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
沒有安裝
沒有配置環(huán)境變量
[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.后臺執(zhí)行腳本
nohup ..... &
nohup /root/ruoze.sh >> /root/rz.log 2>&1 &