ElasticSearch7.x安裝與配置

安裝啓動

1.準備安裝包

elasticsearch-7.4.2-linux-x86_64.tar.gz

2.上傳至安裝目錄解壓

tar -zxvf /opt/elk/elasticsearch-7.4.2-linux-x86_64.tar.gz

3.創建elsearch用戶級用戶組

groupadd elsearch
useradd elsearch -g elsearch -p elasticsearch

4.更改elasticsearch文件夾及內部文件的所屬用戶及組爲elsearch:elsearch

cd /opt
chown -R elsearch:elsearch /opt/elk/elasticsearch-7.4.2

5.啓動命令

su elsearch ./bin/elasticsearch
su elsearch ./bin/elasticsearch -d # 後端啓動
su elsearch ./bin/elasticsearch & # 後端啓動

配置

1.簡單配置

## elasticsearch.yml
node.name: node-1
bootstrap.memory_lock: true
network.host: 0.0.0.0
discovery.seed_hosts: ["127.0.0.1", "[::1]"]
cluster.initial_master_nodes: ["node-1"]

## ./bin/elasticsearch
ES_JAVA_OPTS="-Xms8g -Xmx8g" # 內存一半

異常

ERROR: bootstrap checks failed memory locking requested for elasticsearch process but memory is not locked

解決

臨時解決方法:
ulimit -l unlimited
永久解決方法:root權限編輯/etc/security/limits.conf
 sudo vim /etc/security/limits.conf 添加
* soft memlock unlimited
* hard memlock unlimited


修改/etc/sysctl.conf
sudo echo "vm.swappiness=0" >> /etc/sysctl.conf
sudo echo "vm.max_map_count=655360" >> /etc/sysctl.conf

異常

max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]

解決

ulimit -n 查看
編輯  sudo vim /etc/security/limits.conf
添加
* soft nofile 65536
* hard nofile 65536
vim /etc/profile
添加 ulimit -SHn 65536
source /etc/profile
ulimit -n 查看

異常

ERROR: [1] bootstrap checks failed
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

解決

echo "vm.max_map_count=262144" > /etc/sysctl.conf
sysctl -p

異常

org.elasticsearch.bootstrap.StartupException: java.lang.IllegalArgumentException
        at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:163) ~[elasticsearch-7.4.2.jar:7.4.2]
        at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:150) ~[elasticsearch-7.4.2.jar:7.4.2]
        at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-7.4.2.jar:7.4.2]
        at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:125) ~[elasticsearch-cli-7.4.2.jar:7.4.2]
        at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-7.4.2.jar:7.4.2]
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:115) ~[elasticsearch-7.4.2.jar:7.4.2]
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:92) ~[elasticsearch-7.4.2.jar:7.4.2]
Caused by: java.lang.IllegalArgumentException
        at java.util.concurrent.ThreadPoolExecutor.<init>(ThreadPoolExecutor.java:1293) ~[?:?]
        at org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor.<init>(EsThreadPoolExecutor.java:57) ~[elasticsearch-7.4.2.jar:7.4.2]
        at org.elasticsearch.common.util.concurrent.EsExecutors.newScaling(EsExecutors.java:108) ~[elasticsearch-7.4.2.jar:7.4.2]
        at org.elasticsearch.threadpool.ScalingExecutorBuilder.build(ScalingExecutorBuilder.java:100) ~[elasticsearch-7.4.2.jar:7.4.2]
        at org.elasticsearch.threadpool.ScalingExecutorBuilder.build(ScalingExecutorBuilder.java:39) ~[elasticsearch-7.4.2.jar:7.4.2]
        at org.elasticsearch.threadpool.ThreadPool.<init>(ThreadPool.java:208) ~[elasticsearch-7.4.2.jar:7.4.2]
        at org.elasticsearch.node.Node.<init>(Node.java:330) ~[elasticsearch-7.4.2.jar:7.4.2]
        at org.elasticsearch.node.Node.<init>(Node.java:255) ~[elasticsearch-7.4.2.jar:7.4.2]
        at org.elasticsearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:221) ~[elasticsearch-7.4.2.jar:7.4.2]
        at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:221) ~[elasticsearch-7.4.2.jar:7.4.2]
        at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:349) ~[elasticsearch-7.4.2.jar:7.4.2]
        at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:159) ~[elasticsearch-7.4.2.jar:7.4.2]

解決

將參數thread_pool.flush.core 的值調小
thread_pool.flush.core: 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章