23 Aralık 2013 Pazartesi

17 Aralık 2013 Salı

Linux Eğlenceli Konutlar

root@cnn:~# apt-get install cmatrix
root@cnn:~# yum install cmatrix

root@cnn:~# cmatrix

------------------------------------------------------------------------------------------------------

root@cnn:~# apt-get install sl
root@cnn:~# yum -y install sl

root@cnn:~# sl


12 Aralık 2013 Perşembe

Git Tag ekleme

git tag -a v0.5 -m "Version 0.5 Stable"
git push --tags

Git Tag Silme

git tag -d v0.4git push origin :refs/tags/v0.4

Git Branch Silme

git branch -d -r origin/notmaster

yada

git push origin :refs/heads/notmaster

9 Aralık 2013 Pazartesi

Linux Çevresel Değişkenler (Environment Variables)

Tamamını listelemek için:

env
yada
printenv

Tek bir değişkeni görmek için:

echo $HADOOP_HOME

10 Ekim 2013 Perşembe

Hbase - Start - NegativeArraySizeException

 FATAL org.apache.hadoop.hbase.master.HMaster: Unhandled exception. Starting shutdown.
java.lang.NegativeArraySizeException
        at org.apache.hadoop.hbase.KeyValue.readFields(KeyValue.java:1997)

1-Hadoop hdfsdeki hbase logları silindi.
    hadoop dfs -rmr /hbase/.logs/
2-Hbase Check işlemi yapıldı.
   ./bin/hbase hbck -fix


27 Eylül 2013 Cuma

5 Eylül 2013 Perşembe

Hadoop DFS Kota Ayarı

  • hadoop fs -count q /user/test                                                   -> Kullanıcının ne kadar kotası olduğu görüntülenir.

  • hadoop dfsadmin -setSapaceQuato 10737418240  /user/test -> Test kullanıcıına 10 GB hdfs kotası atar.

  • hadoop dfsadmin clrSpaceQuata path                                     -> Bir dizindeki kota kaldırılır.

7 Ağustos 2013 Çarşamba

Nutch Check Protocol

./nutch plugin protocol-http org.apache.nutch.protocol.http.Http -verbose url

6 Ağustos 2013 Salı

Nutch Check Normalizer

./nutch plugin urlnormalizer-regex org.apache.nutch.net.urlnormalizer.regex.RegexURLNormalizer http://tr.wikipedia.org/wiki/Norveç

1 Ağustos 2013 Perşembe

Scp / Birden Fazla Makinaya Dosya Kopyalama

pdsh -w userTasinan@tasinanMakina[01-14] "scp user@makina:~/hbase/conf/hbase-env.sh ~/hbase/conf"

yada

 for slave in `cat /etc/hadoop/slaves`; do rsync -avz /etc/hadoop/ $slave:/etc/hadoop/; done

31 Temmuz 2013 Çarşamba

VirtualBox Disk Alanı Arttırma

Bu işlem için öncelikle  Sanal İşletim sistemimizin vdi dosyasının bulunduğu klasöre gidiyoruz. Ve burada aşağıdaki komutu çalıştırıyoruz: Benim sanal makinamın adı Windows ve 20360 lık bir disk alanı olsun istiyorum:

vboxmanage modifyhd Windows.vdi --resize 20360

Daha sonra aşağıdaki iso dosyasını indiriyoruz.

http://sourceforge.net/projects/gparted/

Sonraki aşamada virtual box/Settings/Storage bölümünden bir CD sürücüsü olarak bu iso dosyasını tanıtıyoruz.

İşletim istemini açarken bu partitioning programı otomatik olarak açılıyor. İstediğimiz şekilde boş alanlara atama yapabiliriz.

Restart ettiğimizde disk alanımızın arttığını göreceğiz.

28 Temmuz 2013 Pazar

Hadoop Single DataNode Kapatma

TaskTracker için:
hadoop-daemon.sh --config /etc/hadoop/ stop tasktracker

DataNode için:
hadoop-daemon.sh --config /etc/hadoop/ stop datanode

26 Temmuz 2013 Cuma

Hadoop Yeni DataNode

Kurulumları yaptıktan sonra ve hadoopda slave dosyasında yeni dataodeu ekledikte sonra yeni sunucuya gidip hadoop komutlarının olduğu klasörde aşağıdaki komutlar çalıştırılır.(/usr/sbin
)


 hadoop-daemon.sh start tasktracker
 hadoop-daemon.sh start datanode

23 Temmuz 2013 Salı

Hbase Regionserver

HBase de tek bir regionserver çöktüğünde, bu regionserver 'ı ayağa kaldırmak için:

./bin/hbase-daemon.sh start regionserver

Hbase+Hive Hata

Hata:

