Takip et

Büyük Veri Dostu Apache Accumulo NoSQL Veritabanının Ubuntu 14.04 Üzerine Kurulumu

Büyük Veri Dostu Apache Accumulo NoSQL Veritabanının Ubuntu 14.04 Üzerine Kurulumu Giriş: Apache Accumulo ve Büyük Veri Ekosistemi Büyük

Büyük Veri Dostu Apache Accumulo NoSQL Veritabanının Ubuntu 14.04 Üzerine Kurulumu

Giriş: Apache Accumulo ve Büyük Veri Ekosistemi

Büyük veri dünyasında, yüksek performanslı, ölçeklenebilir ve güvenli veritabanı çözümlerine olan ihtiyaç her geçen gün artmaktadır. Apache Accumulo, bu ihtiyaçları karşılamak üzere tasarlanmış, dağıtık bir anahtar-değer depolama sistemidir. Google’ın Bigtable tasarımına dayanan Accumulo, Apache Hadoop’un HDFS (Hadoop Distributed File System) üzerinde çalışır ve Apache ZooKeeper ile dağıtık koordinasyon sağlar. Accumulo’yu diğer NoSQL veritabanlarından ayıran en önemli özelliklerinden biri, hücre düzeyinde (cell-level) güvenlik sunmasıdır. Bu, farklı kullanıcıların aynı tabloda farklı verilere erişim yetkilerinin ayrı ayrı belirlenebilmesini sağlar ki bu, özellikle hassas verilerin yönetildiği senaryolarda kritik bir avantajdır.

Ubuntu 14.04, uzun süreli destek (LTS) sunan ve birçok kurumsal ortamda hala kullanılan bir işletim sistemi sürümüdür. Bu makalede, Apache Accumulo’nun bu spesifik Ubuntu sürümü üzerine nasıl kurulacağını adım adım, detaylı bir şekilde ele alacağız. Amacımız, okuyuculara hem tek düğümlü (pseudo-distributed) bir kurulum için pratik bir rehber sunmak hem de Accumulo’nun temel bileşenleri ve konfigürasyonları hakkında derinlemesine bilgi vermektir. Bu kurulum, üretim ortamları için bir başlangıç noktası olabilir veya geliştirme ve test amaçlı kullanılabilir.

Apache Accumulo’nun kurulumu, genellikle üç ana bileşenin doğru bir şekilde yapılandırılmasını gerektirir:
1. Apache Hadoop: Accumulo’nun verilerini depoladığı dağıtık dosya sistemi (HDFS) ve kaynak yönetimi (YARN) katmanını sağlar.
2. Apache ZooKeeper: Accumulo kümesindeki düğümler arasında dağıtık koordinasyon, durum yönetimi ve yapılandırma bilgilerinin tutulması için kullanılır.
3. Apache Accumulo: Veritabanının kendisi, veri depolama, sorgulama ve güvenlik özelliklerini sunar.

Bu makale, her bir bileşenin ayrı ayrı kurulumunu ve ardından Accumulo’nun bu bileşenlerle entegrasyonunu kapsayacaktır. Kurulum sürecinde karşılaşabilecek olası sorunlara ve çözüm önerilerine de değinilecektir.

Ön Gereksinimler

Apache Accumulo’yu Ubuntu 14.04 üzerine kurmadan önce, sisteminizin belirli gereksinimleri karşıladığından emin olmanız gerekir. Bu gereksinimler, sorunsuz bir kurulum ve stabil bir çalışma ortamı için kritik öneme sahiptir.

Sistem Gereksinimleri

* İşletim Sistemi: Ubuntu 14.04 (64-bit önerilir).
* Bellek (RAM): En az 4 GB RAM önerilir, ancak büyük veri setleriyle çalışmak veya üretim ortamı için daha fazlası (8 GB veya üzeri) gereklidir.
* Disk Alanı: En az 50 GB boş disk alanı önerilir. Hadoop HDFS’nin veri depolama ihtiyaçları ve log dosyaları için bu alan önemlidir.
* İşlemci (CPU): Çok çekirdekli bir işlemci tercih edilir.

