1. 前期準備java
IP地址 | 操做系統 | 內存 |
192.168.1.10 | centos 7 | 16 |
192.168.1.11 | centos 7 | 16 |
192.168.1.12 | centos 7 | 16 |
192.168.1.13 | centos 7 | 16 |
官方下載地址:https://www.elastic.co/downloads/elasticsearch。 node
2. 安裝過程web
首先解壓安裝包,而後進入解壓程序文件夾。bootstrap
# 解壓安裝包
tar -xvf elasticsearch-5.4.0.tar;
# 進入解壓後的文件夾
cd elasticsearch-5.4.0
在elasticsearch的根目錄下啓動elasticsearch或者將elasticsearch作爲環境變量添加到/etc/profile中(相似於JAVA_HOME的配置),以下是在elasticsearch的根目錄下啓動的命令:centos
./bin/elasticsearch
若是是以root用戶登陸並執行的上述命令,則會看到以下所示的錯誤提示api
[root@localhost elasticsearch]# ./bin/elasticsearch [2017-06-26T18:31:30,940][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [node-1] 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:127) ~[elasticsearch-5.4.0.jar:5.4.0] at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:114) ~[elasticsearch-5.4.0.jar:5.4.0] at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:67) ~[elasticsearch-5.4.0.jar:5.4.0] at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:122) ~[elasticsearch-5.4.0.jar:5.4.0] at org.elasticsearch.cli.Command.main(Command.java:88) ~[elasticsearch-5.4.0.jar:5.4.0] at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91) ~[elasticsearch-5.4.0.jar:5.4.0] at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84) ~[elasticsearch-5.4.0.jar:5.4.0] Caused by: java.lang.RuntimeException: can not run elasticsearch as root at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:106) ~[elasticsearch-5.4.0.jar:5.4.0] at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:204) ~[elasticsearch-5.4.0.jar:5.4.0] at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:360) ~[elasticsearch-5.4.0.jar:5.4.0] at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:123) ~[elasticsearch-5.4.0.jar:5.4.0] ... 6 more [root@localhost elasticsearch]#
錯誤信息很明確,不能以root帳號來啓動elasticsearch。那麼就須要以一個團隊獨有的帳號(不建議使用我的帳號,我的脫離團隊可能致使任務運行出錯)。 建立用戶和用戶組的腳本以下:瀏覽器
# 建立用戶 es-user
useradd es-user
# 建立用戶組 es-group groupadd es-group
# 添加用戶es-user 到 es-group組 usermod -G es-group es-user
使用新建立的帳號啓動es,可能會遇到以下幾個問題。服務器
1. max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]
解決方案: 使用管理員角色編輯/etc/security/limits.conf文件,增長以下四條便可。網絡
* soft nofile 65536 * hard nofile 65536 * soft nproc 2048 * hard nproc 4096
2. max virtual memory areas vm.max_map_count[65530] is too low, increase to at least [262144]
解決方案: 使用管理員角色編輯/etc/sysctl.conf,增長以下命令便可。elasticsearch
vm.max_map_count=262144
3. memory locking requested for elasticsearch process but memory is not locked
解決方案: 使用管理員角色編輯/etc/security/limits.conf文件,增長以下兩條便可。
* soft memlock unlimited
* hard memlock unlimited
這樣就能正常的運行起單機版的elasticsearch,運行成功後,在本地的瀏覽器輸入http://localhost:9200 可以看到es的基本信息。在其餘服務器也能夠經過http://ip:9200來訪問。
單機版的elasticsearch安裝是否是挺簡單的^-^。
3. ElasticSearch 集羣安裝
集羣的安裝其實和單機的安裝是相似的。主要是配置文件(./config/elasticsearch.yml) 的調整,ElasticSearch可以根據配置信息自動發現集羣的其餘節點,並經過選舉的方式來推選主節點。
經常使用的配置信息:
配置上述配置信息後,將集羣的各個節點服務啓動便可構成集羣。單個節點的安裝見上述。
集羣啓動後,經過http://ip:9200/_cat/nodes 可以查看集羣的節點信息,其中 標記爲 * 的爲主節點。若是主節點掛掉,集羣會從新選舉產生新的主節點。
經過 http://ip:9200/_cat 能夠查看集羣的其餘信息,經過指定_cat後的參數來展現不一樣的系統功能。
安裝就記錄到這,此篇博文供你們來參閱,也是我的學習的一個記錄。