Elasticsearchの実際の戦闘クラスターのデプロイ(1)

1.説明:

java:1.8以上の
スタートアップユーザー:root以外のユーザー

2.環境への備え

1.システムカーネルパラメーターを変更します(/etc/sysctl.conf)

cat <<EOF>>  > /etc/sysctl.conf
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.ip_local_port_range = 10000 65000
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 5000
vm.overcommit_memory = 1
fs.file-max = 655350    #必须配置
vm.max_map_count = 655350   #必须配置
EOF

2.リソース制限構成ファイル(/etc/security/limits.conf)を変更します

echo "* soft noproc 20480"     >> /etc/security/limits.conf
echo "* hard noproc 20480"     >> /etc/security/limits.conf
echo "root soft nofile 655360" >> /etc/security/limits.conf
echo "root hard nofile 655360" >> /etc/security/limits.conf
echo "* soft nofile 65536"     >> /etc/security/limits.conf
echo "* hard nofile 65536"     >> /etc/security/limits.conf
echo "* - memlock unlimited"   >> /etc/security/limits.conf 

3.jdk1.8をインストールします

詳細については、java1.8のインストールを参照してください

3、クラスターをデプロイします

1. elasticsearchインストールパッケージ(バージョン6.5.1)をダウンロードします

cd /root
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.1.tar.gz

2.インストールディレクトリを作成して解凍します

mkdir -p /u01/isi/application
cd /root
tar -xf elasticsearch-6.5.1.tar.gz -C /u01/isi/application

3.esを実行するためのユーザーを作成します

groupadd isi
useradd -g isi isi

4. esデータディレクトリとログディレクトリを作成し、権限を付与します

cd /u01/isi/application
mkdir elasticsearch-6.5.1/{
    
    data,logs}
chown -R isi:isi elasticsearch-6.5.1

5.構成を変更します

1)メイン設定ファイル

cd /u01/isi/application/elasticsearch-6.5.1/config
cat elasticsearch.yml
...
cluster.name: my-cluster
node.name: 172.17.1.24
node.master: true 
node.data: true
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
discovery.zen.ping.unicast.hosts: ["172.17.1.23:9300","172.17.1.24:9300"]
discovery.zen.minimum_master_nodes: 2
http.cors.enabled: true
http.cors.allow-origin: "*"
...

ここに画像の説明を挿入
構成手順:

  1. cluster.name:クラスターの名前を参照します。クラスターの名前は一意である必要があります。ノードはクラスター名に従ってクラスターに追加されます。
  2. node.name:ノードの名前。簡単に識別できるようにカスタム名にすることができます。マスターはノードでもあることに注意してください。
  3. node.master:true / falseをクラスター内のマスターノードとして使用できます。
  4. node.data:true / falseはクラスター内のデータノードとして使用できます。
  5. node.ingest:falseの非データ前処理ノード。
  6. bootstrap.memory_lock:falseはメモリのロックを禁止します。jvmがスワップを開始するとesの効率が低下するため、スワップされないようにする必要がES_MIN_MEMあり、ES_MAX_MEM2つの環境変数同じ値に設定できます。esに十分なメモリが割り当てられています。同時に、elasticsearchプロセスでメモリをロックできるようにする必要があり、Linuxではulimit -lunlimitedコマンドを使用できます。
  7. bootstrap.system_call_filter:false#システムコールフィルターを無効にします。
  8. path.log:ノードのログ保存パス。
  9. path.data:ノードのデータストレージパス。
  10. network.host:network.bind_hostとpublish_hostのデフォルト値を設定します。ここで、127.0.0.1に設定すると、ホストIPとは異なります。0.0.0.0に設定すると、すべてのホストがこのマシンに接続できます。curl -XGET "http://network.host/9200"を使用して、結果を確認できます。
  11. transport.tcp.port:クラスター間のポート。
  12. http.port:ノードのサービスポート。
  13. Discovery.zen.ping.unicast.hosts:これはIPのセットであり、クラスターへの参加に使用されることを意味します。通常、クラスター内の通信用のポートであるip:portが使用されます。
  14. http.cors.enabled:trueは、ヘッドを開く構成です。
  15. http.cors.allow-origin: "*"はヘッドを開く構成です。
  16. xpack.ml.enabled:false X-Pack機械学習機能を無効にするには、falseに設定します。
  17. Gateway.recover_after_nodes:1。クラスター内のNノードが開始されたときにデータ回復を設定します。デフォルトは1です。
  18. Discovery.zen.minimum_master_nodes:1。このパラメーターを設定して、クラスター内のノードがマスターとして認定されている他のNノードを認識できるようにします。デフォルトは1です。大きなクラスターの場合は、より大きな値(2〜4)を設定できます。
  19. Discovery.zen.ping.unicast.hosts:["host1"、 "host2:port"]クラスター内のマスターノードの初期リストを設定します。これらのノードを使用して、クラスターに参加する新しいノードを自動的に検出できます。
  20. Discovery.zen.ping.multicast.enabled:falseマルチキャスト検出ノードを開くかどうかを設定します。デフォルトはtrueです。
  21. Discovery.zen.ping.timeout:3sクラスター内で他のノードが自動的に検出されるときのping接続タイムアウト時間を設定します。デフォルトは3秒です。ネットワーク環境が悪い場合は、自動検出中のエラーを防ぐために、より高い値を使用できます。

2)jvm構成

cd /u01/isi/application/elasticsearch-6.5.1/config
cat  jvm.options 
 ...
 -Xms16g
-Xmx16g
...

ここに画像の説明を挿入

7.サービスを開始します

su isi
cd /u01/isi/application/elasticsearch-6.5.1/
./elasticsearch -d

8.検証

ps -ef |grep elasticsearch
netstat -tanlp|grep 9200
curl http://127.0.0.1:9200

ここに画像の説明を挿入
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_44729138/article/details/106547450