FAILED: Error in metadata: MetaException(message:org.apache.hadoop.hbase.MasterNotRunningException: 10.10.6.100:60000
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getMaster(HConnectionManager.java:394)
at org.apache.hadoop.hbase.client.HBaseAdmin.<init>(HBaseAdmin.java:83)
at org.apache.hadoop.hive.hbase.HBaseStorageHandler.getHBaseAdmin(HBaseStorageHandler.java:74)
at org.apache.hadoop.hive.hbase.HBaseStorageHandler.preCreateTable(HBaseStorageHandler.java:158)
at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.createTable(HiveMetaStoreClient.java:396)
at org.apache.hadoop.hive.ql.metadata.Hive.createTable(Hive.java:540)
at org.apache.hadoop.hive.ql.exec.DDLTask.createTable(DDLTask.java:3479)
at org.apache.hadoop.hive.ql.exec.DDLTask.execute(DDLTask.java:225)
at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:133)
at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:57)
at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1332)
at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1123)
at org.apache.hadoop.hive.ql.Driver.run(Driver.java:931)
at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:255)
at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:212)
at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:403)
at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:671)
at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:554)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.apache.hadoop.util.RunJar.main(RunJar.java:156)
)

bu durumda $HIVE_HOME/lib altındaki Hbase ile ilgili jarları kontrol etmek gerekiyor.

eğer kullandığımız hbase versiyonuna ek olarak başka jarlar da var ise bunları silmek lazım.

19 Temmuz 2013 Cuma

Linux GUI Göçtüğünde

GUI to CLI
Ctrl+Alt+F6

CLI to GUI
Ctrl+Alt+F1

Terminalden desktop
startx

Linux network ayarları

Sanal makinayı kopyaladığınızda network ayarlarında problemler olabiliyor bunun için:

if config -a 
vim /etc/udev/rules.d/70-persistent-net.rules (Birden fazla bağlantı göreceksiniz muhtemelen fazla olanları sileceğiz!!!)
system-config-network
reboot
sudo /etc/init.d/networking restart
dhclient eth1
ifconfig -a

11 Temmuz 2013 Perşembe

Ubuntu Snapshot Uygulaması

Özellikle pdf dosyalarındaki resimleri almak için kullandığım bir uygulama. Tavsiye ederim.

KSnapshot:

http://www.kde.org/applications/graphics/ksnapshot/

2 Temmuz 2013 Salı

Hive-Hbase Mapping For Nutch webpage Table


CREATE EXTERNAL TABLE webpage_h(
key string,
baseUrl string,
status int,
prevFetchTime bigint,
fetchtime bigint,
fetchInterval int,
retriesSinceFetch int,
reprUrl string,
content string,
contentType string,
protocolStatus int,
modifiedTime bigint,
prevModifiedTime bigint,
batchId string,
title string,
text string,
parseStatus int,
signature string,
prevSignature string,
score float,
language string
) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES
("hbase.columns.mapping" = ":key,f:bas,f:st#b,f:pts#b,f:ts#b,f:fi#b,f:rsf#b,f:rpr,f:cnt,f:typ,f:prot#b,f:mod#b,f:pmod#b,f:bid,p:t,p:c,p:st#b,p:sig,p:psig,s:s#b,mtdt:language") TBLPROPERTIES ("hbase.table.name" = "webpage");

DataNode'lardaki Kalan Hbase'leri Sonlandırma

hbase ajanlarını öldürmek için:

pkill -f HRegionServer

paralel olarak tüm makinalarda:

pdsh -w makinalar[01-14] "pkill -f HRegionServer"


komutunu kullanabilirsiniz.

yada

pdsh -w makinalar[01-14] "kill -9 `jps|grep HRegionServer|cut -d"H" -f1`"

19 Haziran 2013 Çarşamba

Ntp Ayarları

system-config-date
ntpdate -u ntpServerIP
service ntpd status
chkconfig ntpd on

17 Haziran 2013 Pazartesi

Zookeeper Durum İzleme

ps aux|grep java|grep zookeeper
netstat -lnp|grep 2181                                                    (zookeeperı clientportu)

12 Haziran 2013 Çarşamba

Nutch Gora Write Size

Nutch default olarak DB ye 10000 kayıtta bir yazmakta bu değeri nutch.site.xml dosyasına aşağıdaki satırları ekleyerek değiştirebiliriz.



<property>
  <name>gora.buffer.read.limit</name>
  <value>10000</value>
  <description>The maximum number of buffered Records we wish to
  read in one batch. @see org.apache.gora.mapreduce.GoraRecordReader
  </description>
</property>

<property>
  <name>gora.buffer.write.limit</name>
  <value>100</value>
  <description>Configures (for the Hadoop record writer) the maximum number of
  buffered Records we wish to regularly flush to the Gora datastore.
  @see org.apache.gora.mapreduce.GoraRecordWriter.
  </description>
</property>

11 Haziran 2013 Salı

Nutch Mysql Hatası

MySQLNonTransientConnectionException hatası aldığınızda:

Mysql veritabanının conf dosyasında:
wait_timeout
parametresinin değerini arttırmak ve db'yi restart etmek çözüm oluyor.

30 Mayıs 2013 Perşembe

Linux Snapshot

Pdf dosyalarındaki resimleri çekebilmek için güzel bir uygulama:

sudo apt-get install ksnapshot

19 Mayıs 2013 Pazar

Git Belirli Bir Commit'i Çekme

git init
git remote add origin http://xxx@yyy/zzz.git
git pull origin
git checkout 8b43188

Ubuntu Bulunduğun Klasörde Terminal Çalıştırma

Yandaki uygulama kurulduktan sonra, sağ tuş menusunden bulunduğunuz klasörde terminal açabilirsiniz. nautilus-open-terminal 

17 Mayıs 2013 Cuma

Nutch 2.x - 2.1 batchId column

Hata:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'batchId' in

Çözüm:
DB'de aşağıdaki alter çalıştırılır:
alter table webpage add column `batchId` varchar(32) CHARACTER SET latin1 DEFAULT NULL

VBox Disk Alanı Arttırma

VBoxManage modifyhd /home/abc/VirtualBox\ VMs/centos/centos.vdi --resize 45000 

10 Mayıs 2013 Cuma

BigInsights Unzip Hatası

BigInsights_v1.3.part01.exe olan dosyasının uzantısı .rar olarak düzeltilmeli.

8 Mayıs 2013 Çarşamba

Internal Repo problemi

Internal olarak tanımlamış olduğumuz bir repodan, maven ile jar dosyalarını çekmeye çalışırken

[WARNING] Unable to get resource .......error transferring file:


bu durumda hosts dosyasına yeni reponun ipsini eklersek problem çözülüyor.

1 Mayıs 2013 Çarşamba

MySql- Java Blob to String


           Blob textBlob = resultSet.getBlob("old_text");
            byte[] bdata = textBlob.getBytes(1, (int) textBlob.length());
            text = new String(bdata);

29 Nisan 2013 Pazartesi

MySQL Tablo Kopyalama

CREATE TABLE yeniTablom LIKE veriTabani.eskiTablom; 
INSERT yeniTablom SELECT * FROM veriTabani.eskiTablom;

MYSQL Hatası



Hata:
"Incorrect string value: '\xF0\x9F\x92\x97\xE2\x9D..."
Çözüm:

ALTER TABLE db.table MODIFY COLUMN colunm_name longtext 
CHARACTER SET utf8mb4 COLLATE utf8_general_ci;

24 Nisan 2013 Çarşamba

MySQL Collations Hata

MySQL de hazırladığım basit bir prosedüreden gelen hata:

Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4 unicode_ci,IMPLICIT)

Bu hatayı aşmak için hata aldığım tabloların encodinginin aynı olmasını sağladım. Ve sonuç başarılı:

ALTER TABLE `deneme`.`my_table` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;

12 Nisan 2013 Cuma

Patch işlemi komutu


patch -p1 < ~/Downloads/NUTCH-828-1-20100608.patch

Nutch Crawl ve index tek komutla


/bin/nutch crawl urls -solr http://abc.com:8983/solr/ -dir crawl -depth 10 -topN 10

Solr başlatırken hata

"Address already in use" solr exception  "java -jar start.jar"

İlgili processi kill ediyoruz:

pkill -f start.jar 

yada

Bu portta çalışan processleri buluyoruz önce:

$ lsof -i :8983

Sonra işimize gelmeyeni öldürüyoruz.
$ kill 10289

Ubuntuda yazıcı tanımlama

Sistem>Yönetim>Servis dizininde Samba folder share ve Printer Service

ile eklenebilir.


ubuntu mysql root olarak bağlanmak

kurulumu tamamlarken tek bir şifre sormuştu

mysql -u xxxxx -p

komutunda rootla bağlanmaya çalışınca hop hata:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
 

ne yapıyoruz?
 kurtarıcımız:

 mysql -u root -p mysql 

11 Nisan 2013 Perşembe

Ubuntu 12.04 Çift Ekran Problemi

Win 7 kullanırken 2 ekran ile çalışmak problem çıkartmazken Ubuntu 12.04 de aşağıdaki hata alınabilmekte,

required virtual size does not fit available size: requested=(2304, 800), minimum=(320, 200), maximum=(1280, 1280)

gksudo gedit /etc/X11/xorg.conf
Açılan dosyada SubSection "Display" bölümünün altına aşağıdaki satırı ekliyoruz:
virtual 2304 800

Buradaki 2304 800 değeri hatada belirtilen "requested=(2304, 800)"  bölümündeki sayılara eşit olmalı.


27 Mart 2013 Çarşamba

Docky Menüsünde Bookmark Düzenleme

Buradaki bookmarklar "nautilus" dekilerden gelmekte. Bunları değiştirmek için:

Alt+F2 -> gedit ~/.gtk-bookmarks

Ubuntu 12.04 Launcher Menüsünü Uçurma

http://askubuntu.com/questions/50522/replacing-unity-bar-with-docky

Docky kurulur:
sudo add-apt-repository ppa:docky-core/stable 
sudo apt-get update 
sudo apt-get install docky

İkinci adım:
  • Masaüstünü sağ tıkla 
  • "change desktop background" seç 
  • "behaviour" tabına geç 
  • "auto hide" Off gözüküyor. Bunu açıyoruz. 
  • "top left corner" seçilir 
  • sensitivity en aza çekilir 
Ve kurulum tamamdır. Tepe tepe kullanın:)

25 Mart 2013 Pazartesi

Nutch Plugini Geliştirirken

Plugini hazırladıktan sonra bağımlılıklarını ivy.xml de düzenledikten sonra:

Üzerinde çalışılan nutch source klasörüne gidilir.
  • build.xml de iki noktadaki  "<packageset dir=" listelerinin en alt satırlarına  yeni plugin dizini eklenir. 
Örn:      <packageset dir="${plugins.dir}/benim_ilk_pluginim/src/java"/>
  • src/plugins dizini içerisindeki build.xml de aşağıdaki satırlar eklenir.
    Deploy bölümüne:  <ant dir="benim_ilk_pluginim/" target="deploy"/>
    Test bölümüne : <ant dir="benim_ilk_pluginim/" target="test"/>
    Clean bölümüne: <ant dir="benim_ilk_pluginim/" target="clean"/> 
  • Yeni bir repository kullanıyorsak bunu ivy/ivySettings.xml dosyasında eklemek gerekli.
    • <ibiblio name="yeni" 
      root="https://raw.github.com/ahmetaa/maven-repo/master"
      pattern="${maven2.pattern.ext}"
      m2compatible="true" />

      <chain name="default" dual="true">
      <resolver ref="local"/>
      <resolver ref="maven2"/>
      <resolver ref="sonatype"/>
      <resolver ref="yeniRepo"/>
       
      </chain>
      <chain name="internal">
      <resolver ref="local"/>
      </chain>
      <chain name="external">
      <resolver ref="maven2"/>
      <resolver ref="sonatype"/>
      <resolver ref="yeniRepo"/>
      </chain>
      <chain name="external-and-snapshots">
      <resolver ref="maven2"/>
      <resolver ref="apache-snapshot"/>
      <resolver ref="sonatype"/>
      <resolver ref="yeniRepo"/>
      </chain>

Karşılaşılan Problemler

  1. nutch pluginleri derlerken proje yapısını benim_ilk_pluginim/src/java şeklinde istiyor. Bu şekilde değil ise derlerken hata veriyor. Bunu aşmak için ln -s ile src dizini altında java klasörü için bir kısayol oluşturulabilir. (ln -s main/java/)
  2. Pluginin kullandığı tüm kütüphaneleri plugin.xml de belirtmek gerekiyor. Not: Kullandığı kütüphanelerin bağımlılıklarıda belirtilecek.

Java Static Metodlardan Resourcelara Erişim

Static metodlarda Resource olarak kullanacağınız dosyalara erişebilmek için aşağıdaki kod satırını kullanabiliriz:

BenimSinifim.class.getClassLoader().getResourceAsStream("deneme.txt");

Java Reflection Resource Problemi

Reflection ile kullandığınız bir sınıfın içinde kullanılan bir kütüphane içerisinden resourcelara erişirken  aşağıdaki gibi bir komut satırı kullandığınızda hata alınmakta.

 this.getClass().getResourceAsStream("deneme.txt");

alınan Hata:  "java.lang.IllegalArgumentException: resource deneme.txt not found."


Bunun yerine aşağıdaki satırlar ile kod yazıldığında, sınıfın classloaderı üzerinden işlem yapıldığından, kütüphane içerisindeki resourcelara erişim sağlanabilmekte.          

 this.getClass().getClassLoader().getResourceAsStream("deneme.txt");
               

DBPedia API ile Wikipedia Dumplarını Çekme


Öncelikle işlemi Windows üzerinde yapamıyorsunuz ne kadar kassanızda.

