ElasticSearch 鏡像 & 安裝 & 簡易集群


ES鏡像

https://mirrors.huaweicloud.com/elasticsearch/6.8.5/
https://mirrors.huaweicloud.com/kibana/6.8.5/
  • ES下載中心
https://elasticsearch.cn/download/
找到對應版本名字,拼域名下載
wget https://elasticsearch.thans.cn/downloads/elasticsearch/elasticsearch-5.6.16.tar.gz

JDK鏡像

清華大學開源鏡像庫

https://mirrors.tuna.tsinghua.edu.cn/AdoptOpenJDK/

華為

https://mirrors.huaweicloud.com/java/jdk/

安裝

安裝環境:Vmware Centos7.4 jdk8 elasticsearch 5.1.1

1. 安裝JDK

export JAVA_HOME=/opt/software/jdk1.8.0_201  #jdk安裝目錄
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}

2. 解壓安裝ES

tar zxf  elasticsearch-5.1.1.tar.gz -C /opt/software/

3. 配置

3.1 修改配置文件

vim /opt/software/elasticsearch-5.1.1/config/elasticsearch.yml

# 方便管理,自定義了數據和日志目錄
path.data: /opt/software/elasticsearch-5.1.1/data
path.data: /opt/software/elasticsearch-5.1.1/data

# 0.0.0.0為所有人可訪問,默認只能本機器訪問
network.host: 0.0.0.0

3.2 修改jvm參數,調小java內存,安裝的環境是虛擬機,提供不了內存

vim /opt/software/elasticsearch-5.1.1/config/jvm.options
-Xms256m
-Xmx256m

4. 新建用戶

4.1 新建ES用戶(5.0以后,只能用非root用戶啟動)

groupadd es
useradd es -g es

4.2 文件改用戶

[root@localhost ~]# chown -R es:es /opt/software/elasticsearch-5.1.1
[root@localhost ~]# ll /opt/software/
total 0
drwxr-xr-x. 9 es es  155 May  1 06:06 elasticsearch-5.1.1
drwxr-xr-x. 7 10 143 245 Dec 16  2018 jdk1.8.0_201

5. 啟動

切換到es用戶,啟動

[root@localhost ~]# cd /opt/software/elasticsearch-5.1.1/
[root@localhost elasticsearch-5.1.1]# su es
[es@localhost elasticsearch-5.1.1]$ bin/elasticsearch

成功后可以查看

curl localhost:9200

{
"name": "node1",
"cluster_name": "baby-application",
"cluster_uuid": "UH40FdtFSr-DDfRv4AEZeA",
"version": {
"number": "5.1.1",
"build_hash": "5395e21",
"build_date": "2016-12-06T12:36:15.409Z",
"build_snapshot": false,
"lucene_version": "6.3.0"
},
"tagline": "You Know, for Search"
}

不出意外會報錯。。。下面是踩坑

踩坑

1. root啟用報錯

[root@localhost elasticsearch-5.1.1]# bin/elasticsearch
[2020-05-01T06:30:12,140][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [node1] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:125) ~[elasticsearch-5.1.1.jar:5.1.1]
	at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:112) ~[elasticsearch-5.1.1.jar:5.1.1]
	at org.elasticsearch.cli.SettingCommand.execute(SettingCommand.java:54) ~[elasticsearch-5.1.1.jar:5.1.1]
	at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:96) ~[elasticsearch-5.1.1.jar:5.1.1]
	at org.elasticsearch.cli.Command.main(Command.java:62) ~[elasticsearch-5.1.1.jar:5.1.1]
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:89) ~[elasticsearch-5.1.1.jar:5.1.1]
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:82) ~[elasticsearch-5.1.1.jar:5.1.1]
Caused by: java.lang.RuntimeException: can not run elasticsearch as root
	at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:100) ~[elasticsearch-5.1.1.jar:5.1.1]
	at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:176) ~[elasticsearch-5.1.1.jar:5.1.1]
	at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:306) ~[elasticsearch-5.1.1.jar:5.1.1]
	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:121) ~[elasticsearch-5.1.1.jar:5.1.1]
	... 6 more
[root@localhost elasticsearch-5.1.1]# 

提示很明顯,要用非root用戶啟動

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

2.1 打開文件數有限制,報錯如下

[2020-05-01T06:34:04,496][INFO ][o.e.n.Node               ] [node1] starting ...
[2020-05-01T06:34:04,608][INFO ][o.e.t.TransportService   ] [node1] publish_address {192.168.1.200:9300}, bound_addresses {[::]:9300}
[2020-05-01T06:34:04,613][INFO ][o.e.b.BootstrapCheck     ] [node1] bound or publishing to a non-loopback or non-link-local address, enforcing bootstrap checks
ERROR: bootstrap checks failed
max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
[2020-05-01T06:34:04,629][INFO ][o.e.n.Node               ] [node1] stopping ...
[2020-05-01T06:34:04,670][INFO ][o.e.n.Node               ] [node1] stopped
[2020-05-01T06:34:04,670][INFO ][o.e.n.Node               ] [node1] closing ...
[2020-05-01T06:34:04,687][INFO ][o.e.n.Node               ] [node1] closed

2.2 修改配置,在文件末尾,End of File之前,End of File之前, End of File 之前加入配置信息,給啟動es用戶,調大數量。

