Linux系統要求:linux
1、centos6或centos7shell
2、jdk1.8及以上bootstrap
新建一個用戶vim
useradd yuankcentos
修改用戶密碼瀏覽器
passwd yuank網絡
切換到yuank用戶jvm
su - yuankelasticsearch
rz 上傳安裝包elasticsearch-6.2.2.tar.gztcp
解壓縮
tar xvf elasticsearch-6.2.2.tar.gz
解壓完成後,刪除安裝包
rm -rf elasticsearch-6.2.2.tar.gz
咱們把目錄重命名
mv elasticsearch-6.2.2/ elasticsearch
進入config目錄
cd elasticsearch/config/
修改 jvm.options文件(實際開發中通常不用改,由於內存夠用,咱們本身電腦玩的話仍是建議改一下,若是是土豪那麼請忽略)。
vim jvm.options
咱們看到默認配置是2g
咱們調小一點
修改elasticsearch.yml文件
vi elasticsearch.yml
找到數據目錄位置和日誌目錄位置
修改數據和日誌目錄:改爲咱們新建用戶的文件夾下。若是不修改會有自動建立這兩個目錄。目錄在哪自行百度。
接着不要退出,往下看,找到網絡
修改成任何網絡均可以訪問
修改完咱們退出保存
回到elasticsearch目錄建立data和logs目錄,logs目錄默認已經存在能夠不用建立
cd ..
建立data目錄
mkdir data
進入elasticsearch/bin目錄,能夠看到下面的執行文件:
cd bin
輸入啓動命令:
./elasticsearch
這是一個內核太低的錯誤
使用centos6,其linux內核版本爲2.6。而Elasticsearch的插件要求至少3.5以上版本。不過不要緊,咱們禁用這個插件便可。若是使用的是centos7則沒有這個報錯。
修改elasticsearch.yml文件,在最下面添加之後配置:
bootstrap.system_call_filter: false
修改完再次輸入命令啓動運行
./elasticsearch
此次一下報了三個錯誤,咱們逐一分析下
[1] : max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]
問題翻譯過來就是:yuank用戶擁有的可建立文件描述的權限過低,至少須要65536;咱們用的是yuank用戶,而不是root,因此文件權限不足。
切換到root用戶。
su - root
而後修改配置文件:
vim /etc/security/limits.conf
添加以下內容
#可打開的文件描述符的最大數(軟限制) * soft nofile 65536 #可打開的文件描述符的最大數(硬限制) * hard nofile 131072 #單個用戶可用的最大進程數量(軟限制) * soft nproc 4096 #單個用戶可用的最大進程數量(硬限制) * hard nproc 4096
[2] : max number of threads [1024] for user [leyou] is too low, increase to at least [4096]
這是線程數不夠。
繼續修改配置:
vim /etc/security/limits.d/90-nproc.conf
[3] : max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
問題翻譯過來就是:elasticsearch用戶擁有的最大虛擬內存過小,至少須要262144;
繼續修改配置文件:
vim /etc/sysctl.conf
添加下面內容:
vm.max_map_count=655360
改完退出保存
而後執行命令:
sysctl -p
全部錯誤修改完畢,必定要重啓你的 Xshell終端(或者SecureCRT),不然配置無效。
./elasticsearch
啓動成功了
能夠看到綁定了兩個端口:
- 9300:集羣節點間通信接口,接收tcp協議
- 9200:客戶端訪問接口,接收Http協議
在瀏覽器中訪問:http://192.168.10.128:9200/,若是不能訪問,則須要關閉虛擬機防火牆。或者開放9200端口
開放9200端口:
克隆一個會話
vi /etc/sysconfig/iptables
添加9200端口
修改完保存退出
重啓防火牆服務
service iptables restart
刷新頁面,訪問成功
方式二:關閉虛擬機防火牆
CentOS6查看防火牆的狀態:
service iptables status
CentOS 6關閉防火牆
servcie iptables stop --臨時關閉防火牆
chkconfig iptables off --永久關閉防火牆
CentOS7
查看防火牆:firewall-cmd --state
關閉防火牆:systemctl stop firewalld.service
禁止開機啓動防火牆:systemctl disable firewalld.service