Ubuntu üzerinde aşağıdaki adımları çalıştırdım.
  • Kendi sayfasındaki "git clone git://github.com/dbpedia/extraction-framework.git" komutu çalışmıyor. Bunun yerine idea üzerinden "https://github.com/dbpedia/extraction-framework.git"adresini vererek githubdan kodları indirelim.(ben buraya indirdim --/home/repo/extraction)
  • daha sonra indirdiğim dizinde (/home/repo/extraction) aşağıdaki komutu çalıştırdım.
    • mvn clean install
  • Daha sonra dump dizinine geçip "download.minimal.properties" dosyasında gerekli dedğişiklikleri yapalım. 
    • "base-dir" parametresine dumpların indirileceği dizini verdim (/home/repo/dumpdir)
    • "download" parametresine sadece türkçe dumpları alması için "tr:pages-articles.xml.bz2" ayarladım.
    • Daha sonra dosyayı  "download.properties" olarak keydettim.
  • cd dump
  • ../run download config=download.properties
  • Yukarıdaki komutu çalıştırdıktan sonra dumpdir dizininin altına istediğimiz dillere ait dumpları indiriyor.
  • İndirme işlemi tamamlandıktan  "dumpdir/trwiki/20130212/" klasörünün altına  "trwiki-20130212-pages-articles.xml.bz2" adında bir dosya oluşturuyor. Eğer bu isimde oluşturmazsa yani  -pages-articles.xml.bz2 bölümünde başka birşeyler yazıyorsa bunları dosya isminden siliyoruz.
  • Daha sonra bu dosyayı extract ediyoruz.
  • Sonraki aşamada "extraction.default.properties" dosyasını açıp aşağıdaki değişiklikleri yapmamız . 
    • "base-dir" parametresine dumpların indirileceği dizini verdim (/home/repo/dumpdir)
    • languages=tr
    • extractors.tr=MappingExtractor (Diğer diller için tanımlananları uçurdum)
    • extractors=InfoboxExtractor,WikiPageExtractor(Burada sadece işime yarayacak olanları bıraktım.)
  • Bu işlemi yaptıktan sonra "extraction.properties"  olarak kaydediyoruz. 
  • ../run extraction extraction.properties 
  • Bu işlemden sonra dumpdir/trwiki/20130212 altında ilgili dosyaları oluşturdu

24 Mart 2013 Pazar

JVM Çalışma Mantığı ile İlgili Dokümanlar

http://www.seckintozlu.com/254-java-virtual-machine-nedir.html

Önemli bölümler.
"Bizim uygulamamız çalıştıkça JVM de çalışacaktır çünkü bizim uygulamamızın çalışmasını sağlayan da zaten JVM’dir. JVM’nin ne zaman sonlanacağı da bizim programımızın ne zaman biteceği ile alakalıdır. JVM’nin içerisinde deamon ve non-daemon olmak üzere iki tür thread vardır. Daemon thread JVM’nin kendi içerisinde garbage collection (çöp toplama) gibi amaçlar için kullandığı thread çeşididir. Non-daemon thread ise bizim programımızda çalışan threadlerdir. Bir JVM’nin ömrü, içerisinde çalışan bütün non-daemon threadler sonlandığında biter. Biz ek olarak thread oluşturmadıysak programımızda main bloğunu çalıştıran tek bir non-daemon thread var demektir. Yani main bloğu bittiğinde hem program sonlanır hem de JVM’nin ömrü biter. Program içerisinde birden çok non-daemon thread var ise JVM sonlanmak için bütün non-daemon threadlerin bitmesini bekler."

http://www.seckintozlu.com/52-jvm-iceride-neler-oluyor.html#comment-1337

http://www.ceturk.com/javada-sinif-yukleme-mekanizmasi/

javaclassloading

5 Mart 2013 Salı

Maven global exclude


   <dependency>
                <groupId>org.hsqldb</groupId>
                <artifactId>hsqldb</artifactId>
                <version>2.2.8</version>
                <scope>provided</scope>
            </dependency>

28 Şubat 2013 Perşembe

Linux Üzerinden Office (word, exel, powerpoint) Kullanımı

Linux üzerinden office kullanımı için play onlinux kullanabiliriz.

Adımlar:

Kurulumları yapıyoruz:
  • sudo apt-get install playonlinux
  • sudo apt-get install p7zip

Daha sonra office isomuzu mount ediyoruz:

  • mkdir office12
  • sudo mount -o loop '/media/CA0C-D210/hg/office2007.iso' /office12
Alt+F2 ile programlar menüsünü açıp playonlinux seçilir. ilk aşamada bazı kurulumları yapıyor next ile devam ediyoruz. Playonlinux içerisinde "Install" seçeneğini seçiyoruz. Açılan menüde sola taraftan "Office" seçeneğini seçiyoruz. Sağdaki listeden iso dosyamızdali office versiyonunu seçiyoruz. "Microsoft Office 2007". 



Daha sonra "Install" seçeneğini seçiyoruz. Next seçeneği ide devam ediyoru. 
Where is mount your CD-ROM? seçeneği gelen ekranda other bölümünü seçip iso dosyamızı mount ettiğimiz dizini yazıyouz. Next diyerek işlemi tamamlıyoruz ve işlem tamam. 





Masa üstünde oword-exel ksayollarını görebilirsiniz;)






26 Şubat 2013 Salı

ssh ile file download

ssh kullanıcı@10.0.0.0 cat /home/kullanıcı/out.txt > /home/makinam/gelen/out.txt

ssh ile Dosya/dizin Transferi

scp -r lokal_taşınacak_dosyalar  kullanıcı_adı@remote_ip:remote_aktarılacak_dizin

Örn:


scp -r dosyam  root@10.0.0.0:/home/dosyam




18 Şubat 2013 Pazartesi

Java URL Türkçe Karakter Problemi

Javada içerisinde Türkçe karakter bulunan yada boşluk bulunan bir aramanızı url ile göndermek istediğinizde encoding yapılmadığından doğru sonuçlar alamayabilirsiniz. Bu durumda göndereceğimiz url'i encode ederek gönderebiliriz.

URLEncoder.encode(query, "UTF-8");

Linux İki Dosyayı Merge Etme

cat dosya1 dosya2 .. dosyaN > birlestirilmisDosya

Linux Dosyadaki Aranan Kelime Sayısı

grep -c "aranan_kelime" dosyaAdi.txt

Request ile Giden Parametreleri Görme

Bu işlem için Mozilla üzerinde HttpFox plugini kullanılabilir.

FireFox'a plugini ekledikten sonra,

  • Tools-->Web Developer-->HttpFox-->Open In Own Window
  • Daha sonra işlem yapmak istediğiniz sayfaya dönüp işlem gerçekleştirilir.
  • HttpFox uygulamasına geçilir.
  • En son POST işleminin üzerine tıklanır.
  • Altta çılan pencereden "POST Data" tabına geçilir. Burada parametreleri ayrı ayrı görebilirsiniz.
  • Tek satır olarak görmek için ekranın alt bölümündeki "Raw" seçeneğini seçin. (Default "Pretty seçili")

Dosyadan Belirli Karakterleri İçeren Satırları Silme

Dosyadan Belirli Karakterleri İçeren Satırları Silme

sed /satırı silmek için aranan kelime/d infile

15 Şubat 2013 Cuma

12 Şubat 2013 Salı

Solr Maven Projesi

Bir önceki yazımızda bahsetmiş olduğum şekilde idea ile solr açılır ve derlenir.
Terminalden projenin olduğu ana dizinin içine girilir.

  • cd solr4.0
  • ant get-maven-poms
  • cd maven-build/
  • mvn compile


Daha sonra ideada maven projesi olarak projeyi kullanabiliriz.




Git Üzerinden Klasör Silme

Git Versiyon Kontrolüne atmış olduğunuz bir klasörü, lokalden silmeden, versiyon kontrolden kaldırmak istediğimiz durumlar olabiliyor.(idea dosyaları gibi) Bunun için aşağıdaki adımları izleyebiliriz.


  • git rm -r silmek_istediğim_klasorun_adı
  • git commit -m "Sildim gitti"
  • git push origin master

Solr 4.0 Intellij Idea ile Derleme


  • Öncelikle SVN den projeyi Export ediyoruz.
  • VCS-->Checkout from Version Control-->Subversion
  • https://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_4_0/
  • Yukarıdaki url'i seçip sağ tıklayıp "Export" seçeneğini seçiyoruz.
  • Nereye export edeceğini gösteriyoruz.
  • Export işlemi tamamlandıktan sonra Cancel tuşuna basıp pencereyi kapatıyoruz.
  • Terminalde export işlemini yaptığımız klasöre geliyoruz.
  • "ant idea" komutunu çalıştırıyoruz.
  • Idea üzerinden OpenProject diyerek, export ettiğimiz yerdeki proenin ana dizinini gösteriyoruz. Not: Eğer proje tam olarak açılmaz ise "ant clean-idea" konutunu ve arkasından tekrar "ant idea" komutunu çalıştırıp tekrar açmayı deneyelim.
  • Proje doğru bir şekilde açıldıktan sonra JDK ayarlarını yapmamız lazım.
  • File-->Project Structure bölümünde Project SDK ya 1.7 versiyonunu seçiyoruz.
  • Ve işlemimiz tamamdır.


6 Şubat 2013 Çarşamba

Ubuntu İngilizce Türkçe Sözlük

GoldenDict Ubuntuda online ve offline sölük olaak işinizi görüyor.
 Kurulumu yaptıktan sonra babylone dosyalarını bulup(*.BGL) sözlüğün files bölümüne yüklediğimizde babyloneda kullanıma hazır hale geliyor.  Babylon'un free sözlüklerinden indirip .exe dosyasını extract edince içerisinden ilgili *.bgl dosyası çıkıyor. Ancak ben bunu son sürümde bulamadım. Kısa bir web search ile eski versiyonlardan bulup çıkarttım.

Ek olarak seslisozluk, zargan gibi sayfalarıda buradan online sorgulayabiliyoruz. Bunun için wenseites bölümüne aşağıdaki satırları eklersek aktif hale gelirler.

  • http://tureng.com/search/%GDWORD%
  • http://www.zargan.com/sozluk.asp?Sozcuk=%GDWORD%
  • http://www.seslisozluk.net/?ssQBy=0&word=%GDWORD%
Son olarak aynen babylode da olduğuı gibi okuma anında kısayollar ile  çeviri yapmak istediğimizde menülerden Edit-->Preferences-->Hot Keys bölümündeki ayarları kullanacağımız kısayollara göre değiştiriyoruz. ilk ayar sözlük programını açmak için. İkinci ayar ise clipboardda olunan dokümanı otomatik olarak çevirmek için.



