Ịtọlite ihe ndị achọrọ na Hadoop na nchekwa ike - akụkụ 2


Ụlọ Hadoop Cluster bụ usoro nzọụkwụ site na nzọụkwụ ebe usoro na-amalite site na ịzụrụ ihe nkesa achọrọ, na-arịgo n'ime rack, cabling, etc. na itinye na Datacentre. Mgbe ahụ, anyị kwesịrị ịwụnye OS, enwere ike ime ya site na iji kickstart na gburugburu ebe obibi oge ma ọ bụrụ na ụyọkọ ụyọkọ buru ibu. Ozugbo arụnyere OS, mgbe ahụ anyị kwesịrị ịkwadebe ihe nkesa maka nrụnye Hadoop ma anyị kwesịrị ịkwado sava ndị ahụ dịka atumatu nchekwa nke Organizationtù siri dị.

  • Emume kacha mma maka ibunye sava Hadoop na CentOS/RHEL 7 – Akụkụ 1

N'ime edemede a, anyị ga-agafe ọkwa ọkwa OS nke Cloudera kwadoro. Ọzọkwa, anyị akọwapụtala ụfọdụ ndụmọdụ siri ike nchekwa dị mkpa dị ka CIS Benchmark maka sava Mmepụta. Ihe nchekwa nchekwa ndị a nwere ike ịdị iche dịka ihe achọrọ si dị.

Ịtọlite Cloudera Hadoop Ihe achọrọ

N'ebe a, anyị ga-atụle ọkwa ọkwa OS nke Cloudera kwadoro.

Site na ndabara, a na-enyere Transparent Huge Page (THP) aka na igwe Linux nke na-emekọghị oke ọrụ Hadoop na ọ na-eweda arụmọrụ nke ụyọkọ. Yabụ na anyị kwesịrị gbanyụọ nke a ka anyị wee nweta arụmọrụ kacha mma site na iji iwu echo na-esote.

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

Site na ndabara, uru vm.swappiness bụ 30 ma ọ bụ 60 maka ọtụtụ igwe Linux.

# sysctl vm.swappiness

Inwe uru dị elu nke swappiness adịghị atụ aro maka sava Hadoop n'ihi na ọ nwere ike ime ka nkwụsịtụ mkpokọta mkpofu ogologo. Na, na uru swappiness dị elu, enwere ike ịchekwa data iji gbanwee ebe nchekwa ọbụlagodi na anyị nwere ebe nchekwa zuru oke. Wetulata uru swappiness nwere ike ime ebe nchekwa anụ ahụ ka ọ nwee ibe ebe nchekwa karịa.

# sysctl vm.swappiness=1

Ma ọ bụ, ị nwere ike mepee faịlụ /etc/sysctl.conf wee tinye \vm.swappiness=1 na njedebe.

vm.swappiness=1

Ihe nkesa Hadoop ọ bụla ga-enwe ọrụ nke ya yana ọtụtụ ọrụ (daemons) na-arụ ọrụ na nke ahụ. Sava niile ga na-akparịta ụka n'otu oge maka ebumnuche dị iche iche.

Dịka ọmụmaatụ, Datanode ga-ezite nkụda obi na Namenode maka sekọnd 3 ọ bụla ka Namenode wee hụ na Datanode dị ndụ.

Ọ bụrụ na nkwurịta okwu niile na-eme n'etiti daemons gafee sava dị iche iche site na Firewall, ọ ga-abụ ibu arọ nye Hadoop. Yabụ na ọ kachasị mma iji gbanyụọ firewall n'ime sava nke ọ bụla na Ụyọkọ.

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

Ọ bụrụ na anyị na-eme ka SELinux rụọ ọrụ, ọ ga-ebute nsogbu mgbe ị na-etinye Hadoop. Dị ka Hadoop bụ kọmpụta ụyọkọ, Cloudera Manager ga-erute sava niile dị na ụyọkọ ahụ iji wụnye Hadoop na ọrụ ya na ọ ga-emepụta akwụkwọ ndekọ aha dị mkpa ebe ọ bụla achọrọ.