Yazılım Bağımlılıkları

* Java Geliştirme Kiti (JDK): Apache Accumulo, Java sanal makinesi (JVM) üzerinde çalışır. OpenJDK 7 veya OpenJDK 8 sürümü önerilir. Bu makalede OpenJDK 7 kullanacağız.
* SSH Sunucusu: Hadoop ve Accumulo bileşenlerinin düğümler arasında şifresiz iletişim kurabilmesi için SSH sunucusunun kurulu ve yapılandırılmış olması gerekir. Tek düğümlü (pseudo-distributed) kurulumda bile, yerel makineye şifresiz SSH erişimi gereklidir.
* rsync: Dosya senkronizasyonu için kullanılan bir araçtır ve Hadoop bileşenleri tarafından kullanılabilir.

Temel Linux Bilgisi

* Temel komut satırı (CLI) bilgisi.
* sudo komutunu kullanarak yönetici ayrıcalıklarını kullanma becerisi.
* Metin düzenleyicileri (nano, vi veya gedit) ile dosya düzenleme bilgisi.

Adım 1: Sistem Güncelleme ve Temel Bağımlılıkların Kurulumu

Kuruluma başlamadan önce, sisteminizin güncel olduğundan ve gerekli temel araçların yüklü olduğundan emin olmalıyız.

Sistem Güncelleme

İlk olarak, paket listesini güncelleyin ve yüklü paketleri yükseltin:

sudo apt-get update
sudo apt-get upgrade -y

SSH Sunucusu ve rsync Kurulumu

Hadoop ve Accumulo’nun düzgün çalışabilmesi için openssh-server ve rsync paketlerini yükleyin:

sudo apt-get install openssh-server rsync -y

Şifresiz SSH Erişimi Yapılandırması

Hadoop ve Accumulo, kendi süreçlerini başlatmak için şifresiz SSH bağlantılarına ihtiyaç duyar. Bu, tek düğümlü kurulumda bile geçerlidir.

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys

Bu komutlar, yeni bir SSH anahtar çifti oluşturur ve genel anahtarı yetkili anahtarlar dosyasına ekleyerek yerel makineye şifresiz erişimi mümkün kılar. Doğrulamak için aşağıdaki komutu kullanabilirsiniz:

ssh localhost

İlk bağlantıda bir onay isteği gelebilir, yes yazarak devam edin. Şifre sormadan bağlanabiliyorsanız, yapılandırma başarılıdır. Çıkış yapmak için exit yazın.

Adım 2: Java Geliştirme Kiti (JDK) Kurulumu

Apache Accumulo ve tüm Hadoop ekosistemi Java tabanlıdır. Bu nedenle, bir Java Geliştirme Kiti (JDK) kurulu olması zorunludur. Bu makalede OpenJDK 7’yi tercih edeceğiz, zira Ubuntu 14.04 için yaygın ve uyumlu bir seçenektir.

OpenJDK 7 Kurulumu

Aşağıdaki komutla OpenJDK 7’yi yükleyin:

sudo apt-get install openjdk-7-jdk -y

Java Sürümünü Doğrulama

Kurulumdan sonra Java sürümünü kontrol ederek doğru bir şekilde yüklendiğinden emin olun:

java -version

Çıktı, java version "1.7.0_XX" veya benzeri bir şey olmalıdır.

JAVA_HOME Ortam Değişkenini Ayarlama

Hadoop, ZooKeeper ve Accumulo’nun Java’yı bulabilmesi için JAVA_HOME ortam değişkeninin ayarlanması gerekir. Java’nın yüklü olduğu yolu bulmak için:

sudo update-alternatives --config java

Buradan Java 7’nin yolunu kopyalayın (genellikle /usr/lib/jvm/java-7-openjdk-amd64 gibi bir yoldur).
Ardından, bu değişkeni .bashrc dosyanıza ekleyin:

echo "export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64" >> ~/.bashrc
echo "export PATH=\$PATH:\$JAVA_HOME/bin" >> ~/.bashrc
source ~/.bashrc

Değişkenin doğru ayarlandığını kontrol edin:

echo $JAVA_HOME

Adım 3: Apache Hadoop Kurulumu

Accumulo, verilerini depolamak için Hadoop HDFS’yi kullanır ve kaynak yönetimi için YARN’a dayanır. Bu nedenle, Accumulo’dan önce Hadoop’un kurulması ve yapılandırılması gerekmektedir. Ubuntu 14.04 ile uyumlu bir Hadoop sürümü olarak 2.7.x serisini tercih edeceğiz.

Hadoop İndirme ve Çıkarma

Hadoop’u Apache web sitesinden indirin. Örneğin, hadoop-2.7.7.tar.gz sürümünü kullanabiliriz.

cd /tmp
wget https://archive.apache.org/dist/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz
sudo tar -xvzf hadoop-2.7.7.tar.gz -C /usr/local/
sudo mv /usr/local/hadoop-2.7.7 /usr/local/hadoop

Ardından, Hadoop için bir kullanıcı ve grup oluşturun (isteğe bağlı ama iyi bir uygulamadır):

sudo addgroup hadoop
sudo adduser --ingroup hadoop hduser
sudo chown -R hduser:hadoop /usr/local/hadoop

Bu adımlardan sonra, hduser kullanıcısına geçiş yapabilir veya mevcut kullanıcınızla devam edebilirsiniz. Bu rehberde mevcut kullanıcınızla devam ettiğinizi varsayıyoruz, ancak hduser kullanıcısına geçmek daha güvenli bir yaklaşımdır. Eğer hduser kullanıcısına geçerseniz, tüm komutları bu kullanıcı altında çalıştırmanız ve SSH anahtarlarını da bu kullanıcı için oluşturmanız gerekecektir.

Hadoop Ortam Değişkenlerini Ayarlama

Hadoop’un doğru çalışabilmesi için ortam değişkenlerini ayarlayın:

echo "export HADOOP_HOME=/usr/local/hadoop" >> ~/.bashrc
echo "export HADOOP_INSTALL=\$HADOOP_HOME" >> ~/.bashrc
echo "export HADOOP_MAPRED_HOME=\$HADOOP_HOME" >> ~/.bashrc
echo "export HADOOP_COMMON_HOME=\$HADOOP_HOME" >> ~/.bashrc
echo "export HADOOP_HDFS_HOME=\$HADOOP_HOME" >> ~/.bashrc
echo "export YARN_HOME=\$HADOOP_HOME" >> ~/.bashrc
echo "export HADOOP_COMMON_LIB_NATIVE_DIR=\$HADOOP_HOME/lib/native" >> ~/.bashrc
echo "export PATH=\$PATH:\$HADOOP_HOME/bin:\$HADOOP_HOME/sbin" >> ~/.bashrc
source ~/.bashrc

Hadoop Yapılandırması (Tek Düğümlü Pseudo-Distributed Mod)

Hadoop’u tek bir makinede dağıtık modda çalıştırmak için bazı yapılandırma dosyalarını düzenlememiz gerekir. Bu dosyalar /usr/local/hadoop/etc/hadoop dizininde bulunur.

1. hadoop-env.sh

JAVA_HOME değişkenini ayarlayın:

sudo nano /usr/local/hadoop/etc/hadoop/hadoop-env.sh

