大数据入门第四天总结

1.vi命令

总共三个模式
命令行模式 #vi 文件名 进入
编辑模式 在命令行模式按 i 键进入;按esc键退出
尾行模式 在命令行模式按shift+: 进入尾行模式 输入wq保存退出,wq!强制保存退出,q!强制不保存退出
粘贴文本 将文本复制,打开编辑模式再粘贴。若不开编辑模式会遗失字节
找ERROR ① cat xxx.log | grep -C 10 ERROR > error.log
然后用cat 、more 或者sz上传Windows查看
② 编辑文本,进入尾行模式: /关键词 回车自动匹配 按N键找寻下一个
设置行号 进入尾行模式: set nu 取消行号: set nonu
清空内容 ① cat /dev/null > xxx.log
② echo ‘’ > xxx.log 存在1个字节
③ vi文本,命令行删除 gg+dG
dd 删除当前行
dG 删除光标当前及以下的所有行
ndd 删除光标当前及以下的n行
gg 跳转到第一行的第一个字母
G 跳转到最后一行的第一个字母
shift+$ 行尾
常用场景:拷贝参数去覆盖官方的默认参数

2.系统命令

查看磁盘空间 df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 40G 8.2G 32G 21% / —— 系统盘
/dev/vdb1 1T 10G XXX X% /data01 —— 数据盘
/dev/vdb2 1T 10G XXX X% /data02 —— 数据盘
/dev/vdb3 1T 10G XXX X% /data03 —— 数据盘
/dev/vdb4 1T 10G XXX X% /data04 —— 数据盘
/dev/vdb5 1T 10G XXX X% /data05 —— 数据盘

/dev/vdb9 1T 10G XXX X% /data09 —— 数据盘
devtmpfs 7.8G 0 7.8G 0% /dev
tmpfs 7.8G 16K 7.8G 1% /dev/shm
tmpfs 7.8G 51M 7.8G 1% /run
tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
tmpfs 1.6G 0 1.6G 0% /run/user/0
tmpfs 1.6G 0 1.6G 0% /run/user/1001
内存 free -m
free -g
http://blog.itpub.net/30089851/viewspace-2131678/
详见此链接
系统负载 top

top - 21:47:07 up 1 day, 11:24,  2 users,  **load average: 0.00, 0.01, 0.05**
Tasks: 125 total,   1 running, 124 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.3 us,  0.3 sy,  0.0 ni, 99.5 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem : 16268360 total,  3686432 free,  4804424 used,  7777504 buff/cache
KiB Swap:        0 total,        0 free,        0 used. 11099012 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                       
  347 root      20   0   64044  24712  24348 S   0.3  0.3   0:44.28 systemd-journal               
  733 root      20   0  405008  17052  15460 S   0.3  0.2   0:39.06 rsyslogd                      
 1510 root      20   0  781056  18252   6204 S   0.3  0.2  28:44.68 MonitorPlugin                 
    1 root      20   0  125416   3756   2488 S   0.0  0.0   1:30.80 systemd                       
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kthreadd        
    

主要看load average: 0.00, 0.01, 0.05 三个值不要超过10
表格主要看CPU占比

3.查看进程 查看端口号

查看进程 # ps -ef 打印所有进程

[root@ruozedata001 ~]# ps -ef |grep xxx
root     15892 29399  0 12:28 ?        00:00:00 sshd: [accepted]
root     15902 29399  0 12:28 ?        00:00:00 sshd: [accepted]
root     15931 25798  0 12:28 pts/0    00:00:00 grep --color=auto xxx
root     25795 29399  0 10:13 ?        00:00:00 sshd: root@pts/0
root     29399     1  0 Jan18 ?        00:00:24 /usr/sbin/sshd -D

以第一条为例:root 15892 29399 0 12:28 ? 00:00:00 sshd: [accepted]
root:进程用户
15892 :进程的pid
29399 : 进程的父id(上一层)
最后一条的pid为第一条的父id,表明先运行最后一条进程,然后再运行第一条。
最后一条的父id为 1 ,表示 1 为系统级别的进程。
管道符筛选本身也成为一个进程,可以用 # ps -ef|grep ssh | grep -v grep来过滤这条进程
端口号 netstat -nlp 打印所有进程及端口号
netstat -nlp |grep 762 根据pid找端口号port(762为某个进程的pid)

[root@ruozedata001 ~]# netstat -nlp |grep 29399
tcp        0      0 0.0.0.0:22              0.0.0.0:*            LISTEN      29399/sshd          
tcp6       0      0 :::22                   :::*                 LISTEN      29399/sshd 

端口号为 22

通过pid找port
一个软件的服务要想运行,必须满足以下条件
1: 启动一个进程 (ps -ef可以看到的 ) 必须条件
2: 可能启动一个port (netstat -nlp可以查找的)不是必须
安装服务,打开web

[root@ruozedata001 ~]# yum install httpd
[root@ruozedata001 ~]# service httpd start
Redirecting to /bin/systemctl start  httpd.service
[root@ruozedata001 ~]# systemctl start httpd
[root@ruozedata001 ~]# 
[root@ruozedata001 ~]# 
[root@ruozedata001 ~]# systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: active (running) since Sun 2019-11-17 22:15:20 CST; 40s ago
     Docs: man:httpd(8)
           man:apachectl(8)
 Main PID: 87908 (httpd)
   Status: "Total requests: 0; Current requests/sec: 0; Current traffic:   0 B/sec"
   CGroup: /system.slice/httpd.service
           ├─87908 /usr/sbin/httpd -DFOREGROUND
           ├─87909 /usr/sbin/httpd -DFOREGROUND
           ├─87910 /usr/sbin/httpd -DFOREGROUND
           ├─87911 /usr/sbin/httpd -DFOREGROUND
           ├─87912 /usr/sbin/httpd -DFOREGROUND
           └─87913 /usr/sbin/httpd -DFOREGROUND

Nov 17 22:15:20 ruozedata001 systemd[1]: Starting The Apache HTTP Server...
Nov 17 22:15:20 ruozedata001 httpd[87908]: AH00558: httpd: Could not reliably determine the serve...sage
Nov 17 22:15:20 ruozedata001 systemd[1]: Started The Apache HTTP Server.
Hint: Some lines were ellipsized, use -l to show in full.

service httpd start centos6.x 7.x
systemctl start httpd centos7.x
二者的区别在于,前者只能识别运行一种命令,后者可以多种
即:service httpd sshd status httpd和sshd无法一起识别
systemctl status httpd sshd 二者可以一起识别运行

上述服务运行后,可以查找端口号

[root@ruozedata001 ~]# ps -ef|grep http
root      87908      1  0 22:15 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache    87909  87908  0 22:15 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache    87910  87908  0 22:15 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache    87911  87908  0 22:15 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache    87912  87908  0 22:15 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache    87913  87908  0 22:15 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
root      88447  74889  0 22:18 pts/0    00:00:00 grep --color=auto http
[root@ruozedata001 ~]# netstat -nlp |grep  87908
tcp6       0      0 :::80                   :::*                    LISTEN      87908/httpd

查到端口号,可以用浏览器测试端口连接状态。主机地址后加 :端口号
http 协议为 80
https 协议为 443

4. Connection refused错误的解决

场景: 在centos部署大数据组件,发现一个错误 Connection refused
我们可以用两种方法
①ping ip 测试ip :打开cmd黑窗口,输入ping ip地址 然后回车
②telnet ip port 测试ip和端口号: 打开cmd黑窗口,输入telnet ip port,然后回车
注:windows系统默认不带telnet命令
在这里插入图片描述
Linux系统则需要安装一下命令

[root@ruozedata001 ~]# yum install -y telnet
		[root@ruozedata001 ~]# which telnet 
		/usr/bin/telnet
		[root@ruozedata001 ~]# telnet 114.67.73.169 80
		Trying 114.67.73.169...
		Connected to 114.67.73.169.
		Escape character is '^]'.

最后结果表示通过

面试题: 老板说去A服务器login,打开xxx软件的web界面?
查找ip以及端口号port
ip查找方法:window : ipconfig
linux: ifconfig
端口号查找方法:
ps -ef|grep xxx
netstat -nlp |grep pid ==》port

查看端口号特殊情况:[root@ruozedata001 ~]# netstat -nlp |grep ssh tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 762/sshd tcp6 0 0 :::22 :::* LISTEN 762/sshd
0.0.0.0:22 当前的ip
:::22 当前的ip
192.168.0.3:22 当前的ip
----------------------------

