Kuruluma Başlamadan Önce Yapılması Gereken Kontroller
ÖnemliGüncelleme sırasında oluşabilecek sistemsel ya da kullanıcı kaynaklı hatalara karşı, işleme başlamadan önce ilgili sunucularda snapshot (yedek) alınmalıdır.
Yeni Elasticsearch Sürümünün İndirilmesi ve Hazırlanması
# Aşağıdaki adımlar güncellenecek Elasticsearch sunucusunda yapılmalıdır.
# Elasticsearch kullanıcısına geçilerek işlemlere devam edilir
sudo su - elasticsearch
cd /opt/elasticsearch
# Yeni Elasticsearch sürümünü indirin
sudo wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.29-linux-x86_64.tar.gz
# İndirilen dosyayı açın
sudo tar -xzf elasticsearch-7.17.29-linux-x86_64.tar.gz
# Dosya sahipliğini ve izinlerini ayarlayın
sudo chown -Rf elasticsearch:elasticsearch /opt/elasticsearch
sudo chmod -Rf 775 /opt/elasticsearch
Elasticsearch Parametrelerinin Ortama Göre Ayarlanması
1. Yapılandırma Dosyasının Kopyalanması
Mevcut elasticsearch.yml dosyasındaki bilgileri yeni sürüme kopyalamanız gerekir.
Mevcut yapılandırmayı görüntüleyin:
vi /opt/elasticsearch/elasticsearch-7.9.2/config/elasticsearch.yml
Yeni sürüm yapılandırma dosyasını düzenleyin:
vi /opt/elasticsearch/elasticsearch-7.17.29/config/elasticsearch.yml
Mevcut yapılandırma dosyasındaki içeriği yeni dosyaya kopyalayın.
Sertifika Dosyaları (Opsiyonel)Eğer mevcut Elasticsearch kurulumunuzda SSL/TLS sertifikaları kullanılıyorsa, bu sertifikaları yeni sürüme kopyalamanız gerekir. # Sertifika dizinini kontrol edin
ls -la /opt/elasticsearch/elasticsearch-7.9.2/config/certs/
# Eğer sertifika dosyaları varsa, yeni sürüme kopyalayın
sudo cp -r /opt/elasticsearch/elasticsearch-7.9.2/config/certs /opt/elasticsearch/elasticsearch-7.17.29/config/
# Dosya sahipliğini ayarlayın
sudo chown -Rf elasticsearch:elasticsearch /opt/elasticsearch/elasticsearch-7.17.29/config/certs
2. JVM Parametrelerinin Ayarlanması
Elasticsearch’ün kullanacağı JVM (Java Sanal Makinesi) değerleri ve diğer JVM parametrelerini mevcut elasticsearch’e göre ayarlamalısınız.
Mevcut JVM ayarlarını görüntüleyin:
sudo vi /opt/elasticsearch/elasticsearch-7.9.2/config/jvm.options
Yeni sürüm JVM ayarlarını düzenleyin:
sudo vi /opt/elasticsearch/elasticsearch-7.17.29/config/jvm.options
ÖnemliBurada işletim sisteminin sahip olduğu RAM miktarının yarısına kadar çıkılabilir ve bu değer 32GB’ı aşmamalıdır. Mevcut elasticsearch’ün kullandığı RAM değerine göre aşağıdaki gibi girilmelidir.
Elasticsearch’i Linux Service Olarak Ayarlama
1. Yeni Service Script Dosyasının Oluşturulması
Yeni Elasticsearch sürümü için service script dosyasını oluşturun:
sudo vi /opt/elasticsearch/elasticsearch-7.17.29/bin/elasticsearch-service.sh
Aşağıdaki içeriği dosyaya yapıştırın:
#!/bin/sh
SERVICE_NAME=elasticsearch
PATH_TO_APP="/opt/elasticsearch/elasticsearch-7.17.29/bin/$SERVICE_NAME"
PID_PATH_NAME="/opt/elasticsearch/elasticsearch-7.17.29/bin/$SERVICE_NAME.pid"
SCRIPTNAME=elasticsearch-service.sh
ES_USER=$SERVICE_NAME
ES_GROUP=$SERVICE_NAME
case $1 in
start)
echo "Starting $SERVICE_NAME ..."
if [ ! -f $PID_PATH_NAME ]; then
mkdir $(dirname $PID_PATH_NAME) > /dev/null 2>&1 || true
chown $ES_USER $(dirname $PID_PATH_NAME)
$SUDO $PATH_TO_APP -d -p $PID_PATH_NAME
echo "Return code: $?"
echo "$SERVICE_NAME started ..."
else
echo "$SERVICE_NAME is already running ..."
fi
;;
stop)
if [ -f $PID_PATH_NAME ]; then
PID=$(cat $PID_PATH_NAME);
echo "$SERVICE_NAME stopping ..."
kill -15 $PID;
echo "$SERVICE_NAME stopped ..."
rm $PID_PATH_NAME
else
echo "$SERVICE_NAME is not running ..."
fi
;;
restart)
if [ -f $PID_PATH_NAME ]; then
PID=$(cat $PID_PATH_NAME);
echo "$SERVICE_NAME stopping ...";
kill -15 $PID;
sleep 1;
echo "$SERVICE_NAME stopped ...";
rm -rf $PID_PATH_NAME
echo "$SERVICE_NAME starting ..."
mkdir $(dirname $PID_PATH_NAME) > /dev/null 2>&1 || true
chown $ES_USER $(dirname $PID_PATH_NAME)
$SUDO $PATH_TO_APP -d -p $PID_PATH_NAME
echo "$SERVICE_NAME started ..."
else
echo "$SERVICE_NAME is not running ..."
fi
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart}" >&2
exit 3
;;
esac
Script dosyasına çalıştırma izni verin:
sudo chmod +x /opt/elasticsearch/elasticsearch-7.17.29/bin/elasticsearch-service.sh
sudo chmod -Rf 775 /opt/elasticsearch/elasticsearch-7.17.29/*
2. Systemd Service Dosyasının Güncellenmesi
Önce mevcut Elasticsearch servisini durdurun:
sudo systemctl stop elasticsearch
Systemd service dosyasını yeni sürüm için güncelleyin:
sudo vi /etc/systemd/system/elasticsearch.service
Aşağıdaki içeriği dosyaya yazın:
[Unit]
Description=ElasticSearch Server
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
Type=forking
ExecStart=/opt/elasticsearch/elasticsearch-7.17.29/bin/elasticsearch-service.sh start
ExecStop=/opt/elasticsearch/elasticsearch-7.17.29/bin/elasticsearch-service.sh stop
ExecReload=/opt/elasticsearch/elasticsearch-7.17.29/bin/elasticsearch-service.sh restart
LimitNOFILE=65536
LimitMEMLOCK=infinity
User=elasticsearch
3. Yeni Elasticsearch Servisinin Başlatılması
# Systemd daemon'ı yeniden yükleyin
sudo systemctl daemon-reload
# Yeni Elasticsearch servisini başlatın
sudo systemctl start elasticsearch
# Servis durumunu kontrol edin
sudo systemctl status elasticsearch
# Sistemi açılışta otomatik başlaması için aktif edin
sudo systemctl enable elasticsearch