ubuntu安裝elasticsearch
阿新 • • 發佈:2018-11-28
一、Java環境
Elasticsearch是用Java語言編寫的,所以首先確保機器上已經安裝了Java環境。官方文件指出,至少需要Java 7,本文中使用java8。
二、下載Elasticsearch
在官網https://www.elastic.co/downloads/elasticsearch下載安裝包,本文下載的是elasticsearch-6.4.3.tar.gz
,將下載的安裝包上傳至伺服器上。
三、解壓
tar zxvf elasticsearch-6.4.3.tar.gz -C /usr/local
四、執行
(1) 定位至安裝目錄:
cd /usr/local/elasticsearch-6.4.3/
(2) 執行
./bin/elasticsearch
五、錯誤解決
- java記憶體空間不足或檔案許可權不足:
Exception in thread "main" java.nio.file.AccessDeniedException: /usr/local/elasticsearch-6.4.3/config/jvm.options at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84) at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107) at sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:214) at java.nio.file.Files.newByteChannel(Files.java:361) at java.nio.file.Files.newByteChannel(Files.java:407) at java.nio.file.spi.FileSystemProvider.newInputStream(FileSystemProvider.java:384) at java.nio.file.Files.newInputStream(Files.java:152) at org.elasticsearch.tools.launchers.JvmOptionsParser.main(JvmOptionsParser.java:60)
解決:
(1) 切換到root賬戶,修改/usr/local/elasticsearch-6.4.3/config/jvm.options
檔案的Xms和Xmx的配置:
-Xms512m
-Xmx512m
(2) 修改檔案許可權
sudo chmod 644 jvm.options
- root賬號啟動報錯
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:140) ~[elasticsearch-6.4.3.jar:6.4.3] at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:127) ~[elasticsearch-6.4.3.jar:6.4.3] at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-6.4.3.jar:6.4.3] at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[elasticsearch-cli-6.4.3.jar:6.4.3] at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-6.4.3.jar:6.4.3] at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:93) ~[elasticsearch-6.4.3.jar:6.4.3] at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:86) ~[elasticsearch-6.4.3.jar:6.4.3] Caused by: java.lang.RuntimeException: can not run elasticsearch as root at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:104) ~[elasticsearch-6.4.3.jar:6.4.3] at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:171) ~[elasticsearch-6.4.3.jar:6.4.3] at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:326) ~[elasticsearch-6.4.3.jar:6.4.3] at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) ~[elasticsearch-6.4.3.jar:6.4.3] ... 6 more
解決:切換到普通使用者重啟啟動。
- 啟動過程中提示
ERROR: [1] bootstrap checks failed
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[2018-11-23T10:00:28,057][INFO ][o.e.n.Node ] [mQQdX2p] stopping ...
[2018-11-23T10:00:28,100][INFO ][o.e.n.Node ] [mQQdX2p] stopped
[2018-11-23T10:00:28,101][INFO ][o.e.n.Node ] [mQQdX2p] closing ...
[2018-11-23T10:00:28,111][INFO ][o.e.n.Node ] [mQQdX2p] closed
解決:
(1) 修改配置sysctl.conf
vim /etc/sysctl.conf
(2) 新增下面配置:
vm.max_map_count=655360
(3) 配置生效:
sysctl -p
六、設定外網訪問
(1) 進入/usr/local/elasticsearch-6.4.3/config
目錄,編輯檔案elasticsearch.yml
,增加配置network.host: 0.0.0.0
命令如下:
vim elasticsearch.yml
Insert進入編輯模式,增加network.host: 0.0.0.0
,修改完成之後Esc退出編輯模式,執行:wq
儲存並退出,重啟啟動即可。
啟動成功後,在瀏覽器訪問:http://IP地址:9200/
,出現以下配置表示安裝成功。
name "mQQdX2p"
cluster_name "elasticsearch"
cluster_uuid "em-fVPdIRLeG4BZAkdRarA"
version
number "6.4.3"
build_flavor "default"
build_type "tar"
build_hash "fe40335"
build_date "2018-10-30T23:17:19.084789Z"
build_snapshot false
lucene_version "7.4.0"
minimum_wire_compatibility_version "5.6.0"
minimum_index_compatibility_version "5.0.0"
tagline "You Know, for Search"
七、後臺執行
為了在關閉終端的時候,讓Elasticsearch繼續保持執行,需要設定使es在後臺執行。
切換到安裝目錄下,執行。
bin/elasticsearch -d