[root@localhost elasticsearch-5.1.1]# vim /etc/security/limits.conf
#@student        -       maxlogins       4

es               soft    nofile           655350
es               hard    nofile           655350

# End of file

3. max virtual memory areas vm.max_map_count [2048] is too low, increase to at least [262144]

[es@localhost elasticsearch-5.1.1]$ bin/elasticsearch
[2020-05-01T06:38:18,677][INFO ][o.e.n.Node               ] [node1] initializing ...
[2020-05-01T06:38:18,734][INFO ][o.e.e.NodeEnvironment    ] [node1] using [1] data paths, mounts [[/ (rootfs)]], net usable_space [24.5gb], net total_space [26.9gb], spins? [unknown], types [rootfs]
[2020-05-01T06:38:18,734][INFO ][o.e.e.NodeEnvironment    ] [node1] heap size [247.5mb], compressed ordinary object pointers [true]
[2020-05-01T06:38:18,735][INFO ][o.e.n.Node               ] [node1] node name [node1], node ID [mY1O__gESOiyAFBcJOh9eA]
[2020-05-01T06:38:18,737][INFO ][o.e.n.Node               ] [node1] version[5.1.1], pid[2150], build[5395e21/2016-12-06T12:36:15.409Z], OS[Linux/3.10.0-693.el7.x86_64/amd64], JVM[Oracle Corporation/Java HotSpot(TM) 64-Bit Server VM/1.8.0_201/25.201-b09]
[2020-05-01T06:38:19,329][INFO ][o.e.p.PluginsService     ] [node1] loaded module [aggs-matrix-stats]
[2020-05-01T06:38:19,329][INFO ][o.e.p.PluginsService     ] [node1] loaded module [ingest-common]
[2020-05-01T06:38:19,330][INFO ][o.e.p.PluginsService     ] [node1] loaded module [lang-expression]
[2020-05-01T06:38:19,330][INFO ][o.e.p.PluginsService     ] [node1] loaded module [lang-groovy]
[2020-05-01T06:38:19,330][INFO ][o.e.p.PluginsService     ] [node1] loaded module [lang-mustache]
[2020-05-01T06:38:19,330][INFO ][o.e.p.PluginsService     ] [node1] loaded module [lang-painless]
[2020-05-01T06:38:19,331][INFO ][o.e.p.PluginsService     ] [node1] loaded module [percolator]
[2020-05-01T06:38:19,331][INFO ][o.e.p.PluginsService     ] [node1] loaded module [reindex]
[2020-05-01T06:38:19,332][INFO ][o.e.p.PluginsService     ] [node1] loaded module [transport-netty3]
[2020-05-01T06:38:19,332][INFO ][o.e.p.PluginsService     ] [node1] loaded module [transport-netty4]
[2020-05-01T06:38:19,333][INFO ][o.e.p.PluginsService     ] [node1] no plugins loaded
[2020-05-01T06:38:20,684][INFO ][o.e.n.Node               ] [node1] initialized
[2020-05-01T06:38:20,684][INFO ][o.e.n.Node               ] [node1] starting ...
[2020-05-01T06:38:20,788][INFO ][o.e.t.TransportService   ] [node1] publish_address {192.168.1.200:9300}, bound_addresses {[::]:9300}
[2020-05-01T06:38:20,792][INFO ][o.e.b.BootstrapCheck     ] [node1] bound or publishing to a non-loopback or non-link-local address, enforcing bootstrap checks
ERROR: bootstrap checks failed
max virtual memory areas vm.max_map_count [2048] is too low, increase to at least [262144]
[2020-05-01T06:38:20,808][INFO ][o.e.n.Node               ] [node1] stopping ...
[2020-05-01T06:38:20,852][INFO ][o.e.n.Node               ] [node1] stopped
[2020-05-01T06:38:20,852][INFO ][o.e.n.Node               ] [node1] closing ...
[2020-05-01T06:38:20,858][INFO ][o.e.n.Node               ] [node1] closed

調大vm.max_map_count

3.1 root用戶,編輯sysctl.conf

[root@localhost elasticsearch-5.1.1]# vim /etc/sysctl.conf

最后加入

vm.max_map_count=262144

3.2 刷新配置

[root@localhost elasticsearch-5.1.1]# sysctl -p
vm.max_map_count = 262144
[root@localhost elasticsearch-5.1.1]# 

集群搭建

在單節點成功的情況下

1. 修改yml

# nodename要保證不重復,例如node1,node2
node.name: node1
# 選其中一個節點為主節點
node.master: true

# 自動發現主機配置,填其余節點的信息
discovery.zen.ping.unicast.hosts: ["192.168.1.201"]

2. 啟動雙節點

成功后,可訪問

[root@localhost ~]# curl http://localhost:9200/_cluster/health?pretty
{
  "cluster_name" : "baby-application",
  "status" : "green",
  "timed_out" : false,
  "number_of_nodes" : 2,
  "number_of_data_nodes" : 2,
  "active_primary_shards" : 0,
  "active_shards" : 0,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 0,
  "delayed_unassigned_shards" : 0,
  "number_of_pending_tasks" : 0,
  "number_of_in_flight_fetch" : 0,
  "task_max_waiting_in_queue_millis" : 0,
  "active_shards_percent_as_number" : 100.0
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM