“Hadoop” -y deslapky talaplary düzmek we Howpsuzlygy berkitmek - 2-nji bölüm


Hadoop Klaster Binasy, zerur serwerleri satyn almakdan, tekjä münmekden, kabel we ş.m. we Datacentre ýerleşdirmekden başlap, ädim ädimdir. Soňra OS gurnamaly, klasteriň ululygy uly bolsa, real wagt gurşawynda kickstart ulanyp bolýar. OS gurlansoň, serweri Hadoop gurmak üçin taýýarlamaly we serwerleri guramanyň howpsuzlyk syýasatlaryna laýyklykda taýýarlamaly.

  • CentOS/RHEL 7-de Hadoop serwerini ýerleşdirmegiň iň oňat tejribeleri - 1-nji bölüm

Bu makalada, “Cloudera” tarapyndan maslahat berlen OS derejesindäki deslapky talaplary öwreneris. Şeýle hem, GDA-nyň Önümçilik serwerleri üçin görkezijisine laýyklykda Howpsuzlygy berkitmek boýunça käbir möhüm maslahatlary belledik. Bu howpsuzlyk Gatylaşdyrmak talaplara görä dürli bolup biler.

“Cloudera Hadoop” -y düzmek Öňünden talaplar

Bu ýerde, “Cloudera” tarapyndan maslahat berlen OS derejesindäki deslapky talaplary ara alyp maslahatlaşarys.

Düzgüne görä, “Hadoop” -yň iş ýükleri bilen erbet täsirleşmeýän “Linux” maşynlarynda “Transparent Huge Page” (THP) işleýär we bu Klasteriň umumy işleýşini peseldýär. Şonuň üçin aşakdaky echo buýrugyny ulanyp iň amatly öndürijilige ýetmek üçin muny öçürmeli.

# echo never > /sys/kernel/mm/transparent_hugepage/enabled 
# echo never > /sys/kernel/mm/transparent_hugepage/defrag 

Düzgüne görä, Linux maşynlarynyň köpüsi üçin vm.swappiness bahasy 30 ýa-da 60.

# sysctl vm.swappiness

Hadoop serwerleri üçin çalşygyň has ýokary bahasyna eýe bolmak maslahat berilmeýär, sebäbi hapa ýygnamak uzynlygyna sebäp bolup biler. Has ýokary çalyşma bahasy bilen, ýeterlik ýadymyz bar bolsa-da, maglumatlary çalyşmak üçin maglumatlar keş bolup biler. Çalyşma bahasynyň peselmegi, has köp ýat sahypalaryny öz içine alýan fiziki ýady döredip biler.

# sysctl vm.swappiness=1

, A-da /etc/sysctl.conf faýlyny açyp, soňunda \vm.swappiness=1\ goşup bilersiňiz.

vm.swappiness=1

Her Hadoop serweriniň üstünde işleýän birnäçe hyzmatlar (daemonlar) bilen öz jogapkärçiligi bolar. Thehli serwerler dürli maksatlar üçin ýygy-ýygydan biri-biri bilen aragatnaşyk saklarlar.

Mysal üçin, Datanode Namenode her 3 sekuntda ýürek urgusyny iberer, şonuň üçin Namenode Datanodyň diridigine göz ýetirer.

Allhli aragatnaşyk “Firewall” -yň üsti bilen dürli serwerlerdäki daemonlaryň arasynda bolup geçýän bolsa, bu Hadoop üçin goşmaça ýük bolar. Şonuň üçin Klasterdäki aýratyn serwerlerde gorag diwaryny öçürmek iň gowy tejribe.

# iptables-save > ~/firewall.rules
# systemctl stop firewalld
# systemctl disable firewall

SELinux-y işjeň ýagdaýda saklasak, Hadoop gurlanda problema döreder. Hadoop toparlaýyn hasaplaýyş bolansoň, “Cloudera Manager” Hadoop we onuň hyzmatlaryny gurmak üçin klasterdäki ähli serwerlere ýeter we zerur ýerlerde zerur hyzmat kataloglaryny döreder.

