在linux系統上安裝ElasticSearch服務
Linux系統要求:
1、centos6或centos7
2、jdk1.8及以上
1、 新建用戶
新建一個用戶
useradd yuank
修改用戶密碼
passwd yuank
切換到yuank用戶
su - yuank
rz 上傳安裝包elasticsearch-6.2.2.tar.gz
解壓縮
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/
2、 修改配置文件
修改 jvm.options文件(實際開發中一般不用改,因為內存夠用,我們自己電腦玩的話還是建議改一下,如果是土豪那么請忽略)。
vim jvm.options
我們看到默認配置是2g
我們調小一點
修改elasticsearch.yml文件
vi elasticsearch.yml
找到數據目錄位置和日志目錄位置
修改數據和日志目錄:改成我們新建用戶的文件夾下。如果不修改會有自動創建這兩個目錄。目錄在哪自行百度。
接着不要退出,往下看,找到網絡
修改為任何網絡都可以訪問
修改完我們退出保存
3、 創建data目錄
回到elasticsearch目錄創建data和logs目錄,logs目錄默認已經存在可以不用創建
cd ..
創建data目錄
mkdir data
4、 啟動運行
進入elasticsearch/bin目錄,可以看到下面的執行文件:
cd bin
輸入啟動命令:
./elasticsearch
4.1 報錯一
這是一個內核過低的錯誤
使用centos6,其linux內核版本為2.6。而Elasticsearch的插件要求至少3.5以上版本。不過沒關系,我們禁用這個插件即可。如果使用的是centos7則沒有這個報錯。
修改elasticsearch.yml文件,在最下面添加以后配置:
bootstrap.system_call_filter: false
修改完再次輸入命令啟動運行
./elasticsearch
4.2 報錯二、三、四
這次一下報了三個錯誤,我們逐一分析下
[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
4.3 重啟終端窗口
所有錯誤修改完畢,一定要重啟你的 Xshell終端(或者SecureCRT),否則配置無效。
4.4 再次切到yuank用戶,進入bin目錄,輸入命令啟動
./elasticsearch
啟動成功了
可以看到綁定了兩個端口:
- 9300:集群節點間通訊接口,接收tcp協議
- 9200:客戶端訪問接口,接收Http協議
4.5 驗證是否啟動成功:
在瀏覽器中訪問:http://192.168.10.128:9200/,如果不能訪問,則需要關閉虛擬機防火牆。或者開放9200端口
開放9200端口:
克隆一個會話
4.6 修改防火牆配置文件
vi /etc/sysconfig/iptables
添加9200端口
修改完保存退出
重啟防火牆服務
service iptables restart
刷新頁面,訪問成功
PS:關閉虛擬機防火牆
方式二:關閉虛擬機防火牆
CentOS6查看防火牆的狀態:
service iptables status
CentOS 6關閉防火牆
servcie iptables stop --臨時關閉防火牆
chkconfig iptables off --永久關閉防火牆
CentOS7
查看防火牆:firewall-cmd --state
關閉防火牆:systemctl stop firewalld.service
禁止開機啟動防火牆:systemctl disable firewalld.service