解壓安裝包
[root@Aliyun resource]# tar -xvf elasticsearch-5.5.2.tar.gz
添加當前主機的普通賬戶
[root@Aliyun resource]# groupadd es
[root@Aliyun resource]# useradd es -g es -p es
解釋:root為最高權限的管理員用戶,es在啟動時不允許使用root用戶,所以我們創建一個普通賬戶es,登錄密碼es來管理elasticsearch的啟動和調用,從此處開始#的命令表示root用戶執行,$的命令提示表示普通用戶
root用戶個es用戶添加操作訪問elasticsearch的權限
[root@Aliyun resource]# chown -R es:es elasticsearch-5.5.2
[root@Aliyun ~]# su es
修改es啟動占用的內存空間(雲主機一般不需要)
解釋:默認情況下,es啟動互檢測內存2G,對雲主機內存不足的情況有所限制,虛擬機更需要修改,需要修改占用的內存空間,512M已經足夠了
修改es根目錄下config目錄的jvm.options
[root@Aliyun config]# vim jvm.options
修改
嘗試啟動es測試
在es的根目錄的bin目錄下執行啟動文件命令elasticsearch
[es@Aliyun bin]$ ./elasticsearch
es啟動后,提供一個9200的端口進行http協議訪問,這里可以調用linux的curl命令測試es程序,
但是沒有開啟對外訪問的設置,只能使用localhost訪問
[root@Aliyun ~]# curl localhost:9200
重新啟動
啟動異常:原因是linux版本導致,不影響使用后續解決
unable to install syscall filter:
java.lang.UnsupportedOperationException: seccomp unavailable: CONFIG_SECCOMP not compiled into kernel, CONFIG_SECCOMP and CONFIG_SECCOMP_FILTER are needed
在elasticsearch.yml中配置bootstrap.system_call_filter為false,注意要在Memory下面:
42行:bootstrap.memory_lock: false
添加:bootstrap.system_call_filter: false
[root@Aliyun config]# vim elasticsearch.yml
后台啟動和關閉es
關閉
在前面使用的啟動過程中,es的啟動程序占用了控制台,如果需要關閉直接ctrl+c停止控制台使用即可,
默認的啟動方式並不方便,占用的控制台一旦關閉會造成es程序停止,所以需要后台啟動
后台啟動
動態觀察日志
[root@Aliyun logs]# tail -f ***.log
在普通用戶執行啟動命令時添加-d的選項表示后台運行
[es@Aliyun bin]$ ./elasticsearch -d
使用crul測試依然成功表示程序正常運行
[es@Aliyun bin]$ curl localhost:9200
關閉后台啟動的進程
調用java的jps命令查看啟動的jvm進程
[root@Aliyun ~]# jps
或者直接調用linux查看進程命令
[root@Aliyun ~]# ps -ef|grep elasticsearch
無論是哪個命令都是為了找到es啟動的id號
確定pid后直接調用kill命令殺掉進程即可關閉es
[root@Aliyun ~]# kill 11423
安裝啟動es到此結束
尚存的問題
無法對外提供訪問和使用
通過內部命令可以訪問es進程,但是從外網訪問ip+端口訪問無效
沒有集群提供高可用
單點的es可以完成創建索引,搜索功能,但是高可用集群才是es的使用途徑