14 Ocak 2013 Pazartesi

Nutch Çalıştırırken Hata

/bin/nutc içinden bir satırı çalıştırırken aşağıdaki hatayı alıyorsanız:

bash: bin/nutch: Permission denied

aşağıdaki komut ile ilgili dosyaya hak vererek sorunu çözebiliriz.
chmod +x bin/nutch

Ubuntu Sistem Parametrelerini Arttırma

Ubuntu üzerinden Nutch ile veri çekerken hatalar almaya başladım.
Hataların sebebini araştırırken sistem parametrelerinde ki sınırlara takıldığımı farkettim.

terminalden çalıştıracağınız ulimit -a komutu ile işletim sistemi bazlı kısıtlarınızı görebiliyorsunuz.


a@a:~$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 3795
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 16384
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 3795
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
a@a:~$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 3795
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 16384
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 3795
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

Bu değerlerden herhangi birini değiştirmek istediğinizde listeden değiştirmek istediğiniz parametreyi bulup yanında belirtilen parantez içindeki değerler ile değişimi yapıyoruz. Örn: open files değerini değiştirmek için:

ulimit -n 16300

Ancak bu değişim kalıcı olmuyor. Parametrelere atadığımız yeni değerler sadece atama yaptığımız terminalde çalıştırılan programlar için geçerli olacaktır. Bu işlemi sadece belirli programlar için ayarlıyorsak bu şekilde kullanmak mantıklıolacaktır.

Yeni atanan parametre değerinin tüm sistemde ve sürekli aktif olmasını istiyorsak "limits.conf" dosyasında atamak istediğimiz değerleri belirtiyoruz.

vi /etc/security/limits.conf

dosyaya aşağıdaki satırları ekleyelim.

* soft nofile 16384
* hard nofile 16384

Dosyayı kaydedip kapattıktan sonra sistemi reboot ediyoruz. Açılışta atamış olduğumuz değerler tüm sistemde aktif hale gelmiş oluyor. Başta "* " karakterini kullandığımız için bu değerler tüm kullanıcılar için geçerli olacaktır.
İstersek bu değerleri sadece belirli kullanıcılar içinde arttırıp azaltabiliriz. Bu durumda  limits.conf dosyasına parametreleri ve değerleri yazarken, hangi kullanıcı için aktif olacağınıda belirtmek gerekiyor.

Örn:
kullanıcı_adi soft nofile 16384
kullanıcı_adi hard nofile 16384

Ubuntu SSH

SSH ile bağlanmaya çalıştığını makinadan aşağıdaki hatayı alıyorsanız

ssh: connect to host 192.168.15.101 port 22: Connection refused

Not: 192.168.15.101 uzaktan erişmeye çalıştığım makinanın IP si
Bağlanmaya çalıştığınız makinada ssh'ı kurmanız gerekir.
SSH ile bağlanmaya çalıştığınız makinaya gidip, terminalden aşağıdaki komut ile kurulumu yapabilirsiniz.

sudo apt-get install openssh-server

Daha sonra kendi makinanıza geçip:

ssh kullanici_adi@192.168.15.101
komutunuz yazıp uzak makinaya ssh bağlantısı gerçekleştirmiş olursunuz.





10 Ocak 2013 Perşembe

Nutch Crawl Aşamasında Hata


at org.apache.nutch.util.NutchJob.waitForCompletion

Bu durumda son yazdığı logları incelemek lazım. Benim Loglarda dataları atarken size uyumsuzluğu yaşamış mesela. Gidip bunu gora.properties dosyasından düzelttiğimde sorun çözüldü.

Ubuntu 12.04 Task Manager

$ gnome-system-monitor 

Ubuntu12.04-MySQL kurulum problemi



Mysqli kurdum. Ancak hiç bir tepkime yok-->(sudo apt-get install mysql-server mysql-client )
"sudo netstat -tap | grep mysql" komutunu terminalden gönderiyorum ama dönen birşey olmuyor.

Neyapsam derken kaldır kur kaldır kur oyuncak oldu ama yok yok yok...
Başladık webde aramalara ve çözüm:
  • Öncelikle mysqlin makinadan kökünü kazıyoruz:
         sudo aptitude purge mysql-server mysql-common
         sudo rm -R /etc/mysql/* 

  • Daha sonra serverı tekrar kuruyoruz:
         sudo aptitude install mysql-server

ve mutlu son sudo netstat -tap | grep mysql komutunu çalıştırdığımızda sonuç:

tcp        0      0 localhost:mysql         *:*                     LISTEN      20342/mysqld 




8 Ocak 2013 Salı

Nutch 2.1 Eclipse Debug --> "job failed: name=generate"


Nutch 2.1 Eclipse üzerinde derlemeyi başardım.

Store olarak da MYSQL de çalışacak şekilde ekteki linki takip ederek ayarlarını tamamladım.

MYSQ in çaıştığından emin olduktan sonra dedikki hadi bakalım debug edelim.

Ve heyecanlı bekleyişin ardından HOppp hata!!!

"job failed: name=generate"

Debug debug debug derken patlayan satırı bulduk ama nafile hata ortada yok.
Hemen başlıyoruz webi karıştırmaya. Birkaç denemeden sonra doğru atışı yapıyoruz.

Sorun şu ki classpathe src/plugin altındaki tüm klasörlerin altındaki java ve test klasörleri tek tek eklenmesi lazım. aksi taktirde başlıyor bağırmaya ben bunları bulamadım diye. ve şu hata geliyor:

"java.lang.ClassNotFoundException: org.apache.nutch.urlfilter.regex.RegexURLFilter"

Son durumda class pathin görünümü:

Bunlara ek olarak  "src/bin, src/java, src/test & src/testresources " bunlarıda eklemeyi unutmayın.


7 Ocak 2013 Pazartesi

org.apache.hadoop.hbase.ZooKeeperConnectionException:


org.apache.hadoop.hbase.ZooKeeperConnectionException: 
HBase is able to connect to ZooKeeper but the connection closes immediately. This could be a sign that the server has too many connections (30 is the default). Consider inspecting your ZK server logs for that error and then make sure you are reusing HBaseConfiguration as often as you can. See HTable's javadoc for more information.


1-Yukarıdaki hatanın sebebi etc/hosts dosyanızdaki makinanıza ait olan IP nin 127.0.0.1 olarak ayarlı olmamasından vede "ip6" olarka taımlı satırların açık olmasından kaynaklanıyor. Aşağıdaki şekilde dosya değiştirildiğinde artık bu hatayı almayacaksınız.... Makina adı olan bölümde sizin makinanızın ismi yer alacak.


127.0.0.1 localhost
127.0.0.1 Makina_Adı

# The following lines are desirable for IPv6 capable hosts
#::1     ip6-localhost ip6-loopback
#fe00::0 ip6-localnet
#ff00::0 ip6-mcastprefix
#ff02::1 ip6-allnodes
#ff02::2 ip6-allrouters

2-Hata halen devam ediyor ise diğer bir sebep tüm region serverlardaki hbase ayarlarının aynı olmamasından kaynaklanıyor olabilir. Çözüm için hbase kapatılır, masterdaki hbase klasörü tüm region serverlara kopyalanır. Ve hbase tekrar açılır.

Eclipse ile Nutch Derleme

Öncelikle :

http://wiki.apache.org/nutch/RunNutchInEclipse-->Buradan mümkünse gitmeyin insanı uğraştırıyor. sonuçta alamıyosunuz.

  • Nutch kodlarının son halini(src) sitesinden indirin.
  • Eclipse den yeni bir New-Java Project ile yeni proje oluşturma sayfasına gelelim.
  • Burada "Use set default location" seçeneğini kaldırıp buraya Nutch sourcelarını açtığımız klasörü gösteriyoruz.
  • Sonra starndart adımları takip edip yeni bir proje oluşturuyoruz. Oluşan projede bir süre hata var gibi gözüküyor:)
  • Şimdi projeye sağ tıklayıp "Build Path-->Configure Build Path" şeçeneğini seçiyoruz.
  • Buradan "Source Folder " tabındaki "/src/bin" ve "/src/java" ve plugin dosyaları ekli geliyor.Bunlara ek olarak eğer eksikse, Ve "Add Folder" seçerek "/src/test" ve "/src/testresources" bölümlerinide ekliyoruz.
  • conf/nutch-site.xml dosyasına yok ise aşağıdaki satırı ekliyoruz. Var ise güncelliyoruz.

    <property>
    <name>plugin.folders</name>
    <value>./src/plugin</value>
    <description>Directories where nutch plugins are located. Each
    element may be a relative or absolute path. If absolute, it is used
    as is. If relative, it is searched for on the classpath.
    </description>
    </property>

  • Libraries Tab'ından
    • Add Library > IvyDE Managed Dependencies >  seçip trunk/ivy/ivy.xml dosyasını gösteriyoruz.
  • Son olarak Libraries tab'ından "Add Class Folder" seçeneği ile "conf" klasörünü ekliyoruz. ve "Order and Export" tab'ına geçip son eklediğimiz "conf" klasörünü listeden seçip "Top" ile yukarıya taşıyoruz.

Şimdi sıra derlemede:

  • Ctrl+3 ve "Ant" yazarak Ant görünümüde eçiyoruz. Buraya projenin ana dizinindeki "build.xml" dosyasını sürükleyip bırakıyoruz ve açılan dosyaya sağ tıklayıp "Run As-->Ant Build" ile derleme işlemini başlatıyoruz.
Ve mutlu son... Nutch kullanıma hazırdır.