Ubuntu 16.04 Spark Kurulumu

Standard

 

Merhaba Arkadaşlar;

Yaptığım staj gereği, bilgisayarıma Spark kurulumu gerçeleştirdim. Kurulum için birkaç adım mevcut, genelde anlatımlarda bu kısımlar olmadığından temiz ve işe yarar bir anlatım yapmak istedim.

Öncelikle Spark Java Virtual Machine (JVM)’e ihtiyaç duyduğu için onun kurulumu ile başlıyoruz.

Repository’sini ekleyelim;

1
<span class="line">sudo apt-add-repository ppa:webupd8team/java</span>

Sistemi güncelleyip, kurulumunu yapalım;

1
2
<span class="line">sudo apt-get update
</span><span class="line">sudo apt-get install oracle-java7-installer</span>

Kurulumun doğru şekilde yapılıp yapılmadığını kontrol etmek için şu komutu verdiğinizde, altındaki çıktının benzerini almalısınız;

[email protected]:~$ java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)

Spark, yazıldığı dil Scala olduğundan, çalışabilmesi için sisteminize Scala’nın kurulu olması gerekiyor. Onun yüklemesini yapalım;

Skala’yı sitesinden indiriyoruz(ben kurarken bu sürüm vardı, siz kurulum için güncel sürümden faydalanın):

1
<span class="line">wget http://www.scala-lang.org/files/archive/scala-2.11.7.tgz</span>

İndirme tamamlandıktan sonra, dosyayı PATH altına taşıyor ve açıyoruz;

1
2
<span class="line">sudo mkdir /usr/local/src/scala
</span><span class="line">sudo tar xvf scala-2.11.7.tgz -C /usr/local/src/scala/</span>

Scala’yı konsoldan çağırabilmek için .bashrc dosyasının sonuna bu 2 satırı ekleyerek, Scala’nın yolunu gösteriyoruz;

1
2
<span class="line">export SCALA_HOME=/usr/local/src/scala/scala-2.11.7
</span><span class="line">export PATH=$SCALA_HOME/bin:$PATH</span>

Scala’nın aktif olması için konsolu tekrardan başlatıyoruz: (kapa-aç’da olur)

1
<span class="line">. .bashrc</span>

Scala’nın doğru şekilde yüklenip yüklenmediğini kontrol etmek için alttaki komut ve benzeri çıktısını görüyor olmanız gerekmekte;

1
2
3
<span class="line">[email protected]:~$ scala -version
Scala code runner version 2.11.7 -- Copyright 2002-2013, LAMP/EPFL
</span>

Şimdiyse Spark’ın kurulumuna geçmeden önce, Github’dan veri çekebilmek için (şart değil, isterseniz sayfasına gidip indirme yaparak bu basamağı pas geçebilir, isterseniz “Github’dan nasıl yazılım indiriliyor?” u bilmiyorsanız buradan öğrenebilirsiniz) git’i kuruyoruz;

1
<span class="line">sudo apt-get install git</span>

Şimdi Spark’ın son sürümünü (şu an için, ileride bu link üzerinden sonraki son sürümünü indiriniz), indiriyoruz;

wget http://www.apache.org/dyn/closer.lua/spark/spark-1.6.1/spark-1.6.1-bin-hadoop2.6.tgz

Şimdi Spark için ana dizinimizde bir dosya oluşturup, onun içerisine aktarıyoruz;

mkdir ~/apache-spark
 cd ~/apache-spark

mv ~/Downloads/spark-1.6.1-bin-hadoop2.6.tgz ~/apache-spark

Şimdi de dosyamızı açıp, çalıştırmayı deniyoruz;

1
 
tar -xzvf 
1
2
3
4
spark-1.6.1-bin-hadoop2.6.tgz
cd spark-1.6.1-bin-hadoop2.6

./bin/spark-shell

Çalıştıysa karşısınıza böyle bir konsol düşer;

scala>

Birkaç örnek ile çalıştığını test edebilirsiniz;

1
2
3
<span class="line"><span class="n">scala</span><span class="o">&gt;</span> <span class="k">val</span> <span class="n">textFile</span> <span class="k">=</span> <span class="n">sc</span><span class="o">.</span><span class="n">textFile</span><span class="o">(</span><span class="s">"README.md"</span><span class="o">)</span>
</span><span class="line"><span class="n">scala</span><span class="o">&gt;</span> <span class="n">textFile</span><span class="o">.</span><span class="n">count</span><span class="o">()
<code>scala&gt; textFile.first()

