Los nodos “master” de un clúster Hadoop alojan los servicios de infraestructura críticos: NameNode, YARN ResourceManager, ZooKeeper, bases de datos de soporte, etc… Para ello los recursos de hardware deben ser adecuados y su configuración de sistemas de almacenamiento considerada.
Servidores
Los servidores elegidos para la implementación de los nodos del clúster son:
- Servidores DL380 Gen10 con chasis de 2U, con capacidad para 8 discos SFF, equipado cada uno con:
- 2 procesadores Intel Xeon Silver 4210R (10 cores, 2,40Ghz, 13,75MB cache L3)
- 256GB de memoria RAM (8x32GB)DDR4 2R 2933MHz RDIMM
- Controladora de discos Smart Array P408i-a SR Gen10 con 2GB RAM cache y batería de 96W de respaldo.
- Adaptador ethernet de 4 puertos Gigabit 331i integrado
- Tarjeta PCIe Ethernet de 2 puertos 10Gb/s 537SFP+
- Doble fuente de alimentación redundante de 800W
Discos
Discos duros HPE SAS/SATA de 2.4TB/480GB SFF (2,5″)
- 2 discos SSD de 480GB SATA Read Intensive SFF
- 6 discos HDD SAS de 2.4TB 12G 10K SFF
Configuración de almacenamiento
De acuerdo a las recomendaciones de configuración para este tipo de nodos por parte de diferentes proveedores de hardware, la distribución discos y su uso se muestra en la siguiente tabla:
En las siguientes figuras pueden observarse los diferentes particionados y volúmenes de los discos anteriores:
A continuación puede observarse como han quedado las particiones, sistemas de archivo y su montaje después de la instalación:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 2.2T 0 disk ├─vg3-lv--zoo--db 253:7 0 1T 0 lvm /hadoop/zookeeper └─vg3-lv--reserved 253:8 0 1.2T 0 lvm sdb 8:16 0 2.2T 0 disk ├─vg2-lv--zoo--journal 253:5 0 1T 0 lvm └─vg2-lv--dfs--journal 253:6 0 1.2T 0 lvm /home/users sdc 8:32 0 447.1G 0 disk ├─sdc1 8:33 0 1.1G 0 part /boot/efi ├─sdc2 8:34 0 1G 0 part /boot ├─sdc3 8:35 0 443G 0 part │ ├─vg0-lv--root 253:2 0 100G 0 lvm / │ ├─vg0-lv--home 253:3 0 10G 0 lvm /home │ └─vg0-lv--var 253:4 0 333G 0 lvm /var └─sdc4 8:36 0 2G 0 part [SWAP] sdd 8:48 0 4.4T 0 disk └─sdd1 8:49 0 4.4T 0 part ├─vg1-lv--dfs 253:0 0 2.2T 0 lvm /hadoop/hdfs └─vg1-lv--pgsql 253:1 0 2.2T 0 lvm /var/lib/pgsql |
Configuración de red
La red de datos que conecta los nodos del clúster es una red de alta velocidad en la que cada nodo dispone de dos NIC Ethernet agregadas (“bonded”) mediante LACP. Este enlace agregado proporciona el doble de ancho de banda y tolerancia a fallos, en caso de que uno de los enlaces individuales falle. Cada enlace individual estará conectado a sendos switches CISCO Nexus de la serie 3000 (concretamente N3K-C3064PQ-10GX) que componen un dominio vPC (virtual PortChannel). En la siguiente figura puede observarse esta estructura, destacada en azul, entre varias configuraciones típicas de conexionado vPC:
Para implementar el Host Port Channel en los servers se han de agregar mediante “bonding” las dos NIC estableciendo los siguientes parámetros:
- MODE= 802.3ad
- XMIT Hash Policy= layer2 (default)
- LACP rate= fast
El archivo de configuración de red queda como sigue:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# cat /etc/netplan/00-installer-config.yaml network: ethernets: eno5: dhcp4: false eno6: dhcp4: true eno7: dhcp4: true eno8: dhcp4: true ens3f0np0: dhcp4: false ens3f1np1: dhcp4: false bonds: bond0: interfaces: [ens3f0np0, ens3f1np1] addresses: [10.22.87.215/24] gateway4: 10.22.87.11 parameters: mode: 802.3ad transmit-hash-policy: layer2 lacp-rate: fast nameservers: addresses: - 10.22.87.1 - 8.8.8.8 search: - TartangaLH.eus version: 2 |