Takip et

Solr 5.2.1’i Ubuntu 14.04 Üzerine Kurulum Rehberi

Solr 5.2.1’i Ubuntu 14.04 Üzerine Kurulum Rehberi Giriş Solr, Apache Lucene arama kütüphanesi üzerine inşa edilmiş, açık kaynaklı, yüksek

Solr 5.2.1’i Ubuntu 14.04 Üzerine Kurulum Rehberi

Giriş

Solr, Apache Lucene arama kütüphanesi üzerine inşa edilmiş, açık kaynaklı, yüksek performanslı bir arama platformudur. RESTful API’leri, güçlü tam metin arama yetenekleri, dinamik kümeleme, veritabanı entegrasyonu ve zengin doküman işleme özellikleriyle bilinir. Büyük veri kümeleri üzerinde hızlı ve ölçeklenebilir arama çözümleri sunar. E-ticaret sitelerinden kurumsal arama motorlarına kadar geniş bir kullanım alanına sahiptir. Bu makalede, Apache Solr’un 5.2.1 sürümünü Ubuntu 14.04 işletim sistemi üzerine adım adım nasıl kuracağınızı ve yapılandıracağınızı detaylı bir şekilde anlatacağız. Ubuntu 14.04, eski bir sürüm olmasına rağmen, bazı kurumsal veya özel projelerde hala kullanılıyor olabilir. Bu rehber, bu özel ortam için tasarlanmıştır ve Solr 5.2.1’in bu platformda sorunsuz bir şekilde çalışmasını sağlamayı amaçlamaktadır.

Solr 5.2.1, Solr’un önemli bir sürümüdür ve o dönemde birçok yenilik ve iyileştirme getirmiştir. Özellikle tek komutla kurulum kolaylığı sağlayan install_solr_service.sh betiği bu sürümle birlikte popüler hale gelmiştir. Ubuntu 14.04 ise uzun süreli destek (LTS) sunan bir işletim sistemi olup, kararlılığı ve yaygın kullanımı nedeniyle birçok sunucu ortamında tercih edilmiştir. Bu iki bileşenin bir araya getirilmesi, belirli projeler için hala geçerli ve önemli bir kombinasyon olabilir.

Kurulum sürecinde, Solr’un Java tabanlı bir uygulama olması nedeniyle öncelikle uyumlu bir Java Geliştirme Kiti (JDK) kurmamız gerekecektir. Ardından, Solr’un kendisini indirip, güvenlik ve performans en iyi uygulamalarını göz önünde bulundurarak bir sistem servisi olarak yapılandıracağız. Son olarak, Solr arayüzüne erişimi doğrulayacak ve temel bir koleksiyon oluşturma adımlarını ele alacağız. Bu rehber, Solr’u üretim ortamında çalıştırmak için gerekli temel adımları ve yapılandırmaları içermektedir.

Ön Gereksinimler

Solr 5.2.1’i Ubuntu 14.04 üzerine kurmaya başlamadan önce, aşağıdaki ön gereksinimlerin karşılandığından emin olmalısınız:

* Ubuntu 14.04 Sunucusu: Kurulumu yapacağınız bir Ubuntu 14.04 işletim sistemine sahip bir sunucuya veya sanal makineye erişiminiz olmalıdır.
* Sudo Yetkileri: Kurulum adımlarının çoğu root yetkileri gerektirecektir. sudo komutunu kullanabilen bir kullanıcı hesabınız olmalıdır.
* İnternet Bağlantısı: Gerekli paketleri ve Solr dosyalarını indirmek için sunucunuzun internet bağlantısı olmalıdır.
* Java Geliştirme Kiti (JDK): Solr bir Java uygulaması olduğundan, sunucunuzda Java 7 veya Java 8 JDK kurulu olmalıdır. Solr 5.2.1, bu sürümlerle uyumlu çalışır.
* Temel Linux Bilgisi: Komut satırı kullanımı, dosya sisteminde gezinme ve temel metin düzenleyicileri (nano, vim) hakkında bilgi sahibi olmak faydalı olacaktır.
* Minimum Donanım: Solr’un performanslı çalışması için yeterli CPU, RAM ve disk alanı gereklidir. Geliştirme ortamları için 2GB RAM ve 2 CPU yeterli olabilirken, üretim ortamları için bu değerler veri hacmine ve sorgu yoğunluğuna göre artırılmalıdır.