Az-çok gelecek çıktıları tahmin ediyorsunuzdur 🙂

Kurulum tamamlanmıştır, bir sonraki yazımda görüşmek üzere…

banner

 

 

Linux’da IDM kurulumu

Standard


Merhaba;

IDM günümüzde gayet aktif olarak kullanılan bir indirme yöneticisi.
Linux kullanan kişiler için de elbette wine’ın nimetleri ile bu programı kullanmak mümkün.

Öncelikle repository’leri eklemekle başlayalım;

1
sudo add-apt-repository ppa:ubuntu-wine/ppa

Ardından sistemi güncelleyip winetricks’in kurulumunu gerçekleştirelim;

1
sudo apt-get update &amp;&amp; sudo apt-get install wine1.7 winetricks

Şimdi IDM’yi indirelim(buradan indirebilirsiniz)

İndirme tamamlandıktan sonra dosyayı rardan çıkartıp çift tıklayıp, kurulumunu yapalım. Bu sırada “wine gecko” kurulumunu sistem otomatik olarak yapacaktır, kurulumları onaylayın.

Şimdi IDM’yi mozillaya bağlamak için gerekli olan Flashgot eklentisine geçelim. Önce buradan mozillaya eklentiyi ekleyelim;

https://addons.mozilla.org/en-US/firefox/addon/flashgot/

Ekle dedikten sonra arama çubuğuna “about:config” yazarak Mozilla’nın ayarlarına girelim.
Burada Flashgot’un wine’a ulaşmasına izin verelim;

Şimdi Mozilla->Eklentiler->flashgot->tercihler kısmına girip, şu ayarlar ile indirme yöneticisini IDM olarak seçelim;

Ve işlem tamamlandı. İyi indirmelerde kullanın 🙂

Ubuntu-server’a LAMP kurulumu

Standard

Merhabalar;

Şu an bir web sunucusu kurmaktayım. Linux bir sunucuda elbette olması gereken LAMP yani Apache server, Mysql ve Phpmyadmin kurulumunu yaptım, aslında türkçe yeterince döküman olmasına rağmen, genelinde eksik kısımlar olduğundan temiz bir anlatım yazmaya karar verdim. Hadi başlayalım;

Öncelikle sistemimizi güncelleyerek başlayalım;

sudo apt-get update && sudo apt-get upgrade

Güncellemeler bittikten sonra, apache server’ımızı kurarak işleme başlıyoruz;

sudo apt-get install apache2

Apache sunucumuzun internete açılmasını sağlayan servis kısmıdır. Apache kurulumu tamamlandıktan sonra IP adresinizi tarayıcınıza yazdığınızda “It Works!” diye başlayan uzun bir sayfa karşınıza çıkmalı.

Eğer çıkmazsa servisi restart ederek tekrar deneyin. Restart’lamak için;

sudo service apache2 restart

yazarak restartlayabilirsiniz, “restart” yazan kısma “start” yazarak başlatma ve “stop” yaparak apache’yi durdurabilirsiniz.

İlk kısmı tamamladığımıza göre MYSQL kurulumuna geçebiliriz.
Mysql kurulumu için konsola;

apt-get install mysql-server php5-mysql

yazarak mysql ve php’nin mysql modulunu yüklüyoruz. Modülün yüklenmesi tamamlandıktan sonra, mysql’i konfügre etmemiz gerekmekte.

Önce konsola;

mysql_install_db

yazarak mysql dizinimizi oluşturuyoruz. Ardından;

mysql_secure_installation

yaparak mysql parolasını belirliyoruz, yalnız bu parolayı bir kenara not alın, çünkü MYSQL’e bağlanmak için bu parolayı kullanmanız gerekecek. Şimdiye kadar Apache ve Mysql kurulumunu tamamladık. Şimdi gelelim Php kısmına;

sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt

Bu işlemleri de tamamlamamızın ardından PHP’nin genel modullerini tamamlamış oluyoruz.
Test etmek için;

sudo nano /var/www/html/info.php

içerisine “<? phpinfo(); ?>” yazıp kaydediyoruz. Böylece bize Sunucu üzerindeki php sayfası gelmeli. Eğer sayfayı gördüyseniz problem yok demektir. Sayfa şöyle gözükmeli;

Son olarak phpmyadmin kurulumumuza geçiyoruz;

1
apt-get install phpmyadmin