Ọ bụrụ na enyere SELinux aka, ọ gaghị ekwe ka Cloudera Manager chịkwaa nrụnye dịka ọ chọrọ. Yabụ, ịme SELinux ga-abụ ihe mgbochi na Hadoop na ọ ga-ebute nsogbu arụmọrụ.

Ị nwere ike ịlele ọkwa nke SELinux site na iji iwu dị n'okpuru.

# sestatus

Ugbu a, mepee faịlụ /etc/selinux/config wee gbanyụọ SELINUX dị ka egosiri.

SELinux=disabled

Mgbe ị kwụsịrị SELinux, ịkwesịrị ịmalitegharị sistemụ ahụ iji mee ka ọ rụọ ọrụ.

# reboot

Na ụyọkọ Hadoop, ihe nkesa niile kwesịrị ịmekọrịta oge ka ịzena mperi mperi elekere. RHEL/CentOS 7 na-arụ ọrụ chronyd maka imekọrịta elekere/oge netwọk, mana Cloudera na-atụ aro iji NTP.

Anyị kwesịrị ịwụnye NTP ma hazie ya. Ozugbo etinyere ya, kwụsị 'chronyd' wee gbanyụọ. N'ihi na, ọ bụrụ na ihe nkesa nwere ma ntpd na chronyd na-agba ọsọ, Cloudera Manager ga-atụle chronyd maka oge mmekọrịta, mgbe ahụ ọ ga-atụfu njehie ọbụlagodi na anyị nwere oge mekọrịta site ntp.

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

Dịka anyị kwuru n'elu, anyị achọghị ọrụ chronyd ka anyị na-eji ntpd. Lelee ọkwa chronyd, ọ bụrụ na ọ na-agba ọsọ kwụsị ma gbanyụọ. Site na ndabara, chronyd na-akwụsị ọ gwụla ma anyị malitere ya mgbe echichi OS gasịrị, naanị anyị kwesịrị gbanyụọ maka akụkụ dị nchebe.

# systemctl status chronyd
# systemctl disable chronyd

Anyị ga-eji FQDN tọọ aha nnabata ahụ (Aha ngalaba ruru eru zuru oke). Ihe nkesa ọ bụla kwesịrị inwe aha Canonical pụrụ iche. Iji dozie aha nnabata, ma anyị kwesịrị ịhazi DNS ma ọ bụ /etc/hosts. N'ebe a, anyị ga-ahazi /etc/hosts.

Ekwesịrị ịbanye adreesị IP na FQDN nke sava ọ bụla na /etc/hosts nke sava niile. Mgbe ahụ ọ bụ naanị Cloudera Manager nwere ike iji aha nnabata ya kpakọrịta sava niile.

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

Ọzọ, hazie faịlụ /etc/hosts. Dịka ọmụmaatụ: - Ọ bụrụ na anyị nwere ụyọkọ ọnụ 5 nwere nna ukwu 2 na ndị ọrụ 3, anyị nwere ike hazie /etc/hosts dị ka n'okpuru.

Ebe Hadoop bụ Java mebere, ndị ọbịa niile kwesịrị iji ụdị dabara adaba tinye Java. Ebe a ka anyị ga-enwe OpenJDK. Site na ndabara, Cloudera Manager ga-etinye OracleJDK mana Cloudera na-atụ aro inwe OpenJDK.

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

Nchekwa Hadoop na ike ike

Na ngalaba a, anyị ga-aga Harden Hadoop nchekwa gburugburu…

Automounting 'autofs' na-enye ohere ịkwanye ngwaọrụ anụ ahụ dị ka USB, CD/DVD. Onye ọrụ nwere ohere anụ ahụ nwere ike itinye eriri USB ma ọ bụ ebe nchekwa ọ bụla iji nweta fanye data. Jiri iwu ndị dị n'okpuru chọpụta ma ọ nwere nkwarụ ma ọ bụ na ọ nweghị, ma ọ bụrụ na ọ bụghị gbanyụọ ya.

# systemctl disable autofs
# systemctl is-enabled autofs

Faịlụ nhazi grub nwere ozi dị oke mkpa nke ntọala buut yana nzere iji kpọghee nhọrọ buut. Grub config faịlụ 'grub.cfg'nke dị na /boot/grub2 na ejikọtara ya dị ka /etc/grub2.conf ma hụ na grub.cfg bụ onye ọrụ mgbọrọgwụ.

