Espada se refiere al comando de depósito de datos-Shell cuatro

1. La última revisión del curso

Dos, comando básico de Linux cuatro

3. Tarea

1. La última revisión del curso

  • Enlace del blog: https://blog.csdn.net/SparkOnYarn/article/details/104800105
  • Ejemplo: usermod -g hadoop -G hadoop, ruoze, root hadoop Análisis: El grupo principal del usuario de ruoze es ruoze, y todavía está en el grupo bigdata, jepson.
[root@hadoop001 ~]# id hadoop
uid=1000(hadoop) gid=1000(hadoop) groups=1000(hadoop),0(root)
[root@hadoop001 ~]# usermod -g hadoop -G hadoop,ruoze,root hadoop
[root@hadoop001 ~]# id hadoop
uid=1000(hadoop) gid=1000(hadoop) groups=1000(hadoop),0(root),1001(ruoze)

Dos, comando básico de Linux cuatro

2.1, instrucción vi

1. Comando de edición gráfica vi:
Inserte la descripción de la imagen aquí
Nota: usamos vi para editar el archivo. Cuando el archivo se copia en el modo de línea de comando, se copiará en el archivo y se perderá el contenido; Perdido

  • por lo tanto, debe estar en modo de edición al pegar

2. Otras formas de encontrar el error:

  • Este es el método del que hablamos antes: cat xxx.log | grep -C 10 ERROR> error.log
  • Mantenga presionada la tecla Mayús +: / palabra clave para ingresar al modo de última línea, agregue barras diagonales y palabras clave y presione Entrar para que coincida automáticamente. Presione N para buscar la siguiente palabra clave.

3. Establezca el número de línea para el archivo en vi:
también ingrese la última entrada del modo de línea: establezca nu, puede conocer el número de líneas donde se encuentra el archivo. Número de línea de salida: establecer nonu

4. Vacíe el contenido del archivo:

  • cat / dev / null> xxx.log
  • echo ""> xxx.log Hay un byte en el archivo, que no es muy bueno

2.2 Teclas de acceso directo en modo de línea de comando

Tecla de acceso directo Definición
dd Eliminar la línea actual
dG Eliminar todas las líneas debajo del cursor actual
ndd Eliminar n líneas debajo del cursor actual (n líneas hacia abajo desde la línea actual del cursor)
gg Salta a la primera letra de la primera línea.
sol Salta a la primera letra de la última línea.

Borre el contenido del archivo: vi rz.log ingresa al modo de línea de comando, gg salta a la primera letra de la primera línea, luego dG elimina todas las líneas debajo del cursor actual; presione la tecla i para ingresar al modo de edición, copie el contenido de otros lugares al archivo , Shift +: Ingrese el modo de la última línea, ingrese wq para guardar y salir.

Nota: Si no está en modo de edición, copiar directamente perderá el contenido del archivo.

Escenario de producción: copie el contenido de otro texto para cubrir este archivo globalmente
. Los componentes del big data son el archivo xml
1. El archivo de configuración oficial predeterminado XXXXX 30 líneas
2. El bloc de notas de Windows editplus edita el parámetro correspondiente 300 líneas

2.3, comandos comunes del sistema

