HBase Nasıl Kurulur Ubuntu (HBase Kurulumu)
Apache HBase Kurulum Modları
Apache HBase üç modda kurulabilir. Bu modların özellikleri aşağıda belirtilmiştir.
1) Bağımsız mod kurulumu (Hadoop sistemine bağımlılık yok)
- Bu HBase'in varsayılan modudur
- Yerel dosya sistemine karşı çalışır
- Kullanılmıyor Hadoop'un HDFS
- Yalnızca HMaster arka plan programı çalışabilir
- Üretim ortamı için önerilmez
- Tek JVM'de çalışır
2) Sözde Dağıtılmış mod kurulumu (Tek düğümlü Hadoop sistemi + HBase kurulumu)
- O çalışır Hadoop HDFS
- Tüm Daemon'lar tek düğümde çalışır
- Üretim ortamı için önerilir
3) Tamamen Dağıtılmış mod kurulumu (MultinodeHadoop ortamı + HBase kurulumu)
- O çalışır Hadoop HDFS
- Tüm arka plan programları kümedeki mevcut tüm düğümlerde çalışacak
- Üretim ortamı için şiddetle tavsiye edilir
Hadoop kurulumu için bu URL'ye bakın İşte
HBase tar dosyasının kararlı sürümü nasıl indirilir
) 1 Adım Bağlantıya git okuyun HBase'i indirmek için. Aşağıda gösterildiği gibi bir web sayfası açılacaktır.
) 2 Adım Aşağıda gösterildiği gibi kararlı sürümü seçin 1.1.2 sürümü
) 3 Adım hbase-1.1.2-bin.tar.gz dosyasına tıklayın. Tar dosyasını indirecektir. Tar dosyasını bir kurulum konumuna kopyalayın.
HBase Nasıl Kurulur Ubuntu Bağımsız Mod ile
İşte HBase bağımsız mod kurulumunun adım adım süreci Ubuntu:
Adım 1) Aşağıdaki komutu yerleştirin
hbase-1.1.2-bin.tar.gz dosyasını /home/hduser dizinine yerleştirin
Adım 2) $tar -xvf hbase-1.1.2-bin.tar.gz komutunu çalıştırarak sıkıştırılmış dosyayı açın.
İçeriği açacak ve /home/hduser konumunda hbase-1.1.2'yi oluşturacaktır.
Adım 3) hbase-env.sh'yi açın
Hbase-env.sh'yi aşağıdaki gibi açın ve konumda JAVA_HOME yolunu belirtin.
Adım 4) Dosyayı açın ve yolu belirtin
~/.bashrc dosyasını açın ve aşağıda gösterildiği gibi HBASE_HOME yolundan bahsedin
| HBASE_HOME=/home/hduser/hbase-1.1.1'i dışa aktar dışa aktarma PATH= $PATH:$HBASE_HOME/bin |
Adım 5) Dosyaya özellikler ekleyin
hbase-site.xml dosyasını açın ve aşağıdaki özellikleri dosyanın içine yerleştirin
hduser@ubuntu$ gedit hbase-site.xml(kod aşağıdaki gibidir)
<property> <name>hbase.rootdir</name> <value>file:///home/hduser/HBASE/hbase</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/hduser/HBASE/zookeeper</value> </property>
Burada iki özelliği yerleştiriyoruz
- Biri HBase kök dizini için ve
- Veri dizini için ikincisi ZooKeeper'a karşılık gelir.
Tüm HMaster ve ZooKeeper etkinlikleri bu hbase-site.xml'ye işaret eder.
Adım 6) IP'lerden bahsedin
/etc'de bulunan hosts dosyasını açın. konumu ve aşağıda gösterildiği gibi IP'leri belirtin.
Adım 7) Şimdi Start-hbase.sh'yi aşağıda gösterildiği gibi hbase-1.1.1/bin konumunda çalıştırın.
Ve HMaster'ın çalışıp çalışmadığını jps komutuyla kontrol edebiliriz.
Adım 8) HBase Kabuğunu başlatın
HBase kabuğu şunu kullanarak başlayabilir:hbase kabuğu” ve aşağıdaki ekran görüntüsünde gösterildiği gibi etkileşimli kabuk moduna girecektir. Kabuk moduna girdiğinde her türlü komutu gerçekleştirebiliriz.
Bağımsız mod, Hadoop arka plan programlarının başlatılmasını gerektirmez. HBase bağımsız olarak çalışabilir.
HBase Sözde Dağıtılmış Kurulum Modu
Bu, Sahte Dağıtılmış Kurulum modu olarak bilinen Apache HBase Kurulumu için başka bir yöntemdir.
HBase'i Sözde Dağıtılmış mod aracılığıyla yükleme adımları aşağıda verilmiştir:
) 1 Adım hbase-1.1.2-bin.tar.gz dosyasını /home/hduser dizinine yerleştirin
) 2 Adım $tar -xvf hbase-1.1.2-bin.tar.gz komutunu çalıştırarak sıkıştırılmış dosyayı açın. İçeriği açacak ve /home/hduser konumunda hbase-1.1.2'yi oluşturacaktır.
) 3 Adım Aşağıdaki gibi hbase-env.sh'yi açın ve konumda JAVA_HOME yolunu ve Bölge sunucularının yolunu belirtin ve komutu gösterildiği gibi dışa aktarın
) 4 Adım Bu adımda ~/.bashrc dosyasını açıp ekran görüntüsündeki HBASE_HOME yolundan bahsedeceğiz.
) 5 Adım HBase-site.xml dosyasını açın ve dosyada aşağıdaki özellikleri belirtin.(Kod aşağıdaki gibi)
<property> <name>hbase.rootdir</name> <value>hdfs://localhost:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>localhost</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>hbase.zookeeper.property.clientPort</name> <value>2181</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/hduser/hbase/zookeeper</value> </property>
- Bu özellikte Hbase kök dizinini ayarlama
- Dağıtılmış kurulum için bu özelliği ayarlamamız gerekir
- ZooKeeper çekirdek özelliği burada ayarlanmalıdır
- Çoğaltma kurulumu bu özellikte yapılır. Varsayılan olarak çoğaltmayı 1 olarak yerleştiriyoruz. Tam dağıtılmış modda, birden fazla veri düğümü mevcut olduğundan dfs.replication özelliğine 1'den fazla değer yerleştirerek çoğaltmayı artırabiliriz.
- Bu özellikte istemci bağlantı noktası belirtilmelidir
- ZooKeeper veri dizininden bu özellikte bahsedilebilir
) 6 Adım Önce Hadoop arka plan programlarını başlatın ve ardından aşağıda gösterildiği gibi HBase arka plan programlarını başlatın.
Burada ilk önce Hadoop arka plan programlarını şunu kullanarak başlatmalısınız:“./start-all.sh” aşağıda gösterildiği gibi komut.
Hbase arka plan programlarını hbase-start.sh ile başlattıktan sonra
Şimdi jps'yi kontrol edin
HBase Tamamen Dağıtılmış Mod Kurulumu
- Bu kurulum, kümede birden fazla düğümün ortaya çıktığı ve çalıştığı Hadoop küme modunda çalışacaktır.
- Kurulum sözde dağıtılmış modla aynıdır; tek fark birden fazla düğümde ortaya çıkmasıdır.
- HBase-site.xml ve hbase-env.sh'de bahsedilen yapılandırma dosyaları sözde modda bahsedilenlerle aynıdır.
HBase Kurulum Sorunlarını Giderme
1) Sorun Açıklaması: Ana sunucu başlatılıyor ancak bölge sunucuları başlatılmıyor
Master ve bölge sunucuları arasında IP adresleri üzerinden iletişim. Tıpkı Master'ın bölge sunucularının çalıştığını veya 127.0.0.1 IP adresine sahip olduğunu dinlemesi gibi. Yerel ana bilgisayar olan ve ana sunucunun kendi yerel ana bilgisayarına çözümlenen IP adresi 127.0.0.1.
Nedeni:
Bölge sunucuları ve master arasındaki ikili iletişimde, bölge sunucusu sürekli olarak Master sunucuya IP adreslerinin 127.0.0.1 olduğu bilgisini verir.
Çözüm:
- Hosts dosyasında bulunan yerel ana bilgisayardan ana sunucu adı düğümünün kaldırılması gerekiyor
- Ana bilgisayar dosyası konumu /etc/hosts
Neler değiştirilir:
/etc./hosts dosyasını açın ve bu konuma gidin
127.0.0.1 fully.qualified.regionservernameregionservername localhost.localdomain localhost : : 1 localhost3.localdomain3 localdomain3
Yukarıdaki yapılandırmayı aşağıdaki gibi değiştirin (yukarıda vurgulandığı gibi bölge sunucusu adını kaldırın)
127.0.0.1 localhost.localdomainlocalhost : : 1 localhost3.localdomain3 localdomain3
2) Sorun Açıklaması: Adresimi bulamadım: Zookeeper çekirdek sunucuları listesinde XYZ
Nedeni:
- ZooKeeper sunucusu başlatılamadı ve sunucu adına .xyz gibi bir hata verecek.
- HBase, bazı makinelerde ZooKeeper sunucusunu başlatmaya çalışıyor ancak aynı zamanda makine, çekirdek yapılandırmasını (yani mevcut çekirdek yapılandırmasını) bulamıyor. HBase.zookeeper.quorum yapılandırma dosyası
Çözüm:-
- Ana bilgisayar adını, hata mesajında sunulan bir ana bilgisayar adıyla değiştirmeniz gerekiyor
- Diyelim ki DNS sunucumuz var ve HBase-site.xml dosyasında aşağıdaki konfigürasyonları ayarlayabiliriz.
- HBase.zookeeper.dns.interface
- HBase.zookeeper.dns.namesunucusu
3) Sorun Açıklaması: Hadoop DFS aracılığıyla HBase için Kök Dizin oluşturuldu
- Master, HBase geçiş komut dosyasını çalıştırmanız gerektiğini söylüyor.
- Bunu çalıştırdıktan sonraHBase geçiş komut dosyası, kök dizinde hiçbir dosya yokmuş gibi yanıt verir.
Nedeni:
- HBase kullanarak yeni dizinin oluşturulması Hadoop'un Dağıtılmış dosya sistemi
- Burada HBase iki olasılık bekliyor
1) Kök dizinin mevcut olmaması
2) HBase önceki çalışan örneği daha önce başlatıldı
Çözüm:
- HBase kök dizininin şu anda mevcut olmaması veya daha önceki bir HBase örneği çalıştırması tarafından başlatılmış olmasıyla uyumluluk sağlayın.
- Çözümün bir parçası olarak aşağıdaki adımları takip etmeliyiz
) 1 Adım HBase kök dizinini silmek için Hadoop dfs'yi kullanma
) 2 Adım HBase dizini kendi başına oluşturur ve başlatır
4) Sorun bildirimi: Zookeeper oturumu süresi dolmuş olaylar
Nedeni:
- HMaster veya HRegion sunucuları Exceptions atarak kapanıyor
- Günlükleri gözlemlersek, atılan gerçek istisnaları bulabiliriz
Aşağıda Zookeeper süresi dolmuş olayı nedeniyle atılan istisna gösterilmektedir. Vurgulanan olaylar, günlük dosyasında meydana gelen istisnalardan bazılarıdır
Dosya kodunu aşağıda gösterildiği gibi kaydedin:
WARN org.apache.zookeeper.ClientCnxn: Exception closing session 0x278bd16a96000f to sun.nio.ch.SelectionKeyImpl@355811ec java.io.IOException: TIMED OUT at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:906) WARN org.apache.hadoop.hbase.util.Sleeper: We slept 79410ms, ten times longer than scheduled: 5000 INFO org.apache.zookeeper.ClientCnxn: Attempting connection to server hostname/IP:PORT INFO org.apache.zookeeper.ClientCnxn: Priming connection to java.nio.channels.SocketChannel[connected local=/IP:PORT remote=hostname/IP:PORT] INFO org.apache.zookeeper.ClientCnxn: Server connection successful WARN org.apache.zookeeper.ClientCnxn: Exception closing session 0x278bd16a96000d to sun.nio.ch.SelectionKeyImpl@3544d65e java.io.IOException: Session Expired at org.apache.zookeeper.ClientCnxn$SendThread.readConnectResult(ClientCnxn.java:589) at org.apache.zookeeper.ClientCnxn$SendThread.doIO(ClientCnxn.java:709) at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:945) ERROR org.apache.hadoop.hbase.regionserver.HRegionServer: ZooKeeper session expired
Çözüm:
- Varsayılan RAM boyutu 1 GB'dir. Uzun süreli içe aktarma işlemleri yapabilmek için RAM kapasitesini 1 GB'ın üzerinde tuttuk.
- Oturum zaman aşımını artırmanız gerekiyor Zookeeper.
- Zookeeper'dan oturum süresini arttırmak için hbase /conf klasör yolunda bulunan "hbase-site.xml" içindeki şu özelliği değiştirmemiz gerekiyor.
- Varsayılan oturum zaman aşımı 60 saniyedir. Aşağıda belirttiğimiz gibi 120 saniyeye çevirebiliriz.
<property>
<name> zookeeper.session.timeout </name>
<value>1200000</value>
</property>
<property>
<name> hbase.zookeeper.property.tickTime </name>
<value>6000</value>
</property>
