# cd /boot/grub2

Jiri iwu dị n'okpuru ka ịlele Uid na Gid bụ ma 0/mgbọrọgwụ na 'otu' ma ọ bụ 'ọzọ' ekwesịghị inwe ikike ọ bụla.

# stat /boot/grub2/grub.cfg

Jiri iwu dị n'okpuru wepụ ikike site na ndị ọzọ na otu.

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

Ntọala a na-ezere ịmalitegharị ihe nkesa na-enyeghị ikike ọzọ. ntụgharị, Ọ chọrọ paswọọdụ iji malitegharịa ihe nkesa ahụ. Ọ bụrụ na edoghị ya, ndị ọrụ na-enweghị ikike nwere ike buut nkesa ma nwee ike ime mgbanwe na nkebi buut.

Jiri iwu dị n'okpuru ka ịtọọ paswọọdụ.

# grub2-mkpasswd-pbkdf2

Tinye paswọọdụ emepụtara n'elu na faịlụ /etc/grub.d/01_users.

Na-esote, megharịa faịlụ nhazi grub.

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

Prelink bụ mmemme ngwanrọ nwere ike ịbawanye adịghị ike na sava ma ọ bụrụ na ndị ọrụ ọjọọ nwere ike imebi ọba akwụkwọ nkịtị dị ka libc.

Jiri iwu dị n'okpuru wepụ ya.

# yum remove prelink

Anyị kwesịrị ịtụle ịgbanyụ ụfọdụ ọrụ/ụkpụrụ iji zere mbuso agha.

# systemctl disable <service name>

  • Gbanyụọ ọrụ netwọk - Gbaa mbọ hụ na ọrụ netwọk - ụgwọ, ụbọchị, tụfuo, nkwughachi, oge adịghị enyere. Ọrụ netwọkụ ndị a bụ maka nbipu na nnwale, a na-atụ aro ka ị gbanyụọ nke nwere ike ibelata ọgụ a dịpụrụ adịpụ.
  • Gbanyụọ TFTP & FTP - Usoro abụọ ahụ agaghị akwado nzuzo nke data ma ọ bụ nzere. Ọ kachasị mma ịghara inwe na ihe nkesa ọ gwụla ma achọrọ ya nke ọma. Ọtụtụ n'ime usoro iwu ndị a ka etinyere ma rụọ ọrụ na sava faịlụ.
  • Gbanyụọ DHCP - DHCP bụ usoro nke ga-ekenye adreesị IP n'ike. A na-atụ aro ka ị gbanyụọ ọ gwụla ma ọ bụ ihe nkesa DHCP iji zere mbuso agha.
  • Gbanyụọ HTTP - HTTP bụ protocol enwere ike iji kwado ọdịnaya weebụ. Ewezuga sava Master/Management(ebe a ga-ahazi ọrụ WebUI dị ka CM, Hue, wdg), anyị nwere ike gbanyụọ HTTP na ọnụ ọnụ ndị ọrụ ndị ọzọ nke nwere ike zere mwakpo ndị nwere ike.

Nchịkọta

Anyị agabigala nkwadebe nkesa nke mejupụtara Cloudera Hadoop Pre-requisites na ụfọdụ ike nchekwa. Ihe achọrọ ọkwa ọkwa OS nke Cloudera kọwapụtara bụ iwu maka nrụnye Hadoop dị nro. Ọtụtụ mgbe, a ga-eji CIS Benchmark akwado edemede siri ike ma jiri ya nyochaa ma mezie anabataghị nnabata ozugbo.

Na ntinye ntakịrị nke CentOS/RHEL 7, naanị arụ ọrụ/ngwanrọ arụnyere, nke a ga-ezere ihe egwu na adịghị ike na-achọghị. N'agbanyeghị na ọ bụ Minimal Installation multiple iterations of security audit ka a ga-eme tupu wụnye Hadoop, ọbụlagodi mgbe emechara ụyọkọ ahụ, tupu ịkwaga ụyọkọ ahụ n'ime ọrụ/mmepụta.