Bu ön gereksinimleri kontrol ettikten sonra kuruluma başlayabiliriz.

Sistemi Güncelleme

Herhangi bir yazılım kurulumuna başlamadan önce, işletim sisteminizin paket listelerini güncellemek ve mevcut paketleri en son sürümlerine yükseltmek iyi bir uygulamadır. Bu, potansiyel bağımlılık sorunlarını önlemeye yardımcı olur ve sistemin güncel güvenlik yamalarına sahip olmasını sağlar.

Terminali açın ve aşağıdaki komutları çalıştırın:

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

sudo apt-get update komutu, yerel paket indeksinizi günceller, böylece sisteminiz mevcut en son paket sürümleri hakkında bilgi sahibi olur. sudo apt-get upgrade -y komutu ise, indirilen paket listesine göre kurulu tüm paketleri yükseltir. -y bayrağı, tüm sorulara otomatik olarak “evet” yanıtı verilmesini sağlar, böylece yükseltme işlemi kesintisiz devam eder. Bu işlem, sunucunuzun internet bağlantı hızına ve kurulu paket sayısına bağlı olarak biraz zaman alabilir.

Java Kurulumu

Solr, Java Runtime Environment (JRE) üzerinde çalışır ve Solr 5.2.1 için Java 7 veya Java 8 JDK gereklidir. Ubuntu 14.04, varsayılan olarak OpenJDK 7’yi kolayca kurmanıza olanak tanır. Bu bölümde OpenJDK 7’yi kuracağız ve JAVA_HOME ortam değişkenini ayarlayacağız.

Öncelikle, sisteminizde Java’nın kurulu olup olmadığını ve hangi sürümün çalıştığını kontrol edelim:

java -version

Eğer Java kurulu değilse veya uyumsuz bir sürümse, aşağıdaki adımlarla OpenJDK 7’yi kurabiliriz:

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

Bu komut, OpenJDK 7 JDK paketini ve gerekli bağımlılıklarını sisteminize kuracaktır. Kurulum tamamlandıktan sonra, Java sürümünü tekrar kontrol ederek doğru bir şekilde kurulduğundan emin olun:

java -version

Çıktı aşağıdaki gibi bir şey olmalıdır (sürüm numaraları farklılık gösterebilir):

java version "1.7.0_XX"
OpenJDK Runtime Environment (build 1.7.0_XX-bXX)
OpenJDK 64-Bit Server VM (build 24.XX-bXX, mixed mode)

Şimdi, Solr’un Java’yı bulabilmesi için JAVA_HOME ortam değişkenini ayarlamamız gerekiyor. Bu değişkeni sistem genelinde /etc/environment dosyasına eklemek en iyi yöntemdir.

sudo nano /etc/environment

Dosyanın sonuna aşağıdaki satırı ekleyin (OpenJDK 7’nin varsayılan kurulum yolu):

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

Eğer farklı bir Java sürümü veya yolu kullandıysanız, buna göre ayarlayın. Değişiklikleri kaydedin (Ctrl+O, Enter) ve dosyadan çıkın (Ctrl+X).

Değişikliklerin etkili olması için oturumu yeniden yükleyin veya aşağıdaki komutu çalıştırın:

source /etc/environment

JAVA_HOME değişkeninin doğru ayarlandığını doğrulamak için:

echo $JAVA_HOME

Çıktı olarak /usr/lib/jvm/java-7-openjdk-amd64 yolunu görmelisiniz.

Solr İndirme

Solr’u kurmak için öncelikle Solr 5.2.1’in sıkıştırılmış arşiv dosyasını indirmemiz gerekiyor. Bu dosyayı Apache Solr’un resmi arşivlerinden temin edebiliriz. Genellikle /opt dizini, isteğe bağlı yazılımlar için kullanılır, ancak dosyayı geçici olarak /tmp dizinine de indirebiliriz.

Öncelikle, wget aracının kurulu olduğundan emin olun. Kurulu değilse:

sudo apt-get install wget -y

Şimdi Solr 5.2.1 tarball dosyasını indirelim. Apache Solr’un arşiv sunucusundan ilgili sürümü bulup indirme linkini kullanmalıyız.

wget http://archive.apache.org/dist/lucene/solr/5.2.1/solr-5.2.1.tgz -P /opt/

Bu komut, solr-5.2.1.tgz dosyasını /opt/ dizinine indirecektir. İndirme işlemi, internet bağlantınızın hızına bağlı olarak birkaç dakika sürebilir.

İndirme tamamlandıktan sonra, dosyanın varlığını kontrol edebilirsiniz:

ls -l /opt/solr-5.2.1.tgz

Bu, dosyanın başarıyla indirildiğini doğrulamalıdır.

Geçici Çıkartma ve Kurulum Scriptine Erişim

Solr 5.x ve sonraki sürümler, kurulum sürecini büyük ölçüde basitleştiren install_solr_service.sh adında bir betik ile birlikte gelir. Bu betik, Solr’u bir sistem servisi olarak kurar, gerekli dizinleri oluşturur, bir Solr kullanıcısı atar ve başlatma/durdurma betiklerini yapılandırır. Bu betiği çalıştırmak için, indirdiğimiz solr-5.2.1.tgz dosyasını geçici olarak bir dizine çıkarmamız gerekmektedir.

İndirdiğimiz tarball dosyasını /opt dizinine indirdiğimizi varsayarak, şimdi bu dosyayı geçici bir dizine (örneğin /tmp/solr-install) çıkaralım:

sudo mkdir -p /tmp/solr-install
sudo tar -xzf /opt/solr-5.2.1.tgz -C /tmp/solr-install --strip-components=1

Bu komutlar:
* /tmp/solr-install adında yeni bir dizin oluşturur.
* /opt/solr-5.2.1.tgz dosyasını bu yeni dizine çıkarır.
* --strip-components=1 bayrağı, tarball içindeki en üst seviye dizini (yani solr-5.2.1/) kaldırır, böylece içeriği doğrudan /tmp/solr-install altına yerleşir.

Şimdi, Solr’un kurulum betiğine erişebiliriz:

ls /tmp/solr-install/bin/install_solr_service.sh

Bu dosyanın varlığını doğruladıktan sonra, Solr servisini kurmak için bu betiği kullanmaya hazırız.

Solr Servisini Kurma

Solr’un install_solr_service.sh betiği, Solr’u bir init.d servisi olarak kurmak için tasarlanmıştır. Bu betik, Solr için ayrı bir kullanıcı oluşturur, gerekli dizinleri ayarlar, izinleri yapılandırır ve Solr’u sistem başlangıcında otomatik olarak başlatılacak şekilde ayarlar. Ubuntu 14.04, init.d sistemini kullandığı için bu betik sorunsuz çalışacaktır.

Şimdi, Solr kurulum betiğini çalıştıralım. Betiğe, indirdiğimiz Solr tarball dosyasının yolunu ve kurulumla ilgili tercih ettiğimiz parametreleri sağlamamız gerekecek.

sudo /tmp/solr-install/bin/install_solr_service.sh /opt/solr-5.2.1.tgz -i /opt/solr -d /var/solr -u solr -s /etc/default/solr.in.sh -p 8983

Bu komut ve parametrelerinin açıklaması:

* /tmp/solr-install/bin/install_solr_service.sh: Çalıştırılacak olan kurulum betiğinin yolu.
* /opt/solr-5.2.1.tgz: Kurulum betiğinin kullanacağı Solr tarball dosyasının yolu. Betik, bu dosyayı kullanarak Solr’u belirtilen dizine tekrar çıkaracaktır.
* -i /opt/solr: Solr’un ana kurulum dizini. Tüm Solr dosyaları bu dizine yerleştirilecektir.
* -d /var/solr: Solr veri dizini. Koleksiyonlar, indeksler ve diğer çalışma zamanı verileri bu dizinde saklanacaktır. /var/solr varsayılan ve önerilen bir yoldur.
* -u solr: Solr’un çalışacağı sistem kullanıcısı. Betik, bu kullanıcıyı otomatik olarak oluşturur (eğer yoksa) ve gerekli dosya izinlerini ayarlar. Bu, güvenlik açısından önemlidir, Solr’u root kullanıcısı olarak çalıştırmaktan kaçınılmalıdır.
* -s /etc/default/solr.in.sh: Solr başlatma ayarlarının saklanacağı dosya. Bu dosya, Java bellek ayarları, port numarası ve diğer önemli yapılandırma parametrelerini içerecektir.
* -p 8983: Solr’un dinleyeceği port numarası. Varsayılan Solr portu 8983’tür.

