1. La última revisión del curso
Dos, comando básico de Linux cuatro
- 2.1 Interpretación del comando vi
- 2.2 Teclas de acceso directo en modo de línea de comando
- 2.3, comandos comunes del sistema
- 2.4, ver el número de puerto del proceso
- 2.5, yum instala el servicio httpd
- 2.6, acceso de dirección de prueba httpd 127.0.0.1
- 2.7. Matanza de comandos de alto riesgo
- 2.8. Instalación y desinstalación del software yum (no verifique las dependencias al desinstalar)
- 2.9, paquete de instalación de descarga de wget, compresión, descompresión
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:
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服务:如下图,需要重启电脑
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