Dosyada export JAVA_HOME= satırını bulun ve aşağıdaki gibi güncelleyin (başına # koyarak yorum satırından çıkarın):

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
2. core-site.xml

HDFS’nin varsayılan dosya sistemini ve portunu tanımlayın:

sudo nano /usr/local/hadoop/etc/hadoop/core-site.xml

İçeriği aşağıdaki gibi güncelleyin:


    
        fs.defaultFS
        hdfs://localhost:9000
    
    
        hadoop.tmp.dir
        /usr/local/hadoop_tmp
    

hadoop_tmp dizinini oluşturun ve izinlerini ayarlayın:

sudo mkdir -p /usr/local/hadoop_tmp
sudo chown -R $(whoami):$(whoami) /usr/local/hadoop_tmp
3. hdfs-site.xml

HDFS’nin NameNode ve DataNode dizinlerini ve replikasyon faktörünü ayarlayın. Tek düğümlü kurulum için replikasyon faktörü 1 olmalıdır.

sudo nano /usr/local/hadoop/etc/hadoop/hdfs-site.xml

İçeriği aşağıdaki gibi güncelleyin:


    
        dfs.replication
        1
    
    
        dfs.namenode.name.dir
        file:///usr/local/hadoop_tmp/dfs/name
    
    
        dfs.datanode.data.dir
        file:///usr/local/hadoop_tmp/dfs/data
    
4. mapred-site.xml

Bu dosya varsayılan olarak mapred-site.xml.template olarak bulunur. Kopyalayıp düzenleyin:

sudo cp /usr/local/hadoop/etc/hadoop/mapred-site.xml.template /usr/local/hadoop/etc/hadoop/mapred-site.xml
sudo nano /usr/local/hadoop/etc/hadoop/mapred-site.xml

İçeriği aşağıdaki gibi güncelleyin:


    
        mapreduce.framework.name
        yarn
    
5. yarn-site.xml

YARN’ın NodeManager ve ResourceManager ayarlarını yapın:

sudo nano /usr/local/hadoop/etc/hadoop/yarn-site.xml

İçeriği aşağıdaki gibi güncelleyin:


    
        yarn.nodemanager.aux-services
        mapreduce_shuffle
    
    
        yarn.nodemanager.aux-services.mapreduce.shuffle.class
        org.apache.hadoop.mapred.ShuffleHandler
    
    
        yarn.resourcemanager.hostname
        localhost
    

HDFS Formatlama

Hadoop HDFS’yi ilk kez kullanmadan önce formatlamanız gerekir. Bu işlem yalnızca bir kez yapılmalıdır, aksi takdirde mevcut veriler silinir!

hdfs namenode -format

Çıktıda “successfully formatted” mesajını görmelisiniz.

Hadoop Servislerini Başlatma

Şimdi Hadoop NameNode, DataNode, ResourceManager ve NodeManager servislerini başlatın:

start-dfs.sh
start-yarn.sh

Servislerin düzgün bir şekilde çalıştığını doğrulamak için jps komutunu kullanın:

jps

Çıktıda NameNode, DataNode, ResourceManager ve NodeManager süreçlerini görmelisiniz.

Adım 4: Apache ZooKeeper Kurulumu

Apache ZooKeeper, dağıtık sistemler için merkezi bir koordinasyon hizmetidir. Accumulo, ZooKeeper’ı küme üyelerinin durumunu, yapılandırma bilgilerini ve lider seçimini yönetmek için kullanır. Ubuntu 14.04 ile uyumlu bir ZooKeeper sürümü olarak 3.4.x serisini tercih edeceğiz.

ZooKeeper İndirme ve Çıkarma

ZooKeeper’ı Apache web sitesinden indirin. Örneğin, zookeeper-3.4.14.tar.gz sürümünü kullanabiliriz.

cd /tmp
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
sudo tar -xvzf zookeeper-3.4.14.tar.gz -C /usr/local/
sudo mv /usr/local/zookeeper-3.4.14 /usr/local/zookeeper

ZooKeeper dizininin sahibini değiştirin:

sudo chown -R $(whoami):$(whoami) /usr/local/zookeeper

ZooKeeper Ortam Değişkenlerini Ayarlama

echo "export ZOOKEEPER_HOME=/usr/local/zookeeper" >> ~/.bashrc
echo "export PATH=\$PATH:\$ZOOKEEPER_HOME/bin" >> ~/.bashrc
source ~/.bashrc

ZooKeeper Yapılandırması

ZooKeeper için bir veri dizini oluşturun ve yapılandırma dosyasını hazırlayın.

mkdir -p /usr/local/zookeeper/data

Yapılandırma dosyasını şablondan kopyalayın ve düzenleyin:

cp /usr/local/zookeeper/conf/zoo_sample.cfg /usr/local/zookeeper/conf/zoo.cfg
sudo nano /usr/local/zookeeper/conf/zoo.cfg

dataDir özelliğini oluşturduğunuz veri dizinine işaret edecek şekilde güncelleyin:

# the directory where the snapshot files are stored.
dataDir=/usr/local/zookeeper/data

the port at which the clients will connect

clientPort=2181

Tek düğümlü kurulum için başka bir değişiklik yapmaya gerek yoktur.

ZooKeeper Servisini Başlatma

ZooKeeper servisini başlatın:

zkServer.sh start

Servisin durumunu kontrol edin:

zkServer.sh status

Çıktıda Mode: standalone veya Mode: follower (eğer bir küme lideri seçildiyse) görmelisiniz.

Adım 5: Apache Accumulo Kurulumu

Hadoop ve ZooKeeper başarıyla kurulduktan ve yapılandırıldıktan sonra, artık Apache Accumulo’yu kurmaya hazırız. Ubuntu 14.04, Hadoop 2.7.x ve ZooKeeper 3.4.x ile uyumlu bir Accumulo sürümü olarak 1.7.x veya 1.8.x serisini tercih edebiliriz. Bu makalede Accumulo 1.7.0’ı kullanacağız.

Accumulo İndirme ve Çıkarma

Accumulo’yu Apache web sitesinden indirin. Örneğin, accumulo-1.7.0-bin.tar.gz sürümünü kullanabiliriz.

cd /tmp
wget https://archive.apache.org/dist/accumulo/1.7.0/accumulo-1.7.0-bin.tar.gz
sudo tar -xvzf accumulo-1.7.0-bin.tar.gz -C /usr/local/
sudo mv /usr/local/accumulo-1.7.0 /usr/local/accumulo

Accumulo dizininin sahibini değiştirin:

sudo chown -R $(whoami):$(whoami) /usr/local/accumulo

Accumulo Ortam Değişkenlerini Ayarlama

echo "export ACCUMULO_HOME=/usr/local/accumulo" >> ~/.bashrc
echo "export PATH=\$PATH:\$ACCUMULO_HOME/bin" >> ~/.bashrc
source ~/.bashrc

Accumulo Yapılandırması

Accumulo’nun yapılandırma dosyaları /usr/local/accumulo/conf dizininde bulunur.

1. accumulo-env.sh

Bu dosya, Accumulo’nun Java, Hadoop ve ZooKeeper yollarını bilmesini sağlar.

sudo nano /usr/local/accumulo/conf/accumulo-env.sh

Aşağıdaki satırları bulun ve güncelleyin (başına # koyarak yorum satırından çıkarın ve doğru yolları belirtin):

# General Hadoop configuration
export HADOOP_HOME=/usr/local/hadoop

Point to your Java installation

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64

Point to your ZooKeeper installation

export ZOOKEEPER_HOME=/usr/local/zookeeper

Set Accumulo log directory (optional, but good practice)

export ACCUMULO_LOG_DIR=/usr/local/accumulo/logs

Log dizinini oluşturun:

mkdir -p /usr/local/accumulo/logs
2. accumulo-site.xml

Bu dosya, Accumulo örneğinin temel yapılandırmasını içerir.

sudo nano /usr/local/accumulo/conf/accumulo-site.xml

İçeriği aşağıdaki gibi güncelleyin:


    
        instance.zookeeper.host
        localhost:2181
        Comma separated list of zookeeper servers and ports
    
    
        instance.secret
        YOUR_ACCUMULO_SECRET
        A secret unique to a given instance of Accumulo.
            All servers in the same instance must share the same secret.
            Changing this property will cause the Accumulo instance to become
            unusable.  This value should be a UUID (alphanumeric characters
            and hyphens). It is recommended that you generate a new secret
            when you first configure Accumulo.
        
    
    
        tserver.memory.maps.max
        256M
        The maximum amount of memory that can be used for in-memory maps
            before flush to disk is forced.
        
    
    
        tserver.cache.data.size
        128M
        The maximum amount of memory that can be used for caching data.
        
    
    
        tserver.cache.index.size
        64M
        The maximum amount of memory that can be used for caching indices.
        
    

YOUR_ACCUMULO_SECRET kısmını güvenli, rastgele bir dize ile değiştirin. Bu, Accumulo örneğiniz için benzersiz bir sır olmalıdır. Örneğin, bir UUID oluşturabilirsiniz.
Bellek ayarlarını (tserver.memory.maps.max, tserver.cache.data.size, tserver.cache.index.size) sisteminizin RAM miktarına göre ayarlayabilirsiniz. Yukarıdaki değerler tek düğümlü test kurulumu için makul başlangıç değerleridir.

3. JAR Dosyalarını Kopyalama

Accumulo’nun Hadoop ve ZooKeeper ile iletişim kurabilmesi için gerekli JAR dosyalarını Accumulo’nun lib/ext dizinine kopyalamanız gerekir. Bu adım çok önemlidir ve sıklıkla unutulur.

cp /usr/local/hadoop/share/hadoop/client/*.jar /usr/local/accumulo/lib/ext/
cp /usr/local/hadoop/share/hadoop/common/*.jar /usr/local/accumulo/lib/ext/
cp /usr/local/hadoop/share/hadoop/hdfs/*.jar /usr/local/accumulo/lib/ext/
cp /usr/local/hadoop/share/hadoop/mapreduce/*.jar /usr/local/accumulo/lib/ext/
cp /usr/local/hadoop/share/hadoop/yarn/*.jar /usr/local/accumulo/lib/ext/
cp /usr/local/zookeeper/lib/*.jar /usr/local/accumulo/lib/ext/

Önemli Not: Bu komutlar, Hadoop ve ZooKeeper’ın tüm JAR dosyalarını kopyalar. Bazı durumlarda, çakışan JAR’lar sorunlara neden olabilir. Eğer sorun yaşarsanız, sadece gerekli olan JAR’ları (örneğin, hadoop-common-.jar, hadoop-hdfs-.jar, zookeeper-*.jar) kopyalamayı deneyebilirsiniz. Ancak genellikle bu geniş kopyalama tek düğümlü kurulumlarda sorun çıkarmaz.

Accumulo Örneğini Başlatma

1. Accumulo’yu Başlatma (Initialize)

Accumulo’yu ilk kez çalıştırmadan önce başlatmanız gerekir. Bu işlem, HDFS üzerinde Accumulo’nun meta verilerini oluşturur.

accumulo init

Sizden bir “Instance Name” (Örnek Adı) girmenizi isteyecektir. Örneğin, test_instance yazabilirsiniz.
Ardından bir “Root Password” (Root Şifresi) belirlemeniz istenecektir. Güçlü bir şifre girin ve onaylayın.

2. Accumulo Servislerini Başlatma

Şimdi Accumulo servislerini başlatın:

start-all.sh

Bu komut, Master, Garbage Collector, Monitor ve Tablet Server süreçlerini başlatır.
Servislerin düzgün çalıştığını doğrulamak için jps komutunu kullanın:

jps

Çıktıda Master, TServer, GC, Monitor süreçlerini görmelisiniz.

Accumulo Web Arayüzünü Kontrol Etme

Accumulo’nun durumunu ve performansını izlemek için bir web arayüzü bulunur. Tarayıcınızdan http://localhost:9995 adresine giderek bu arayüze erişebilirsiniz. Kullanıcı adı root ve Accumulo’yu başlatırken belirlediğiniz şifreyi kullanın.

Adım 6: Accumulo Kabuğunu Kullanma

Accumulo başarıyla kurulduktan ve servisler çalışmaya başladıktan sonra, veritabanıyla etkileşim kurmak için Accumulo kabuğunu kullanabiliriz.

Accumulo Kabuğuna Bağlanma

accumulo shell -u root -p YOUR_ROOT_PASSWORD

YOUR_ROOT_PASSWORD yerine Accumulo’yu başlatırken belirlediğiniz root şifresini yazın. Başarılı bir şekilde bağlanırsanız, root@test_instance> gibi bir komut istemi göreceksiniz.

Temel Accumulo Kabuğu Komutları

* Yardım: help
* Tablo Oluşturma: createtable mytable
* Veri Ekleme:

insert mytable row1 colfam1 colqual1 value1
    insert mytable row2 colfam1 colqual2 value2

* Veri Tarama: scan mytable
Bu, tablodaki tüm verileri gösterecektir.
* Tablo Listeleme: tables
* Tablo Silme: deletetable mytable
* Çıkış: exit

Örnek bir etkileşim:

root@test_instance> createtable mytable
root@test_instance> insert mytable row1 colfam1 colqual1 value1
root@test_instance> insert mytable row2 colfam1 colfam2 value2
root@test_instance> scan mytable
row1 colfam1:colqual1 []    value1
row2 colfam1:colfam2 []    value2
root@test_instance> tables
accumulo       !METADATA       !METADATA_OLD    !SECURITY    mytable
root@test_instance> deletetable mytable
Are you sure you want to delete mytable (yes|no)? yes
root@test_instance> tables
accumulo       !METADATA       !METADATA_OLD    !SECURITY
root@test_instance> exit

Adım 7: Güvenlik ve İyileştirmeler (Kısa Bahsetme)

Bu rehber, tek düğümlü bir kurulum için temel adımları içerir. Üretim ortamları için ek güvenlik ve performans iyileştirmeleri yapılması gerekir:

* Güvenlik Duvarı (Firewall): ufw gibi bir güvenlik duvarı kullanarak yalnızca gerekli portlara (SSH, Accumulo, Hadoop, ZooKeeper) erişime izin verin.
* Kaynak Limitleri (ulimit): Açık dosya tanımlayıcıları ve süreçler için sistem limitlerini artırın.
* Bellek Ayarları: accumulo-env.sh ve accumulo-site.xml dosyalarındaki JVM bellek ayarlarını (örneğin, tserver.memory.maps.max, tserver.cache.data.size, tserver.cache.index.size) sistem kaynaklarınıza ve iş yükünüze göre optimize edin.
* Günlükleme: Günlük dosyalarının boyutunu ve saklama süresini yönetmek için log4j yapılandırmasını gözden geçirin.
* Çok Düğümlü Kurulum: Üretim ortamları için, her bileşeni (Hadoop NameNode/DataNode, ZooKeeper Ensemble, Accumulo Master/TServer) ayrı fiziksel veya sanal makinelerde çalıştıran çok düğümlü bir kurulum gereklidir.

Sorun Giderme İpuçları

Kurulum sırasında veya sonrasında sorunlarla karşılaşmanız olasıdır. İşte bazı yaygın sorunlar ve çözüm önerileri:

* Servisler Başlamıyor:
* Log Dosyalarını Kontrol Edin: Hadoop, ZooKeeper ve Accumulo’nun logs dizinlerindeki (örneğin, /usr/local/hadoop/logs, /usr/local/zookeeper/logs, /usr/local/accumulo/logs) günlük dosyalarını inceleyin. Hata mesajları genellikle sorunun kaynağını gösterir.
* jps Çıktısını Kontrol Edin: Hangi Java süreçlerinin çalıştığını görmek için jps komutunu kullanın. Eksik süreçler, ilgili bileşenin başlamadığını gösterir.
* Ortam Değişkenlerini Kontrol Edin: echo $JAVA_HOME, echo $HADOOP_HOME, echo $ZOOKEEPER_HOME, echo $ACCUMULO_HOME komutlarıyla ortam değişkenlerinin doğru ayarlandığından emin olun. source ~/.bashrc komutunu çalıştırdığınızdan emin olun.
* SSH Erişimi: ssh localhost komutuyla şifresiz SSH erişiminin çalıştığını doğrulayın.

* Accumulo Kabuğu Bağlantı Sorunları:
* ZooKeeper ve Hadoop servislerinin çalıştığından emin olun.
* accumulo-site.xml dosyasındaki instance.zookeeper.host ayarının doğru olduğundan emin olun.
* accumulo init komutunu doğru bir şekilde çalıştırdığınızdan emin olun.

* HDFS Formatlama Hatası:
* Eğer hdfs namenode -format komutu hata veriyorsa, /usr/local/hadoop_tmp dizininin boş olduğundan ve doğru izinlere sahip olduğundan emin olun. Gerekirse dizini silip yeniden oluşturun ve izinleri ayarlayın.

* JAR Çakışmaları veya Sınıf Yolu Sorunları:
* accumulo-env.sh dosyasındaki CLASSPATH ayarlarını ve ACCUMULO_HOME/lib/ext dizinine kopyaladığınız JAR dosyalarını dikkatlice kontrol edin. Bazen farklı sürümlerden gelen JAR’lar çakışmalara neden olabilir.

* Bellek Yetersizliği:
* Eğer sistemde bellek yetersizliği nedeniyle servisler kapanıyorsa, accumulo-site.xml ve hadoop-env.sh içindeki bellek ayarlarını düşürmeyi deneyin veya sisteminize daha fazla RAM ekleyin.

* Port Çakışmaları:
* Eğer başka bir uygulama aynı portu kullanıyorsa (örneğin, 9000, 2181, 9995), bu durum Hadoop, ZooKeeper veya Accumulo servislerinin başlamasını engelleyebilir. netstat -tulnp | grep komutunu kullanarak portların durumunu kontrol edebilirsiniz.

Sonuç

Bu makalede, Apache Accumulo NoSQL veritabanının Ubuntu 14.04 işletim sistemi üzerine tek düğümlü (pseudo-distributed) modda nasıl kurulacağını adım adım ele aldık. Kurulum sürecinde Apache Hadoop (HDFS ve YARN) ve Apache ZooKeeper gibi temel bağımlılıkların nasıl yapılandırılacağını detaylı bir şekilde gösterdik. Accumulo’nun güçlü hücre düzeyinde güvenlik özellikleri ve dağıtık mimarisi, onu büyük veri uygulamaları için cazip bir seçenek haline getirmektedir.

Başarılı bir kurulumun ardından, Accumulo kabuğu aracılığıyla veritabanıyla etkileşime geçme ve temel komutları kullanma yeteneği kazandınız. Bu kurulum, bir geliştirme veya test ortamı için sağlam bir temel oluşturmaktadır. Üretim ortamları için ise, çok düğümlü bir küme kurulumu, daha fazla güvenlik önlemi ve performans optimizasyonları gerekecektir.

Apache Accumulo’nun sunduğu ölçeklenebilirlik, esneklik ve güvenlik yetenekleri, özellikle büyük ve hassas veri setleriyle çalışan kurumlar için değerli bir araçtır. Bu rehber, Accumulo dünyasına adım atmanız için gerekli bilgi ve pratik adımları sağlamıştır. Artık Accumulo’nun sunduğu olanakları keşfetmeye ve kendi büyük veri çözümlerinizi oluşturmaya hazırsınız.

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Gönder

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.
Exit mobile version