Betik çalışırken, aşağıdaki gibi bir çıktı görmelisiniz:

Creating new user: solr
Adding system user 'solr' (UID 113) ...
Adding new group 'solr' (GID 117) ...
Adding new user 'solr' (UID 113) with group 'solr' ...
Not creating home directory.
Extracted Solr to /opt/solr
Installing /etc/init.d/solr service script
Installing /etc/default/solr.in.sh configuration file
Service solr installed.
Customize Solr startup configuration in /etc/default/solr.in.sh

Bu çıktı, Solr’un başarıyla kurulduğunu ve bir sistem servisi olarak yapılandırıldığını gösterir. Artık geçici olarak çıkardığımız Solr dosyalarını silebiliriz:

sudo rm -rf /tmp/solr-install

Solr Yapılandırması

Solr servisi kurulduktan sonra, performans ve güvenlik ayarlarını optimize etmek için Solr’un yapılandırma dosyasını düzenlememiz gerekecektir. Kurulum betiği tarafından oluşturulan /etc/default/solr.in.sh dosyası, Solr’un başlatma ayarlarını içerir.

Bu dosyayı bir metin düzenleyici ile açın:

sudo nano /etc/default/solr.in.sh

Bu dosya içinde ayarlayabileceğiniz önemli parametreler şunlardır:

* SOLR_HEAP: Solr’un kullanacağı Java Sanal Makinesi (JVM) heap belleğini tanımlar. Bu, Solr performansını doğrudan etkileyen en kritik ayarlardan biridir. Sunucunuzdaki kullanılabilir RAM miktarına ve Solr’un yükleneceği veri miktarına göre bu değeri ayarlamalısınız. Örneğin, 4GB RAM’li bir sunucuda 2GB ayırmak makul olabilir (SOLR_HEAP="2g"). Geliştirme ortamları için 512m veya 1g yeterli olabilir.

SOLR_HEAP="1g" # Örnek: 1 Gigabayt RAM ayır

* SOLR_PORT: Solr’un gelen bağlantıları dinleyeceği TCP port numarası. Varsayılan olarak 8983’tür. Eğer bu port başka bir servis tarafından kullanılıyorsa veya güvenlik nedeniyle farklı bir port kullanmak istiyorsanız buradan değiştirebilirsiniz.

SOLR_PORT="8983"

* SOLR_JAVA_MEM: Bu parametre Solr 5.x için daha eski bir bellek ayarı yöntemidir. SOLR_HEAP varken genellikle kullanılmaz, ancak eski konfigürasyonlarda görülebilir. SOLR_HEAP kullanılıyorsa bu satırı yorum satırı yapın veya boş bırakın.

* SOLR_LOGS_DIR: Solr log dosyalarının saklanacağı dizin. Varsayılan olarak /var/solr/logs olarak ayarlanır ve genellikle bu şekilde bırakılır.

SOLR_LOGS_DIR="/var/solr/logs"

* SOLR_HOME: Solr’un ana çalışma dizini. Bu dizin altında koleksiyonlar ve onların yapılandırmaları bulunur. Kurulum betiği bunu /var/solr/data olarak ayarlamış olmalıdır.

SOLR_HOME="/var/solr/data"

* JAVA_HOME: Java kurulum dizininin yolu. Daha önce /etc/environment dosyasına eklemiştik. Betik genellikle bunu otomatik olarak algılar veya bu dosyadan çeker. Ancak, emin olmak için buraya da ekleyebilirsiniz, özellikle birden fazla Java sürümü yüklüyse.

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

Değişiklikleri yaptıktan sonra dosyayı kaydedin (Ctrl+O, Enter) ve kapatın (Ctrl+X).

Solr Servisini Başlatma ve Otomatik Başlatmayı Ayarlama

Yapılandırma tamamlandıktan sonra, Solr servisini başlatabilir ve sistem başlangıcında otomatik olarak başlaması için ayarlayabiliriz.

Solr servisini başlatmak için:

sudo service solr start

Solr’un durumunu kontrol etmek için:

sudo service solr status

Eğer her şey yolundaysa, çıktı aşağıdaki gibi bir şey olmalıdır:

Solr running on port 8983 (pid 12345)

Bu, Solr’un başarıyla başlatıldığını ve belirtilen portta çalıştığını gösterir.

Şimdi, Solr’un sunucu her yeniden başlatıldığında otomatik olarak başlamasını sağlayalım. Ubuntu 14.04, init.d sistemini kullandığı için update-rc.d komutunu kullanacağız:

sudo update-rc.d solr defaults

Bu komut, Solr servisini sistemin başlangıç betiklerine ekler. Artık sunucunuz yeniden başlatıldığında Solr otomatik olarak başlayacaktır.

Solr Arayüzüne Erişim

Solr servisi başarıyla başlatıldıktan sonra, Solr Admin UI’ye bir web tarayıcısı üzerinden erişerek kurulumu doğrulayabiliriz.

Web tarayıcınızı açın ve aşağıdaki adrese gidin:

http://your_server_ip:8983/solr/

your_server_ip yerine sunucunuzun IP adresini veya alan adını yazmalısınız. Eğer Solr’u yerel makinenizde kurduysanız http://localhost:8983/solr/ adresini kullanabilirsiniz.

Eğer her şey doğru kurulduysa, Solr Admin UI’nin ana sayfasını görmelisiniz. Bu arayüz, Solr’un durumunu izlemenize, koleksiyonları yönetmenize, sorgular çalıştırmanıza ve logları görüntülemenize olanak tanır. Sol taraftaki menüde “Core Admin” veya “Collection Admin” gibi seçenekleri görmelisiniz. Henüz bir koleksiyon oluşturmadığımız için “Core Admin” altında herhangi bir çekirdek listelenmeyecektir.

Eğer arayüze erişemiyorsanız:
* Güvenlik Duvarı: Sunucunuzda bir güvenlik duvarı (UFW gibi) çalışıyorsa, 8983 numaralı portun dışarıdan erişime açık olduğundan emin olun.
* Solr Durumu: sudo service solr status komutuyla Solr’un gerçekten çalıştığını doğrulayın.
* Port Çakışması: Solr’un dinlediği portun başka bir servis tarafından kullanılıp kullanılmadığını kontrol edin.

İlk Koleksiyon Oluşturma

Solr, verileri “koleksiyonlar” (veya Solr’un eski sürümlerinde “çekirdekler”) içinde depolar. Bir Solr kurulumu yaptıktan sonra, verilerinizi indekslemeye başlamak için en az bir koleksiyon oluşturmanız gerekir. Solr 5.x, koleksiyon oluşturmak için solr komut satırı aracını kullanmayı kolaylaştırır.

Aşağıdaki komutla my_collection adında yeni bir Solr koleksiyonu oluşturalım. Bu koleksiyon için Solr’un sağladığı basic_configs veya data_driven_schema_configs şablonunu kullanabiliriz. data_driven_schema_configs genellikle daha esnektir ve dinamik alanları destekler, bu nedenle genellikle tercih edilir.

sudo -u solr /opt/solr/bin/solr create -c my_collection -d data_driven_schema_configs

Bu komutun açıklaması:
* sudo -u solr: Komutu solr kullanıcısı olarak çalıştırır. Solr’un kendi kullanıcısı olarak koleksiyon oluşturmak, izin sorunlarını önler ve güvenlik açısından iyi bir uygulamadır.
* /opt/solr/bin/solr: Solr’un komut satırı aracının yolu.
* create: Yeni bir koleksiyon oluşturma komutu.
* -c my_collection: Oluşturulacak koleksiyonun adı. Buraya istediğiniz bir adı verebilirsiniz.
* -d data_driven_schema_configs: Koleksiyon için kullanılacak yapılandırma seti. Bu, Solr’un örnek yapılandırma şablonlarından biridir.

Komut başarıyla çalışırsa, aşağıdaki gibi bir çıktı görmelisiniz:

Created new core 'my_collection'

Artık Solr Admin UI’ye geri dönüp (tarayıcınızda sayfayı yenileyerek), sol taraftaki “Core Admin” veya “Collection Admin” menüsü altında my_collection‘ı listelenmiş olarak görmelisiniz. Buradan koleksiyonunuzun durumunu, şemasını ve diğer detaylarını inceleyebilirsiniz.