1、未来一个机器上肯定是有很多磁盘的,空间比较小的忽略不计,只要看挂载到根目录或者挂载到其它目录的文件。
[root@hadoop001 ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        40G   13G   25G  35% /		    系统盘200G
/dev/vdb1		 1T    10G    XXX	  /data01	数据盘
/dev/vdb2		 1T    10G    XXX	  /data02	数据盘
/dev/vdb3		 1T    10G    XXX	  /data02	数据盘
/dev/vdb4		 1T    10G    XXX	  /data02	数据盘
devtmpfs        911M     0  911M   0% /dev
tmpfs           920M     0  920M   0% /dev/shm
tmpfs           920M  344K  920M   1% /run
tmpfs           920M     0  920M   0% /sys/fs/cgroup
tmpfs           184M     0  184M   0% /run/user/0

J总公司一台机器系统盘200G,配了10T的数据盘

2、free -m
[root@hadoop ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          3830       3142        687          0        180       1559
-/+ buffers/cache:       1403       2427
Swap:            0          0          0

//我的腾讯云服务器买的2核4G,4G*1024=4096M,出去系统占用,还剩3830兆;used表示已经使用了多少内存,正常使用total-used=free.

total表示系统总物理内存3830m
used表示总计分配给缓存(包含buffers和cached),但其中部分缓存未实际使用
free表示未分配的内存
shared表示共享内存
buffers表示系统分配但未被使用的buffers数量
cached表示系统分配但未被使用的cache的数量

在free命令中显示的buffer和cache,他们都是占用内存
buffer:作为buffer cache的内存,是块设备的读写缓冲区,更靠近存储设备,或者直接就是disk的缓冲区
cached:作为page cache的内存,文件系统的cache,是memory的缓冲区。
如果cache的值很大,说明cache住的文件数很多,如果频繁访问的文件的文件都能被cache住,那么磁盘的读IO势必会非常小。

3、系统负载
top - 17:01:13 up 4 days,  3:16,  1 user,  load average: 0.00, 0.01, 0.05
Tasks:  69 total,   1 running,  68 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.7 us,  0.7 sy,  0.0 ni, 98.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1883724 total,    75604 free,  1218004 used,   590116 buff/cache
KiB Swap:  1048572 total,  1048572 free,        0 used.   489276 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                                                                        
 1701 root      10 -10  131084  14148   6544 S  0.7  0.8  49:52.11 AliYunDun                                                                                      
    1 root      20   0   43176   3424   2308 S  0.0  0.2   0:02.60 systemd 

//一个系统卡不卡就看load average: 0.00,0.01,0.05;就看这三个值,1min,5min,15min级别的负载;J总的经验值,这三个值不要超过10,否则认为此物理服务器。

//主要观察top10进程,某个进程消耗的CPU占多少,去看看某个进程是做什么的

云服务器不算公司资产的,并且一年费用也很高;所以最好下迁到IDC机房。

Problemas encontrados:
una situación en la oficina central de J, la CPU ha estado en 3906% y los tres niveles están en 100,100,100; esto indica que el servicio está alterado: problemas de hardware, problemas de nivel de código; proceso de servidor de regiones hbase, resolver Método: reinicio universal

Contenido extendido:
consulte el blog del hermano J: http://blog.itpub.net/30089851/viewspace-2131678/

2.4, ver el proceso, ver el número de puerto

1. ps -ef Imprime todos los procesos en ejecución en segundo plano:

1、最后一行都是会查看自己本身的进程:
[root@hadoop001 ~]# ps -ef|grep ssh
root      2949     1  0 Mar09 ?        00:00:00 /usr/sbin/sshd -D
root     10706  2949  0 15:26 ?        00:00:00 sshd: root@pts/0
root     10975 10708  0 18:25 pts/0    00:00:00 grep --color=auto ssh

//进程用户	进程的pid	进程的父id			进程用户的内容(进程所属的目录)

2. Netstat -nlp imprime todos los números de puerto en segundo plano:

  • Primero encuentre el pid por nombre, luego encuentre el puerto pid
[root@hadoop001 ~]# netstat -nlp|grep 2949
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      2949/sshd       
  • Por ejemplo, un servicio de un componente de big data que satisface las condiciones de ejecución:
    1. Inicie un proceso: ps -ef
    2. Puede que no sea necesario iniciar un puerto netstat

  • Cuando nos conectamos a través de SecureCRT, el número de puerto predeterminado de CRT es 22, en caso de que cambie el número de puerto, primero encontramos el pid por ps -ef, y luego monitoreamos el número de puerto de acuerdo con netstat.

2.5, yum instala el servicio httpd

1. Instalar en el sistema CentOS: yum install httpd

1、启动httpd服务,因为我们的是CentOS7系统,使用service httpd start(这个是CentOS6的系统命令),会指向systemctl start httpd.service;

//至于这个命令为什么要优化呢,service启动服务查看状态只能一个一个进程来,而systemctl可以多个进程一起执行。

service httpd start CentOS6.X、CentOS7.X都可以适用
systemctl status httpd nginx php	只适用于CentOS7.X

[root@hadoop ~]# service httpd start
Redirecting to /bin/systemctl start  httpd.service
[root@hadoop ~]# systemctl stop httpd.service
[root@hadoop ~]# systemctl start httpd.service

2、可以查看到父进程是10805
[root@hadoop ~]# ps -ef|grep httpd
root     10805     1  0 22:48 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache   10806 10805  0 22:48 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache   10807 10805  0 22:48 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache   10808 10805  0 22:48 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache   10809 10805  0 22:48 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache   10810 10805  0 22:48 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
root     10812 10601  0 22:48 pts/0    00:00:00 grep --color=auto httpd

3、我们根据父进程的pid查询得到httpd的端口号就是80
[root@hadoop ~]# netstat -nlp|grep 10805
tcp6       0      0 :::80                   :::*                    LISTEN      10805/httpd 

4、测试服务是否部署成功:
http://144.34.179.161:80、http://144.34.179.161两者访问的是一样的
https://144.34.179.161	此种协议默认的端口就是443端口

Escenario: al implementar componentes de Big Data en un sistema CentOS, encontré un error llamado enlace rechazado, conexión rechazada, como Windows IDEA para acceder, cómo verificar: ping ip, puerto ip telnet

1、在windows中打开cmd窗口如下验证到的是没有问题的
C:\Users\Administrator>ping 144.34.179.161

正在 Ping 144.34.179.161 具有 32 字节的数据:
来自 144.34.179.161 的回复: 字节=32 时间=233ms TTL=41
来自 144.34.179.161 的回复: 字节=32 时间=228ms TTL=41
来自 144.34.179.161 的回复: 字节=32 时间=236ms TTL=41
来自 144.34.179.161 的回复: 字节=32 时间=235ms TTL=41

144.34.179.161 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 228ms,最长 = 236ms,平均 = 233ms

2、windows上配置telnet服务:如下图,需要重启电脑

Inserte la descripción de la imagen aquí

2. Instale el servicio telnet en la máquina Linux:

[root@hadoop001 ~]# yum install -y telnet
[root@hadoop001 ~]# telnet 47.98.238.163 80
Trying 47.98.238.163...
Connected to 47.98.238.163.
Escape character is '^]'.

3、linux中如何识别云主机的内网IP
[root@hadoop ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 52:54:00:B7:5D:8C  
          inet addr:172.17.0.5  Bcast:172.17.15.255  Mask:255.255.240.0
          inet6 addr: fe80::5054:ff:feb7:5d8c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1887747 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1928101 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:154096543 (146.9 MiB)  TX bytes:276296393 (263.4 MiB)

4、windows上查询本机ip:
ipconfig

Pregunta: ¿El jefe dijo que inicie sesión en el servidor A y abra la interfaz web del software XXX?

  • No es más que el pid correspondiente del servicio ps -ef | grep xxx, y luego use netstat -nlp | grep pid para encontrar el número de puerto del puerto correspondiente.

2.6, acceso de dirección de prueba httpd 127.0.0.1

Pero: los problemas que pueden
surgir en el trabajo futuro: 0.0.0.0:22 representa la ip actual
::: 22 representa la ip actual
125.210.74.170 : 22 representa la ip actual

127.0.0.1:22 solo puede acceder a sí mismo localmente, Windows y otros servidores no pueden acceder a
localhost: 22

现在httpd的服务是对外的,我们测试把它修改成127.0.0.1:80
1、测试修改,编辑文件:
vi /etc/httpd/conf/httpd.conf
#Listen 12.34.56.78:80
Listen 127.0.0.1:80

2、service httpd start

3、144.34.179.161无法访问

4、curl http://127.0.0.0:80这样是可以访问的

[root@hadoop conf]# netstat -nlp|grep http
tcp        0      0 127.0.0.1:80            0.0.0.0:*               LISTEN      11482/httpd

//只有自己访问自己是不行的,idea开发代码都无法连接搞个毛

Notas importantes:

  • Para modificar el archivo de configuración en producción, primero haga una copia del archivo, cp xxx.conf xxx.conf.20200313 para guardarlo nuevamente.
  • El proceso ps xxx está alterado, utilizamos el comando superior para ver.

2.7. Use kill para matar el proceso

1、测试发现删除父进程,httpd的子进程仍然存在:
[root@hadoop conf]# ps -ef|grep http
root     11482     1  0 00:05 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache   11483 11482  0 00:05 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache   11484 11482  0 00:05 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache   11485 11482  0 00:05 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache   11486 11482  0 00:05 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache   11487 11482  0 00:05 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
root     11552 11417  0 00:13 pts/0    00:00:00 grep --color=auto http
[root@hadoop conf]# kill -9 11482
[root@hadoop conf]# ps -ef|grep http
apache   11483     1  0 00:05 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache   11484     1  0 00:05 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache   11485     1  0 00:05 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache   11486     1  0 00:05 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache   11487     1  0 00:05 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND

2、高位命令:
[root@hadoop conf]# ps -ef|grep http
root     11608     1  0 00:19 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache   11609 11608  0 00:19 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache   11610 11608  0 00:19 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache   11611 11608  0 00:19 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache   11612 11608  0 00:19 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache   11613 11608  0 00:19 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
root     11615 11417  0 00:19 pts/0    00:00:00 grep --color=auto http
[root@hadoop conf]# echo $(pgrep -f http)
11608 11609 11610 11611 11612 11613
[root@hadoop conf]# kill -9 $(pgrep -f http)
[root@hadoop conf]# ps -ef|grep http
root     11652 11417  0 00:19 pts/0    00:00:00 grep --color=auto http

kill -9 进程pid
kill -9 进程pid 进程pid 进程pid
kill -9 $(pgrep -f 匹配关键词)
//建议:大家杀进程之前,先ps找到相关的进程,搞清楚哪些进程是你要杀的,别把别人正在写的数据给kill掉了。J总公司一般不会删除数据,只会把目录进行迁移,

2.8. Instalación y desinstalación del software yum (no verifique las dependencias al desinstalar)

  • yum update
  • yum install -y httpd
  • ñam eliminar httpd
  • yum research httpd

Por ejemplo, después de un tiempo, olvidamos el nombre del paquete de instalación:

1、查询我们有什么安装包
[root@hadoop ~]# rpm -qa|grep http
httpd-2.4.6-90.el7.centos.x86_64
httpd-tools-2.4.6-90.el7.centos.x86_64

2、卸载这个安装包
[root@hadoop ~]# rpm -e httpd-2.4.6-90.el7.centos.x86_64
warning: /etc/httpd/conf/httpd.conf saved as /etc/httpd/conf/httpd.conf.rpmsave

3、再次监听
[root@hadoop ~]# rpm -qa|grep http
httpd-tools-2.4.6-90.el7.centos.x86_64
[root@hadoop ~]# rpm -e httpd-tools-2.4.6-90.el7.centos.x86_64

4、卸载的时候还会校验包的依赖性:
[root@hadoop ~]# rpm -qa|grep http
httpd-2.4.6-90.el7.centos.x86_64
httpd-tools-2.4.6-90.el7.centos.x86_64
[root@hadoop ~]# 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

5、那我们不校验直接把包给干掉,管它是不是什么依赖包呢
rpm -e --nodeps httpd-tools-2.4.6-90.el7.centos.x86_64

2.9, paquete de instalación de descarga de wget, compresión, descompresión

1. Paquete de instalación de descarga de Wget:

  • [root @ hadoop ~] # wget http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.16.2.tar.gz
    -bash: wget: comando no encontrado
    [root @ hadoop ~ ] # yum install -y wget

2. Use zip para comprimir la carpeta:
zip -r xxx.zip ./* Comprimido en la carpeta, solo contiene el archivo
zip -r xxx.zip / ruozedata / * Comprimido fuera de la carpeta, habrá un directorio de ruozedata .

3. Los paquetes comprimidos de componentes de big data son casi siempre sufijos tar.g

  • tar -xzvf hadoop-2.6.0-cdh5.16.2.tar.gz descomprime esta carpeta

  • tar -czvf hadoop-2.6.0-cdh5.16.2.tar.gz hadoop-2.6.0-cdh5.16.2 comprimir hadoop-2.6.0

    -c, --create crea un nuevo archivo
    -v, --verbose verbosamente lista de archivos procesados ​​muestra todos los procesos
    -f, --file = ARCHIVE usa el archivo o dispositivo ARCHIVE -f: usa el nombre del archivo, recuerda, esto El parámetro es el último parámetro y solo se puede seguir el nombre del archivo.
    -x, --extract, --get extraer archivos de un archivo descomprimir
    -z, --gzip, --gunzip, --ungzip filtrar el archivo a través del archivo gzip con el atributo gizp

3. Tarea para este curso

1. Organice el comando vi
2, el proceso y el número de puerto
3, el motivo del rechazo de conexión
4, el kill
5 del comando de alto riesgo , comúnmente utilizado wget, rpm -qa, rpm -e, rpm -e --nodeps

Publicado 23 artículos originales · elogiado 0 · visitas 755

Supongo que te gusta

Origin blog.csdn.net/SparkOnYarn/article/details/104830312
Recomendado
Clasificación