Ana içeriğe atla

Documentation Index

Fetch the complete documentation index at: https://docs.apinizer.com/llms.txt

Use this file to discover all available pages before exploring further.

Kuruluma Başlamadan Önce Yapılması Gereken Kontroller

Kurulum için ÖnemliKurulumun sağlıklı olması için sunucularının aşağıdaki adreslere erişmesi gerekmektedir.Elasticsearch kurulumunun yapılabilmesi için:
ÖnemliUbuntu paketleri güncellerken Türkiye lokasyonundaki sunucudan çekmeye çalışır. Ancak zaman zaman tr.archive.ubuntu.com adresinde sorun olabilmektedir. Bu durumda aşağıdaki değişikliği yapmak gerekir.
sudo vi /etc/apt/sources.list
#İçinde tr. olan adreslerin hepsini “Replace All” ile değiştirin.#Örnek:Eski: http://tr.archive.ubuntu.com/ubuntuYeni: http://archive.ubuntu.com/ubuntu

İşletim Sistemi Konfigürasyonları

Aşağıdaki adımlar tüm sunucularda yapılmalıdır.
# Elasticsearch kullanıcısı oluşturulur ve yetkilendirilir
sudo adduser elasticsearch
sudo usermod -aG sudo elasticsearch

# Kullanıcıya geçilerek işlemlere devam edilir
sudo su - elasticsearch

# Aşağıdaki araçların tüm sunucular üzerinde kurulu olması tavsiye edilmektedir
sudo apt update
sudo apt install -y curl wget net-tools gnupg2 software-properties-common apt-transport-https ca-certificates

# Güvenlik duvarı kapatılır
sudo systemctl stop ufw
sudo systemctl disable ufw

# Swap kapatılır ve yeniden başlamasının önlenmesi için /etc/fstab dosyası içindeki swap satırı silinir
sudo swapoff -a
sudo vi /etc/fstab
# Daha sonra vi dosyasını kapatılır (:wq)

Elasticsearch Kurulumu

İşletim Sistemi Konfigürasyonları ve Elasticsearch Uygulamasının Kurulması

Aşağıdaki adımlar tüm Elasticsearch sunucularında yapılmalıdır.
sudo vi /etc/security/limits.conf
elasticsearch - nofile 65535
elasticsearch soft memlock unlimited
elasticsearch hard memlock unlimited
sudo sysctl -w vm.swappiness=1
sudo sysctl -w vm.max_map_count=262144
sudo vi /etc/sysctl.conf
vm.max_map_count=262144
sudo sysctl -p
sudo sysctl vm.max_map_count

Elasticsearch Kurulumu

Aşağıdaki adımlar tüm Elasticsearch sunucularında yapılmalıdır.
sudo mkdir /opt/elasticsearch
cd /opt/elasticsearch
sudo wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.9.2-linux-x86_64.tar.gz
sudo tar -xzf elasticsearch-7.9.2-linux-x86_64.tar.gz
sudo chown -Rf elasticsearch:elasticsearch /opt/elasticsearch
sudo chmod -Rf 775 /opt/elasticsearch

##Bu noktada uygun diskin nerede mount edilmiş olduğuna dikkat edin veya sistem yöneticilerine diski aşağıdaki path'e eklemelerini söyleyin
#Bu kontrol için aşağıdaki komutlar kullanılabilir
df -h
lsblk

sudo mkdir /mnt/elastic-data/
sudo mkdir /mnt/elastic-snapdata/
sudo chown -Rf elasticsearch:elasticsearch /mnt/elastic-*
sudo chmod -Rf 775 /mnt/elastic-*

Elasticsearch Parametrelerinin Ortama Göre Ayarlanması

Aşağıdaki adımlar tüm Elasticsearch sunucularında yapılmalıdır.
Aşağıdaki parametrelerin kendi ortamınıza uygun olarak ayarlanarak eklenmesi gerekmektedir.
  • cluster.initial_master_nodes
  • network.host
  • node.name
sudo vi /opt/elasticsearch/elasticsearch-7.9.2/config/elasticsearch.yml
ÖnemliBurada path.data ve path.repo adresinin bir önceki maddeye uygun olarak sistemdeki log dosyanızın tutulacağı diskin adresi olarak verilmesi gerekmektedir.
cluster.name: ApinizerEsCluster
node.name: "<ELASTICSEARCH_IP_ADDRESS>"
node.master: true
node.data: true
network.host: <ELASTICSEARCH_IP_ADDRESS>
http.port: 9200
cluster.initial_master_nodes: ["<ELASTICSEARCH_IP_ADDRESS>"]
discovery.seed_hosts: []
path.data: /mnt/elastic-data/
path.repo: ["/mnt/elastic-snapdata"]
bootstrap.memory_lock: true
http.cors.enabled : true
http.cors.allow-origin : "*"
http.cors.allow-methods : OPTIONS, HEAD, GET, POST, PUT, DELETE
http.cors.allow-headers : X-Requested-With,X-Auth-Token,Content-Type, Content-Length
Elasticseach’ün kullanacağı JVM (Java Sanal Makinesi) değerleri ve diğer JVM parametrelerini aşağıdaki gibi ayarlayabilirsiniz.
sudo vi /opt/elasticsearch/elasticsearch-7.9.2/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
-Xms8g
-Xmx8g

Elasticsearch’i Linux Service Olarak Ayarlama

Aşağıdaki adımlar tüm Elasticsearch sunucularında yapılmalıdır.
sudo vi /opt/elasticsearch/elasticsearch-7.9.2/bin/elasticsearch-service.sh
#!/bin/sh
SERVICE_NAME=elasticsearch
PATH_TO_APP="/opt/elasticsearch/elasticsearch-7.9.2/bin/$SERVICE_NAME"
PID_PATH_NAME="/opt/elasticsearch/elasticsearch-7.9.2/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
sudo chmod -Rf 775 /opt/elasticsearch/elasticsearch-7.9.2/*
sudo vi /etc/systemd/system/elasticsearch.service
[Unit]
Description=ElasticSearch Server
After=network.target
After=syslog.target

[Install]
WantedBy=multi-user.target

[Service]
Type=forking
ExecStart=/opt/elasticsearch/elasticsearch-7.9.2/bin/elasticsearch-service.sh start
ExecStop=/opt/elasticsearch/elasticsearch-7.9.2/bin/elasticsearch-service.sh stop
ExecReload=/opt/elasticsearch/elasticsearch-7.9.2/bin/elasticsearch-service.sh restart
LimitNOFILE=65536
LimitMEMLOCK=infinity
User=elasticsearch
sudo systemctl daemon-reload
sudo systemctl start elasticsearch
sudo systemctl status elasticsearch
sudo systemctl enable elasticsearch
Uyumlu Kibana versiyonu için aşağıdaki linki kullanabilirsiniz.
https://www.elastic.co/downloads/past-releases/kibana-oss-7-9-2