Bu adımla birlikte, Solr 5.2.1’i Ubuntu 14.04 üzerine başarıyla kurmuş ve ilk koleksiyonunuzu oluşturmuş oldunuz. Artık bu koleksiyona veri ekleyebilir, sorgular çalıştırabilir ve Solr’un güçlü arama yeteneklerinden faydalanabilirsiniz.

Ek Güvenlik ve Performans İpuçları

Solr kurulumunuzu üretim ortamında kullanmayı planlıyorsanız, güvenlik ve performans optimizasyonları kritik öneme sahiptir.

Güvenlik

1. Güvenlik Duvarı (UFW): Solr’un çalıştığı 8983 portuna sadece belirli IP adreslerinden veya yerel ağdan erişime izin verin. Dışarıdan doğrudan erişimi kısıtlamak, potansiyel güvenlik açıklarını azaltır.

sudo ufw enable # Eğer aktif değilse
    sudo ufw allow ssh # SSH bağlantısına izin ver
    sudo ufw allow from your_admin_ip to any port 8983 # Sadece belirli IP'den erişime izin ver
    sudo ufw deny 8983 # Diğer tüm erişimi engelle
    sudo ufw status verbose

2. Solr Admin UI Koruması: Solr Admin UI’nin herkese açık olmaması önemlidir. Nginx veya Apache gibi bir ters proxy kullanarak Admin UI’ye temel kimlik doğrulama (Basic Auth) ekleyebilirsiniz. Bu, kullanıcı adı ve şifre gerektiren ek bir güvenlik katmanı sağlar.

* Nginx ile Örnek:

server {
            listen 80;
            server_name solr.example.com;

            location /solr/ {
                auth_basic "Restricted Solr Admin";
                auth_basic_user_file /etc/nginx/.htpasswd; # .htpasswd dosyasını oluşturun
                proxy_pass http://localhost:8983/solr/;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;
            }
        }

.htpasswd dosyasını oluşturmak için sudo htpasswd -c /etc/nginx/.htpasswd solradmin komutunu kullanabilirsiniz.

3. Solr Kullanıcısı: Solr’u root kullanıcısı olarak çalıştırmayın. Kurulum betiğinin oluşturduğu solr kullanıcısı ile çalıştırmak, yetkisiz erişim durumunda sistemin zarar görme riskini azaltır.

4. Güncellemeler: Solr ve Java sürümlerini düzenli olarak güncelleyerek bilinen güvenlik açıklarından korunmaya çalışın. Ancak bu makale Solr 5.2.1 ve Ubuntu 14.04’e odaklandığı için, bu özel senaryoda güncelleme seçenekleri sınırlı olabilir.

Performans

1. Java Heap Ayarları (SOLR_HEAP): Bu, Solr performansını etkileyen en önemli ayardır. /etc/default/solr.in.sh dosyasındaki SOLR_HEAP değerini sunucunuzun fiziksel RAM’inin yaklaşık %50-70’i kadar ayarlayın (örneğin, 8GB RAM için 4g veya 6g). Çok fazla veya çok az bellek ayırmak performansı olumsuz etkileyebilir.

2. Solr Cache Ayarları: Solr’un sorgu önbelleği, filtre önbelleği ve doküman önbelleği gibi çeşitli önbellekleri vardır. Bu önbelleklerin boyutlarını ve davranışlarını solrconfig.xml dosyasında koleksiyon bazında ayarlayarak sorgu performansını büyük ölçüde artırabilirsiniz. Özellikle sık kullanılan sorgular ve filtreler için önbellekleri optimize etmek önemlidir.

3. Garbage Collection (Çöp Toplama) Ayarları: Java’nın çöp toplama mekanizması, Solr’un duraklamalarına neden olabilir. solr.in.sh dosyasındaki GC_TUNE parametresi ile farklı çöp toplama algoritmaları (örneğin, G1GC) ve ayarları kullanarak bu duraklamaları minimize edebilirsiniz.

GC_TUNE="-XX:+UseG1GC -XX:MaxGCPauseMillis=100 -XX:G1HeapRegionSize=8m"

4. SSD Kullanımı: Solr, disk I/O yoğun bir uygulama olduğundan, indeksleme ve sorgu performansı için SSD (Katı Hal Sürücüler) kullanmak büyük bir fark yaratacaktır.