kurulum sırasında şöyle bir ekran gelecek;

Burada apache2 yi seçerek işimizi garanti altına alabiliriz.

Arından phpmyadmin’i yerine taşıyoruz;

sudo ln -s /usr/share/phpmyadmin /var/www/

phpmyadmin tamamlandıktan sonra, “http://localhost/phpmyadmin” yazdığınızda phpmyadmin’e girebilmelisiniz. Eğer hata alıyorsanız,

1
sudo nano /etc/apache2/apache2.conf

yazarak apache’nin konfügrasyon kısmının sonuna, şu satırı ekleyip kaydedin;

1
Include /etc/phpmyadmin/apache.conf

Son olarak apache servisini tekrar başlatın;

sudo service apache2 restart

Ve ta ta ta tam! LAMP kurulumu tamamlanmıştır, iyi günlerde kullanınız 🙂

 

 

PHP ile dosya yükleme

Standard

Merhaba;

Şu an geliştirmekte olduğum bir proje sırasında, siteye resim yüklemem gerekti, bende bunun üzerine bulduğum dökümanların bir sentezini oluşturmaya karar verdim.

PHP ile nasıl dosya yükleme yapabiliriz? Elbette dökümanların sınırı olmadığından ben burada temel olarak ihtiyacımız olan kısmını anlatabilirim.

Öncelikle işin arayüz kısmıyla başlayalım, bunun için 2 yolumuz var, 1.si;

<!-- Veri kodlama türü, enctype, aşağıdaki gibi belirtilmek ZORUNDADIR -->
<form enctype="multipart/form-data" action="__URL__" method="POST">
    <!-- MAX_FILE_SIZE dosya giriş alanından önce bulunmak zorundadır -->
    <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
    <!-- input elemanının adı $_FILES dizisinin içindeki ismi belirler -->
    Bu dosyayı gönder: <input name="kullanici_dosyasi" type="file" />
    <input type="submit" value="Dosyayı Gönder" />
</form>

Bu şekilde dosyanın giriş türünü ve action kısmında alınan dosyanın nereye gönderileceğini “__URL__” yazan kısımda belirterek post metoduyla gönderebiliyoruz. MAX_FİLE_SİZE kısmında bayt cinsinden dosyayı sınırlayabiliyoruz. type kısmında ise, uzantı belirterek sınırlama yapabiliyoruz, mesela jpeg-png-gif formatlarına izin verilecekse bir array oluşturarak oraya bu array birimini girerek çoklu izin verebiliyoruz:

data_types[]={'image/png','image/jpeg','image/gif'};

Şeklinde ön bir ekleme yapıldığı takdirde, bu “data_types” değişkenini “type=’data_types’ ” şeklinde belirtmek yeterli olacaktır.

Bir diğer yol çoklu dosya gönderim olayıdır, onu da bu şekilde yapabiliyoruz;

<form action="" method="post" enctype="multipart/form-data" action="gidecegi_url">
<p>Resimler:
<input type="file" name="resimler[]" />
<input type="file" name="resimler[]" />
<input type="file" name="resimler[]" />
<input type="submit" value="Gönder" />
</p>
</form>

Yine seçim yaptıktan sonra gidecegi_URL yazan kısma ilgili sayfamıza yönlendirmeyi yaparak gönderebiliyoruz. Arkaplandaysa;

<?php
foreach ($_FILES["resimler"]["error"] as $anahtar => $hata) {
    if ($hata == UPLOAD_ERR_OK) {
        $tmp_name = $_FILES["resimler"]["tmp_name"][$anahtar];
        $name = $_FILES["resimler"]["name"][$anahtar];
        move_uploaded_file($tmp_name, "data/$name");
    }
}
?>

Şeklinde yazarak dosyayı yükleyebiliyoruz, yine $_[FILES]’tan sonra [type] parametresi girerek tip kısıtlama, [SIZE] ile boyut kısıtlama yapabiliriz.

Kabaca resim yükleme işlemini bu şekilde yapabiliriz.
Daha detaylı kaynaklar için;
http://php.net/manual/tr/reserved.variables.files.php
http://php.net/manual/tr/features.file-upload.post-method.php
http://www.yilmazarslanturk.com/makaleGoster/php-resim-dosyasi-yukleme-veritabanina-ekleme-cekme.html

bu kaynaklar ile tüm parametrelere göz gezdirebilirsiniz.
Bir dahaki yazımda görüşmek üzere 🙂