SELinux açyk bolsa, “Cloudera Manager” -iň gurnamany isleýşi ýaly dolandyrmagyna ýol bermez. Şeýlelik bilen, SELinux-y işletmek Hadoop üçin päsgelçilik bolar we öndürijilik meselesine sebäp bolar.

SELinux-yň ýagdaýyny aşakdaky buýrugy ulanyp barlap bilersiňiz.

# sestatus

Indi/etc/selinux/config faýlyny açyň we görkezilişi ýaly SELINUX-y öçüriň.

SELinux=disabled

SELinux-y öçüreniňizden soň, ony işjeňleşdirmek üçin ulgamy täzeden açmaly.

# reboot

Hadoop Klasterinde, ähli serwerler sagadyň ofset ýalňyşlyklaryndan gaça durmak üçin Wagt sinhronlaşdyrylmalydyr. RHEL/CentOS 7-de tor sagady/wagt sinhronizasiýasy üçin hronid gurlan, ýöne Cloudera NTP ulanmagy maslahat berýär.

NTP gurnamaly we sazlamaly. Gurlandan soň, hronydy duruzyň we öçüriň. Sebäbi, ntpd hem-de hronyd işleýän bir serwer bar bolsa, “Cloudera Manager” wagt sinhronizasiýasy üçin hronidi göz öňünde tutsa, ntp arkaly sinhronlaşan wagtymyz bolsa-da ýalňyşlyk goýberer.

# yum -y install ntp
# systemctl start ntpd
# systemctl enable ntpd
# systemctl status ntpd

Aboveokarda belläp geçişimiz ýaly, ntpd ulanýandygymyz üçin işjeň hronid gerek däl. Hronidiň ýagdaýyny barlaň, eger işleýän bolsa we ýapyň. Düzgüne görä, hronyd, OS gurlandan soň başlaýançak saklanýar, has ygtybarly tarapy ýapmaly.

# systemctl status chronyd
# systemctl disable chronyd

Baş sahypanyň adyny FQDN (Doly kwalifikasiýaly domen ady) bilen bellemeli. Her serweriň özboluşly Canonical ady bolmaly. Baş sahypanyň adyny çözmek üçin DNS ýa-da/etc/hostlary sazlamaly. Bu ýerde/etc/hostlary sazlamakçy.

Her serweriň IP adresi we FQDN ähli serwerleriň/etc/hostlaryna girizilmelidir. Soňra diňe “Cloudera Manager” ähli serwerleri öz host ady bilen habarlaşyp biler.

# hostnamectl set-hostname master1.linux-console.net

Ondan soň/etc/host faýly düzüň. Mysal üçin: - 2 ussat we 3 işçi bilen 5 düwünli klasterimiz bar bolsa,/etc/hostlary aşakdaky ýaly düzüp bileris.

Hadoop Java-dan düzülenligi sebäpli, ähli öý eýelerine degişli wersiýa bilen Java gurlan bolmaly. Bu ýerde OpenJDK alarys. Düzgüne görä, “Cloudera Manager” “OracleJDK” gurar, emma “Cloudera” “OpenJDK” bolmagy maslahat berýär.

# yum -y install java-1.8.0-openjdk-devel
# java -version

Hadoop howpsuzlygy we gatylaşmagy

Bu bölümde, Harden Hadoop daşky gurşaw howpsuzlygyna bararys ...

“Awtoflary” awtomatlaşdyrmak USB, CD/DVD ýaly fiziki enjamlary awtomatiki gurnamaga mümkinçilik berýär. Fiziki ygtyýary bolan ulanyjy, maglumatlary girizmek üçin USB ýa-da islendik Saklaýyş gurşawyny birikdirip biler. Öçürilmeýändigini ýa-da ýokdugyny barlamak üçin aşakdaky buýruklary ulanyň.

# systemctl disable autofs
# systemctl is-enabled autofs

Grub konfigurasiýa faýlynda, ýükleme opsiýalaryny açmak üçin boot sazlamalary we şahsyýet maglumatlary barada möhüm maglumatlar bar. Grub konfigurasiýa faýly/grub.cfg/boot/grub2-de ýerleşýär we /etc/grub2.conf hökmünde baglanyşdyrylýar we grub.cfg kök ulanyjynyň eýeçiliginde bolmagyny üpjün edýär.

# cd /boot/grub2

Uid we Gid-iň 0/kökdigini barlamak üçin aşakdaky buýrugy ulanyň we topar ýa-da başga hiç hili rugsady ýok.

# stat /boot/grub2/grub.cfg

Beýleki we topardan rugsatlary aýyrmak üçin aşakdaky buýrugy ulanyň.

# chmod og-rwx /boot/grub2/grub.cfg

Bu sazlama, serweriň beýleki ygtyýarly gaýtadan açylmagyndan gaça durýar. .agny, serweri täzeden açmak üçin parol talap edýär. Gurulmadyk bolsa, rugsatsyz ulanyjylar serweri açyp bilerler we boot bölümlerine üýtgeşmeler girizip bilerler.

Paroly bellemek üçin aşakdaky buýrugy ulanyň.

# grub2-mkpasswd-pbkdf2

Etokarda döredilen paroly /etc/grub.d/01_users faýlyna goşuň.

Ondan soň grub konfigurasiýa faýlyny täzeden dörediň.

# grub2-mkconfig > /boot/grub2/grub.cfg

“Prelink”, zyýanly ulanyjylar libc ýaly umumy kitaphanalary bozup bilse, serwerdäki gowşaklygy artdyryp biljek programma üpjünçiligi.

Aýyrmak üçin aşakdaky buýrugy ulanyň.

# yum remove prelink

Potensial hüjümlerden gaça durmak üçin käbir hyzmatlary/teswirnamalary öçürmegi göz öňünde tutmalydyrys.

# systemctl disable <service name>

  • Ulgam hyzmatlaryny öçüriň - Ulgam hyzmatlarynyň - tölegleriň, gündiziň, taşlamagyň, eho, wagtyň açyk däldigine göz ýetiriň. Bu Tor hyzmatlary düzediş we synag üçin niýetlenendir, uzakdaky hüjümi azaldyp bilýän öçürmek maslahat berilýär.
  • TFTP & FTP-i öçüriň - Protokollaryň ikisi-de maglumatlaryň ýa-da şahsyýet maglumatlarynyň gizlinligini goldamaz. Açyk talap edilmese serwerde bolmazlyk iň gowy tejribe. Esasan bu protokollar Faýl serwerlerinde gurnalýar we işledilýär.
  • DHCP-i öçüriň - DHCP IP adresini dinamiki paýlaýan protokoldyr. Potensial hüjümlerden gaça durmak üçin DHCP serweri bolmasa, öçürmek maslahat berilýär.
  • HTTP-i öçüriň - HTTP web mazmunyny ýerleşdirmek üçin ulanylýan protokoldyr. Master/Dolandyryş serwerlerinden başga (hyzmatlaryň WebUI CM, Hue we ş.m. ýaly sazlanmaly ýerinde), bolup biljek hüjümlerden gaça durup biljek beýleki işçi düwünlerinde HTTP-i öçürip bileris.

Gysgaça mazmun

“Cloudera Hadoop” -yň deslapky talaplaryndan we käbir howpsuzlyk berkitmelerinden ybarat serwer taýýarlygyny geçdik. “Cloudera” tarapyndan kesgitlenen OS derejesindäki deslapky talaplar Hadoop-yň rahat gurulmagy üçin hökmanydyr. Adatça, GDA görkezijisiniň kömegi bilen gatylaşdyryjy skript taýýarlanar we hakyky wagtda berjaý edilmezligi barlamak we düzetmek üçin ulanylar.

CentOS/RHEL 7-iň minimal gurnamasynda diňe esasy funksiýalar/programma üpjünçiligi gurulýar, bu islenilmeýän töwekgelçiliklerden we gowşak goralanlyklardan gaça durar. Minimal gurnama bolsa-da, Hadoop gurmazdan ozal, klaster gurlandan soň, Klasteriň işine/Önümçiligine geçmezden ozal birnäçe gezek howpsuzlyk barlagy geçiriler.