5. ulimit Ayarları: Linux sistemlerinde, bir kullanıcının açabileceği maksimum dosya sayısı (nofile) ve işlem sayısı (nproc) limitleri bulunur. Solr gibi yoğun I/O kullanan uygulamalar için bu limitlerin yükseltilmesi gerekebilir. /etc/security/limits.conf dosyasına aşağıdaki satırları ekleyerek solr kullanıcısı için limitleri artırabilirsiniz:

solr soft nofile 65535
    solr hard nofile 65535
    solr soft nproc 32000
    solr hard nproc 32000

Bu değişikliklerin etkili olması için sunucuyu yeniden başlatmanız veya solr kullanıcısının oturumunu yeniden açmanız gerekebilir.

6. İşletim Sistemi Ayarları: Swappiness ayarı (çekirdeğin ne sıklıkla diske takas yapacağını belirler) gibi işletim sistemi düzeyindeki ayarlamaları optimize etmek de faydalı olabilir. Genellikle swappiness değerini düşük (örneğin 10) tutmak önerilir.

sudo sysctl vm.swappiness=10
    echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf

Bu güvenlik ve performans ipuçlarını uygulayarak Solr kurulumunuzu daha kararlı, hızlı ve güvenli hale getirebilirsiniz.

Sorun Giderme

Solr kurulumu veya çalışması sırasında karşılaşabileceğiniz bazı yaygın sorunlar ve bunların nasıl giderileceği aşağıda açıklanmıştır:

1. Solr Başlatılamıyor:
* Java Hatası: En yaygın sorunlardan biri Java kurulumuyla ilgilidir. JAVA_HOME ortam değişkeninin doğru ayarlandığından ve Solr’un beklediği Java sürümünün (Java 7 veya 8) yüklü olduğundan emin olun. java -version komutuyla Java sürümünü kontrol edin.
* Logları Kontrol Etme: Solr’un neden başlatılamadığını anlamak için log dosyalarını kontrol edin. Loglar genellikle /var/solr/logs/solr.log veya Solr’un kurulum dizini altındaki server/logs/solr.log konumunda bulunur.

tail -f /var/solr/logs/solr.log

Bu, en son log girdilerini gerçek zamanlı olarak gösterir ve hata mesajlarını yakalamanıza yardımcı olur.
* Port Çakışması: Solr’un dinlemeye çalıştığı 8983 portunun başka bir servis tarafından kullanılıp kullanılmadığını kontrol edin.

sudo netstat -tulpn | grep 8983

Eğer başka bir işlem bu portu kullanıyorsa, Solr’un yapılandırma dosyasında (/etc/default/solr.in.sh) SOLR_PORT değerini değiştirmeniz veya çakışan servisi durdurmanız gerekebilir.
* Dosya İzinleri: Solr kullanıcısının (solr) Solr kurulum dizini (/opt/solr) ve veri dizini (/var/solr) üzerinde gerekli okuma/yazma izinlerine sahip olduğundan emin olun. Kurulum betiği bunları otomatik olarak ayarlamalıdır, ancak manuel değişiklikler bu izinleri bozmuş olabilir.

sudo chown -R solr:solr /opt/solr
        sudo chown -R solr:solr /var/solr

2. Solr Admin UI’ye Erişilemiyor:
* Güvenlik Duvarı: Sunucunuzda bir güvenlik duvarı (UFW) çalışıyorsa, 8983 portunun dışarıdan erişime açık olduğundan emin olun.

sudo ufw status
        sudo ufw allow 8983/tcp