127.0.0.1:22
localhost:22 这两种都是本地自己访问自己 window和其他服务器无法进行访问

5. 高危命令

①rm -rf /

②vi 生产配置文件 当写完之后发现错误,需要修改,没有备份
注:每次编辑生产配置文件,需要习惯性拷贝一份标明时间 cp xxx.xml xxx.xml20191117

③ps -ef进程xxx,或者top命令查询 电脑系统夯住
删除xxx进程:
kill -9 进程pid
kill -9 进程pid 进程pid 进程pid
kill -9 $(pgrep -f 匹配关键词) pgrep -f是ps -ef |grep的缩写
注:杀进程之前,先ps 找到相关的进程,搞清楚,哪些是你要杀的,不然造成生产事故

[root@ruozedata001 conf]# ps -ef|grep http
root      91733      1  0 22:38 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache    91734  91733  0 22:38 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache    91735  91733  0 22:38 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache    91736  91733  0 22:38 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache    91737  91733  0 22:38 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache    91738  91733  0 22:38 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
root      93161  83057  0 22:46 pts/1    00:00:00 grep --color=auto http
[root@ruozedata001 conf]# kill -9 91733
[root@ruozedata001 conf]# 
[root@ruozedata001 conf]# ps -ef|grep http
apache    91734      1  0 22:38 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache    91735      1  0 22:38 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache    91736      1  0 22:38 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache    91737      1  0 22:38 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache    91738      1  0 22:38 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
root      93185  83057  0 22:46 pts/1    00:00:00 grep --color=auto http
[root@ruozedata001 conf]# kill -9 91734  91735  91736  
[root@ruozedata001 conf]# 
[root@ruozedata001 conf]# ps -ef|grep http
apache    91737      1  0 22:38 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache    91738      1  0 22:38 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
root      93207  83057  0 22:46 pts/1    00:00:00 grep --color=auto http
[root@ruozedata001 conf]# 
[root@ruozedata001 conf]# 
[root@ruozedata001 conf]# echo $(pgrep -f http)
91737 91738
[root@ruozedata001 conf]# pgrep -f http
91737
91738
[root@ruozedata001 conf]# kill -9 $(pgrep -f http)
kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
[root@ruozedata001 conf]# 
[root@ruozedata001 conf]# 
[root@ruozedata001 conf]# pgrep -f http
[root@ruozedata001 conf]# ps -ef|grep http
root      93533  83057  0 22:48 pts/1    00:00:00 grep --color=auto http

6 安装yum软件

yum search xxx 搜索匹配的yum安装包
yum install -y xxx-yyy 安装
yum remove xxx-yyy 卸载

搜索已安装的安装包全称以及依赖包 rpm -qa | grep xxxx

[root@ruozedata001 conf]# rpm -qa | grep http
httpd-2.4.6-90.el7.centos.x86_64
httpd-tools-2.4.6-90.el7.centos.x86_64

卸载 rpm -e 安装包全称
此删除有顺序,必须先删除依赖包
先删除httpd-2.4.6-90.el7.centos.x86_64
httpd-tools-2.4.6-90.el7.centos.x86_64
否则就会出现以下错误
[root@ruozedata001 conf]# rpm -e httpd-tools-2.4.6-90.el7.centos.x86_64 error: Failed dependencies: httpd-tools = 2.4.6-90.el7.centos is needed by (installed) httpd-2.4.6-90.el7.centos.x86_64
不校验,直接删除 rpm -e --nodeps xxxx

7.在网页上直接下载 wget

wget http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.16.2.tar.gz

8.压缩解压

zip
在文件夹里边操作:zip -r xxx.zip ./* 该文件夹存在子文件夹 ,将该文件夹里的所有文件压缩为xxx.log的压缩包中
在文件夹外边操作:zip -r xxx.zip xxx/*
解压:unzip
大数据组件的压缩包几乎都是后缀 tar.gz
压缩tar -czvf hadoop-2.6.0-cdh5.16.2.tar.gz hadoop-2.6.0-cdh5.16.2/*
解压tar -xzvf hadoop-2.6.0-cdh5.16.2.tar.gz


版权声明:本文为a1156398原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。