kitap onerisi: apache spark quick start guide
sirkette bazi uzaylilar var. bu uzaylilari taniyalim.
spark, spark sql, hadoop, hive, pig, yarn, …
her biri yillar boyu benim icin uzayli arkadaslardi. bir yandan da yillardir kenarindan kosesinden bulasip, az bir seviyede de olsa bilgi sahibi olmak istiyordum.
is yerinde hem sorumluluk alabilmek, hem akisi daha iyi anlayabilmek hem de yer yer mudahale edebilmek icin bu uzayli arkadaslarla tanismaya karar verdim. bunun icin de amacima hizmet edebilecek bir kitap arayisina koyuldum ki su kitabi buldum:
kitap hadoop 2.x uzerinde calismak uzere spark 2.x icin ornekler iceriyor. hadoop’a soylece bir deginip, spark ve alt basliklarina tanistirma surecinde guzelce yardimci olacak kadar yer vermis. benim gibi uzun vadeli bir dusunceniz yoksa ve bu arkadaslarla karsilastiginizda eliniz ayaginiz birbirine girsin istemiyorsaniz, guzel kitap.
packtpub’a uye olup bu kitaba ve yuzlercesine erisebiliyorsunuz. packtpub aylik $10, mis gibi fiyat. istediginiz zaman “pause” edebiliyorsunuz, en azindan oyle bir buton gordum. ayrica bu kitabin pesine okumalik bir kac hadoop ve spark kitabi eklemedim degil, yani kitap bol.
yazar kitapta okuyucuyu yer yer dusundurmek istemis:
ve yine yer yer okuyucunun calismasini da istemis ki kitapta duzgun bir hadoop & spark kurulum yonergesi yok. hevesiniz kirilmasin diyerek onu da ben yazayim dedim. detaya hic dokunmadan, jvm’in (jvm-8) kurulu oldugunu kabul ederek kuruluma baslayalim.
hadoop 2.x
bu sayfadan hadoop 2.x binary’i indiriyoruz. dosyayi extract edip /opt/hadoop
altina tasiyin.
local’de ssh server kurup, kendi id_rsa.pub’inizi authorized key yapin. size birakiyorum bu adimi (:
extract edince etc/hadoop/hadoop-env.sh
dosyasini bulacaksiniz, bu dosya icinde hizlica JAVA_HOME
set ediyoruz:
export JAVA_HOME=/usr/java/latest
etc/hadoop/core-site.xml
dosyasi:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
etc/hadoop/hdfs-site.xml
dosyasi:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///opt/hadoop/hdfs/datanode</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///opt/hadoop/hdfs/namenode</value>
</property>
</configuration>
ilgili dizinleri olusturun: /opt/hadoop/hdfs/datanode
ve /opt/hadoop/hdfs/namenode
. bu dizinlerde hdfs’e eklediginiz dosyalari goreceksiniz, merak ediyorsaniz kurcalayabilirsiniz, simdilik pek gerek yok.
etc/hadoop/mapred-site.xml
dosyasi:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
etc/hadoop/yarn-site.xml
dosyasi:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
son adimlar:
- hdfs’imizi formatliyoruz:
hdfs namenode -format -force
- dfs servisini baslatiyoruz:
/opt/hadoop/sbin/start-dfs.sh
- yarn’i baslatiyoruz:
/opt/hadoop/sbin/start-yarn.sh
artik hadoop kismi tamam. hdfs’i kurcalamaniz icin sunlara bakmanizda fayda var:
export PATH=/opt/hadoop/bin:$PATH
hdfs dfs -ls /
hdfs dfs -mkdir /hello
hdfs dfs -put localfile.txt /hello/localfile.txt
# ...
bir de UI burada: http://localhost:8088
spark 2.x
bu sayfadan spark 2.x’in hadoop 2.7 icin derlenmis versiyonunu indiriyoruz. tar dosyasini indirdik /opt/spark
altina aldik. cok basit bir isimiz var: .bashrc
dosyasina path eklemek:
export PATH=/opt/spark/bin:$PATH
spark-shell
komutuyla spark’i kurcalamaya hazirsiniz. ayrica hdfs://localhost:9000/deneme/localfile.txt
uri’sini kullanarak dosya uzerinde calisabilirsiniz.
gerisi kitapta. okumak guzel.