* Yanlış IP/Port: Tarayıcınızda doğru IP adresini veya alan adını ve port numarasını kullandığınızdan emin olun (http://your_server_ip:8983/solr/).
* Solr Servisi Çalışmıyor: sudo service solr status komutuyla Solr servisinin gerçekten çalıştığını doğrulayın.

3. Koleksiyon Oluşturma Hatası:
* Solr Kullanıcısı İzinleri: Koleksiyon oluştururken sudo -u solr komutunu kullandığınızdan emin olun. Solr kullanıcısının /var/solr veri dizinine yazma izni olması gerekir.
* Disk Alanı: Sunucunuzda yeterli disk alanı olup olmadığını kontrol edin.

4. Performans Sorunları:
* SOLR_HEAP: /etc/default/solr.in.sh dosyasındaki SOLR_HEAP değerinin sunucunuzun RAM’ine uygun şekilde ayarlandığından emin olun. Çok düşük bir değer, performans sorunlarına yol açabilirken, çok yüksek bir değer sistem kararlılığını etkileyebilir.
* Logları Kontrol Etme: Solr loglarında yavaş sorgular veya bellek dışı (OutOfMemory) hataları gibi performansla ilgili uyarıları arayın.
* ulimit: ulimit -n komutuyla solr kullanıcısının açık dosya limitini kontrol edin. Yetersiz limitler, yoğun yük altında sorunlara neden olabilir.

5. Ubuntu 14.04 Özel Sorunları:
* Eski Paketler: Ubuntu 14.04’ün bazı varsayılan paketleri eski olabilir. Java kurulumunda OpenJDK 7’nin doğru bir şekilde kurulduğundan emin olun.
* init.d: Ubuntu 14.04, systemd yerine init.d kullanır. Bu nedenle Solr servisini yönetmek için service solr start/stop/status ve otomatik başlatma için update-rc.d solr defaults komutlarını kullandığınızdan emin olun.

Bu sorun giderme adımları, çoğu yaygın kurulum ve çalışma zamanı sorununu çözmenize yardımcı olacaktır. Unutmayın ki log dosyaları, sorunları teşhis etmede en önemli kaynaktır.

Sonuç

Bu kapsamlı rehberde, Apache Solr 5.2.1’i Ubuntu 14.04 işletim sistemi üzerine adım adım nasıl kuracağınızı ve yapılandıracağınızı öğrendiniz. Kurulum sürecine başlamadan önce sistemin güncellenmesi ve Java 7 JDK’nın kurulması gibi ön gereksinimleri tamamladık. Ardından, Solr’un resmi install_solr_service.sh betiğini kullanarak Solr’u bir sistem servisi olarak kurduk, gerekli dizinleri, kullanıcıyı ve yapılandırma dosyasını otomatik olarak oluşturduk. Solr’un başlatma ayarlarını /etc/default/solr.in.sh dosyası üzerinden özelleştirdik ve Solr servisini başlatıp sistem başlangıcında otomatik çalışacak şekilde yapılandırdık. Son olarak, Solr Admin UI’ye erişerek kurulumu doğruladık ve ilk Solr koleksiyonumuzu oluşturduk.

Ayrıca, Solr kurulumunuzu üretim ortamında daha güvenli ve performanslı hale getirmek için çeşitli ek güvenlik önlemleri (güvenlik duvarı, Admin UI koruması) ve performans optimizasyon ipuçları (Java Heap ayarları, önbellekler, çöp toplama, ulimit) sunduk. Karşılaşabileceğiniz yaygın sorunlar için sorun giderme adımlarını da ele aldık.

Artık Solr 5.2.1 kurulumunuz çalışır durumda olduğuna göre, verilerinizi indekslemeye başlayabilir ve Solr’un güçlü arama özelliklerinden faydalanabilirsiniz. İleri adımlar olarak şunları düşünebilirsiniz:

* Veri İndeksleme: Solr’a farklı kaynaklardan (veritabanları, XML, JSON, CSV dosyaları vb.) veri aktarmak için Solr’un Data Import Handler (DIH) veya kendi uygulamanızdan REST API’lerini kullanmayı öğrenin.
* Gelişmiş Sorgulama: Solr’un tam metin arama, fasetleme, vurgulama, otomatik tamamlama ve öneri gibi gelişmiş sorgulama özelliklerini keşfedin.
* Şema Yönetimi: Koleksiyonlarınızın managed-schema dosyasını düzenleyerek alan tiplerini, analizörleri ve diğer şema ayarlarını ihtiyaçlarınıza göre optimize edin.
* Dağıtık Solr (SolrCloud): Büyük ölçekli uygulamalar için SolrCloud mimarisini kullanarak Solr’u kümelenmiş bir ortamda çalıştırmayı ve sharding ile replication özelliklerinden faydalanmayı araştırın.
* İzleme: Solr’un performansını ve durumunu izlemek için Prometheus, Grafana veya JMX gibi araçları entegre edin.

Bu rehberin, Solr 5.2.1’i Ubuntu 14.04 üzerine başarıyla kurmanız için size sağlam bir temel sağladığını umuyoruz. Solr’un sunduğu geniş yeteneklerle projelerinize güçlü arama çözümleri entegre etmeye 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