Anasayfa / Büyük Veri / Hadoop Cluster Kurulumu / BG7: Baz Şablon Sunucu Konfigürasyonu

BG7: Baz Şablon Sunucu Konfigürasyonu

Baz şablon sunucumuza (basecentos7min) gerekli yazılımları yükledik. Şimde bazı ayarları yapılandıracağız.

1. Ağ ayarlarının kontrolü

İşletim sistemi kurulumu esnasında ağ ayarlarını yapmıştık. Ağ ayarları deyince gözümüz korkmasın basit bir kaç değerden ibaret. ip, gateway, dns server, subnetmask ve hostname.

2. Hosts dosyasını düzenleme

Her bilgisayar aslında kendi içinde küçük bir dosyada isim çözümlemesi tutar. Linux makinelerde bu dosya /etc/hosts dizinindedir. Biz önceki yazımızda cluter ip planlamasını yapmış ve sunucularımıza node1, node2…,node6 şeklinde isimler öngörmüştük. Şuan üzerinde çalıştığımız sunucu kopyalanacak olan baz sunucu olduğuna göre hosts dosyasına şimdiden tüm cluster ip ve hostname’lerini yazalım sonradan tek tek uğraşmayalım. Bunun için az önce yüklediğimiz nano editörü kullanacağım. Gıcık vi’den kurtuldum 🙂

[root@basecentos7min ~]# nano /etc/hosts

aşağıdaki listeyi nano editöre giriyotuz. Girdikten sonra cat komutuyla kontrol ediyoruz.

[root@basecentos7min ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.150.50 basecentos7min.datalonga.com basecentos7min
192.168.150.51 node1.datalonga.com          node1
192.168.150.52 node2.datalonga.com          node2
192.168.150.53 node3.datalonga.com          node3
192.168.150.54 node4.datalonga.com          node4
192.168.150.55 node5.datalonga.com          node5
192.168.150.56 node6.datalonga.com          node6

3. Network Yapılandırma Dosyası

Network yapılandırma dosyasını nano metin editör ile açarak aşağıdaki değişiklikleri yapıyoruz.

[root@basecentos7min ~]# nano /etc/sysconfig/network
[root@basecentos7min ~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=basecentos7min.datalonga.com
GATEWAY=192.168.150.2

Son hali yukarıda görüldüğü gibi olacak. HOSTNAME için domain adını kullanmayı unutmayın.

4. Ağ bağdaştırıcısı (Ethernet Kartı) Ayarlarının kontrolü

İşletim sistemi kurarken ağ kartıyle ilgili bazı ayarlamalar yapmıştık. Burada onu tekrar kontrol edelim. Gerekirse düzeltmeler yapalım.

[root@basecentos7min ~]# nano /etc/sysconfig/network-scripts/ifcfg-ens33
[root@basecentos7min ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="no"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="c191f958-fa39-4d1c-a5be-2cf303bb6d0a"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.150.50"
PREFIX="24"
GATEWAY="192.168.150.2"
DNS1="192.168.150.2"
DNS2="8.8.8.8"

Network servisini yeniden başlatalım.

[root@basecentos7min ~]# systemctl restart network

İnternete hala çıkabiliyor muyuz? Google’a ping atarak “Google. Orada mısın?” diyelim.

[root@basecentos7min ~]# ping www.google.com
PING www.google.com (216.58.206.196) 56(84) bytes of data.
64 bytes from sof02s28-in-f4.1e100.net (216.58.206.196): icmp_seq=1 ttl=128 time=115 ms
64 bytes from sof02s28-in-f4.1e100.net (216.58.206.196): icmp_seq=2 ttl=128 time=25.8 ms
64 bytes from sof02s28-in-f4.1e100.net (216.58.206.196): icmp_seq=3 ttl=128 time=389 ms
64 bytes from sof02s28-in-f4.1e100.net (216.58.206.196): icmp_seq=4 ttl=128 time=25.9 ms

evet çıkıyoruz sorun yok.

5. SELinux’u kapatma

SELinux (Securrity-Enhanced Linux), erişim kontrol denetimi sağlıyor. Biz cluster’ımızı Ambari ile kurmayı planladık. Kurulum esnasında Ambari’nin yarattığı servis hesapları ile ilgili erişim sorunları çıkmaması ve kurulumun aksamaması için SELinux’u ben kalıcı olarak kapatacağım. Ancak canlı ortamda bunu yapmamak gerekir. SELinux’u kalıcı olarak kapatmak için /etc/selinux/config dosyası içindeki SELINUX özelliğini disabled yapacağız.

[root@basecentos7min ~]# nano /etc/selinux/config
[root@basecentos7min ~]# cat /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

Önce nano editörü ile doyanın içine girip değeri değiştirdim sonra da cat ile kontrol ettim, SELINUX=disabled olmuş.

6. Firewalld/ip tables’ı kapatma

Yine kurulum esnasında Ambari bazı portları kullanmak isteyecektir. Linux fireawall/iptables’dan bunları tek tek kapatmak yerine ben tamamen kapatıyorum.

[root@basecentos7min ~]# systemctl stop firewalld
[root@basecentos7min ~]# systemctl disable firewalld
[root@basecentos7min ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)

7. Lokal Dili İngilizce Yapma

Her ne kadar işletim sistemi kurulumu esnasında dili Türkçe ayarlamış olsak da hata ve ikazları daha iyi anlamk ve aynı hata ve ikazlarla ilgili çözümlere internette daha kolay ulaşmak için dili tekrar İngilizce yapıyoruz.

[root@basecentos7min ~]# localectl set-locale LANG=en_US.UTF-8
[root@basecentos7min ~]# localectl
   System Locale: LANG=en_US.UTF-8
       VC Keymap: us
      X11 Layout: n/a

8. ipv6 Kapatma

Aşağıdaki komutları giriyoruz.

[root@basecentos7min ~]# sysctl -w net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.all.disable_ipv6 = 1
[root@basecentos7min ~]# sysctl -w net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6 = 1
[root@basecentos7min ~]# cat /proc/sys/net/ipv6/conf/all/disable_ipv6
1

Ayarın kalıcı olması için /etc/sysctl.conf içine girip aşağıdaki satırları dosyanın son satırına ekliyoruz.

[root@basecentos7min ~]# nano /etc/sysctl.conf 
net.ipv6.conf.all.disable_ipv6=1 
net.ipv6.conf.default.disable_ipv6 = 1

Kontrol yapalım:

[root@basecentos7min ~]# cat /proc/sys/net/ipv6/conf/all/disable_ipv6
1

Sonuçta 1 görmeliyiz. Bu ipv6’nın kapandığı anlamına gelir.

9. Transparent Huge Pages (THP) Compaction’ı Kapatma

Cloudera ve Hortonworks uzmanlarına göre THP sıkılaştırması Hadoop performansını kötüleştiriyor. Bu sebeple birleştirmeyi (dfragmentation) kapatmak gerekiyor. Önce THP ne durumda görelim:

[root@basecentos7min ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never
[root@basecentos7min ~]# cat /sys/kernel/mm/transparent_hugepage/defrag
[always] madvise never

Açık. Temelli kapatmak için aşağıdaki işlemleri yapıyoruz.

[root@basecentos7min ~]# nano /etc/systemd/system/disable-thp.service
[root@basecentos7min ~]# cat /etc/systemd/system/disable-thp.service
[Unit]
Description=Disable Transparent Huge Pages (THP)

[Service]
Type=simple
ExecStart=/bin/sh -c "echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled && echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag"

[Install]
WantedBy=multi-user.target

Systemd deamon u çalıştırıyoruz ve oluşturduğumuz scriptleri (disable-thp.service ve disable-thp.service) çalıştırıyoruz.

[root@basecentos7min ~]# systemctl daemon-reload
[root@basecentos7min ~]# systemctl start disable-thp
[root@basecentos7min ~]# systemctl enable disable-thp
Created symlink from /etc/systemd/system/multi-user.target.wants/disable-thp.service to /etc/systemd/system/disable-thp.service.

Tekrar kontrol edelim kapanmışlar mı?

[root@basecentos7min ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]
[root@basecentos7min ~]# cat /sys/kernel/mm/transparent_hugepage/defrag
always madvise [never]

Evet gördüğümüz gibi ikisi de never oldu.


Hakkında Erkan ŞİRİN

2014'ten beri hem akademik alanda hem de sektörde pratik anlamda büyük veri ve veri bilimi ile ilgili çalışmalar yürütmektedir. Halihazırda İmpektra Bilişim A.Ş.'de büyük veri yöneticisi olarak çalışmakta olup aynı zamanda Gazi Üniversitesi Yönetim Bilişim Sistemleri doktora öğrencisidir. Büyük veri ve veri bilimi ile ilgili birçok kurum ve şirkete eğitimler vermekte ve projeler icra etmektedir. Çalışma alanları: büyük veri platformlarının kurulum ve yönetimi, büyük veri üzerinde makine öğrenmesi, olağan dışılık tespiti, sahtecilik tespiti, veri hazırlama sürecidir.

GÖZ ATMAK İSTEYEBİLİRSİNİZ

BG2: Cluster Ağ ve IP Planlaması

1. VMware Sanal Ağ Ayarları Editörü (Virtual Network Editor) Hadoop Big Data Cluster için basit …

Anasayfa / Büyük Veri / Hadoop Cluster Kurulumu / Kişisel Bilgisayara Gerçek Bir Hadoop Big Data Clusterı Kurmak-7: Baz Şablon Sunucu Konfigürasyonu

Kişisel Bilgisayara Gerçek Bir Hadoop Big Data Clusterı Kurmak-7: Baz Şablon Sunucu Konfigürasyonu

Baz şablon sunucumuza (basecentos7min) gerekli yazılımları yükledik. Şimde bazı ayarları yapılandıracağız.

1. Ağ ayarlarının kontrolü

İşletim sistemi kurulumu esnasında ağ ayarlarını yapmıştık. Ağ ayarları deyince gözümüz korkmasın basit bir kaç değerden ibaret. ip, gateway, dns server, subnetmask ve hostname.

2. Hosts dosyasını düzenleme

Her bilgisayar aslında kendi içinde küçük bir dosyada isim çözümlemesi tutar. Linux makinelerde bu dosya /etc/hosts dizinindedir. Biz önceki yazımızda cluter ip planlamasını yapmış ve sunucularımıza node1, node2…,node6 şeklinde isimler öngörmüştük. Şuan üzerinde çalıştığımız sunucu kopyalanacak olan baz sunucu olduğuna göre hosts dosyasına şimdiden tüm cluster ip ve hostname’lerini yazalım sonradan tek tek uğraşmayalım. Bunun için az önce yüklediğimiz nano editörü kullanacağım. Gıcık vi’den kurtuldum 🙂

[root@basecentos7min ~]# nano /etc/hosts

aşağıdaki listeyi nano editöre giriyotuz. Girdikten sonra cat komutuyla kontrol ediyoruz.

[root@basecentos7min ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.150.50 basecentos7min.datalonga.com basecentos7min
192.168.150.51 node1.datalonga.com          node1
192.168.150.52 node2.datalonga.com          node2
192.168.150.53 node3.datalonga.com          node3
192.168.150.54 node4.datalonga.com          node4
192.168.150.55 node5.datalonga.com          node5
192.168.150.56 node6.datalonga.com          node6
3. Network Yapılandırma Dosyası

Network yapılandırma dosyasını nano metin editör ile açarak aşağıdaki değişiklikleri yapıyoruz.

[root@basecentos7min ~]# nano /etc/sysconfig/network
[root@basecentos7min ~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=basecentos7min.datalonga.com
GATEWAY=192.168.150.2

Son hali yukarıda görüldüğü gibi olacak. HOSTNAME için domain adını kullanmayı unutmayın.

4. Ağ bağdaştırıcısı (Ethernet Kartı) Ayarlarının kontrolü

İşletim sistemi kurarken ağ kartıyle ilgili bazı ayarlamalar yapmıştık. Burada onu tekrar kontrol edelim. Gerekirse düzeltmeler yapalım.

[root@basecentos7min ~]# nano /etc/sysconfig/network-scripts/ifcfg-ens33
[root@basecentos7min ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="no"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="c191f958-fa39-4d1c-a5be-2cf303bb6d0a"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.150.50"
PREFIX="24"
GATEWAY="192.168.150.2"
DNS1="192.168.150.2"
DNS2="8.8.8.8"

Network servisini yeniden başlatalım.

[root@basecentos7min ~]# systemctl restart network

İnternete hala çıkabiliyor muyuz? Google’a ping atarak “Google. Orada mısın?” diyelim.

[root@basecentos7min ~]# ping www.google.com
PING www.google.com (216.58.206.196) 56(84) bytes of data.
64 bytes from sof02s28-in-f4.1e100.net (216.58.206.196): icmp_seq=1 ttl=128 time=115 ms
64 bytes from sof02s28-in-f4.1e100.net (216.58.206.196): icmp_seq=2 ttl=128 time=25.8 ms
64 bytes from sof02s28-in-f4.1e100.net (216.58.206.196): icmp_seq=3 ttl=128 time=389 ms
64 bytes from sof02s28-in-f4.1e100.net (216.58.206.196): icmp_seq=4 ttl=128 time=25.9 ms

evet çıkıyoruz sorun yok.

5. SELinux’u kapatma

SELinux (Securrity-Enhanced Linux), erişim kontrol denetimi sağlıyor. Biz cluster’ımızı Ambari ile kurmayı planladık. Kurulum esnasında Ambari’nin yarattığı servis hesapları ile ilgili erişim sorunları çıkmaması ve kurulumun aksamaması için SELinux’u ben kalıcı olarak kapatacağım. Ancak canlı ortamda bunu yapmamak gerekir. SELinux’u kalıcı olarak kapatmak için /etc/selinux/config dosyası içindeki SELINUX özelliğini disabled yapacağız.

[root@basecentos7min ~]# nano /etc/selinux/config
[root@basecentos7min ~]# cat /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

Önce nano editörü ile doyanın içine girip değeri değiştirdim sonra da cat ile kontrol ettim, SELINUX=disabled olmuş.

6. Firewalld/ip tables’ı kapatma

Yine kurulum esnasında Ambari bazı portları kullanmak isteyecektir. Linux fireawall/iptables’dan bunları tek tek kapatmak yerine ben tamamen kapatıyorum.

[root@basecentos7min ~]# systemctl stop firewalld
[root@basecentos7min ~]# systemctl disable firewalld
[root@basecentos7min ~]# init 6
açıldıktan sonra kontrol
[root@basecentos7min ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)
7. Lokal Dili İngilizce Yapma

Her ne kadar işletim sistemi kurulumu esnasında dili Türkçe ayarlamış olsak da hata ve ikazları daha iyi anlamk ve aynı hata ve ikazlarla ilgili çözümlere internette daha kolay ulaşmak için dili tekrar İngilizce yapıyoruz.

[root@basecentos7min ~]# localectl set-locale LANG=en_US.UTF-8
[root@basecentos7min ~]# localectl
   System Locale: LANG=en_US.UTF-8
       VC Keymap: us
      X11 Layout: n/a
8. ipv6 Kapatma

Aşağıdaki komutları giriyoruz.

[root@basecentos7min ~]# sysctl -w net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.all.disable_ipv6 = 1
[root@basecentos7min ~]# sysctl -w net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6 = 1
[root@basecentos7min ~]# cat /proc/sys/net/ipv6/conf/all/disable_ipv6
1

Ayarın kalıcı olması için /etc/sysctl.conf içine girip aşağıdaki satırları dosyanın son satırına ekliyoruz.

[root@basecentos7min ~]# nano /etc/sysctl.conf 
net.ipv6.conf.all.disable_ipv6=1 
net.ipv6.conf.default.disable_ipv6 = 1

Tekrar başladıktan sonra kontrol yapalım:

[root@basecentos7min ~]# cat /proc/sys/net/ipv6/conf/all/disable_ipv6
1

Sonuçta 1 görmeliyiz. Bu ipv6’nın kapandığı anlamına gelir.

9. Transparent Huge Pages (THP) Compaction’ı Kapatma

Cloudera ve Hortonworks uzmanlarına göre THP sıkılaştırması Hadoop performansını kötüleştiriyor. Bu sebeple birleştirmeyi (dfragmentation) kapatmak gerekiyor. Önce THP ne durumda görelim:

[root@basecentos7min ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never
[root@basecentos7min ~]# cat /sys/kernel/mm/transparent_hugepage/defrag
[always] madvise never

Açık. Temelli kapatmak için aşağıdaki işlemleri yapıyoruz.

[root@basecentos7min ~]# nano /etc/systemd/system/disable-thp.service
[root@basecentos7min ~]# cat /etc/systemd/system/disable-thp.service
[Unit]
Description=Disable Transparent Huge Pages (THP)

[Service]
Type=simple
ExecStart=/bin/sh -c "echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled && echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag"

[Install]
WantedBy=multi-user.target

Systemd deamon u çalıştırıyoruz ve oluşturduğumuz scriptleri (disable-thp.service ve disable-thp.service) çalıştırıyoruz.

[root@basecentos7min ~]# systemctl daemon-reload
[root@basecentos7min ~]# systemctl start disable-thp
[root@basecentos7min ~]# systemctl enable disable-thp
Created symlink from /etc/systemd/system/multi-user.target.wants/disable-thp.service to /etc/systemd/system/disable-thp.service.

Sunucuyu tekrar başlattıktan sonra tekrar kontrol edelim kapanmışlar mı?

[root@basecentos7min ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]
[root@basecentos7min ~]# cat /sys/kernel/mm/transparent_hugepage/defrag
always madvise [never]

Evet gördüğümüz gibi ikisi de never oldu.

Hakkında Erkan ŞİRİN

2014'ten beri hem akademik alanda hem de sektörde pratik anlamda büyük veri ve veri bilimi ile ilgili çalışmalar yürütmektedir. Halihazırda İmpektra Bilişim A.Ş.'de büyük veri yöneticisi olarak çalışmakta olup aynı zamanda Gazi Üniversitesi Yönetim Bilişim Sistemleri doktora öğrencisidir. Büyük veri ve veri bilimi ile ilgili birçok kurum ve şirkete eğitimler vermekte ve projeler icra etmektedir. Çalışma alanları: büyük veri platformlarının kurulum ve yönetimi, büyük veri üzerinde makine öğrenmesi, olağan dışılık tespiti, sahtecilik tespiti, veri hazırlama sürecidir.

GÖZ ATMAK İSTEYEBİLİRSİNİZ

IntelliJ IDEA ile Apache Spark Projesini Uzak YARN Cluster Üzerinde Çalıştırmak-2/2

Merhaba. Yazı serimizin ikincisine devam ediyoruz. Bir önceki ilk yazımızda konuya giriş yapmıştık. Hatırlayalım, amacımız …

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir