使用的ES的版本是6.3.1。ES6.x要求Linux內核必須是3.5+版本以上。
在linux操作系統中,查看內核版本的命令是: uname -a Linux es01 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
Linux版本是CentOS6.5。內核使用的是2.6。內核版本不滿足要求。無法安裝ES。必須升級內核。
1.升級linux內核版本
系統內核的提升,對已部署的應用一般沒有影響,但是新版本內核,對線程的資源給與了更多的空間
注冊內核 rpm –import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7 下載內核安裝包 rpm -Uvh http://www.elrepo.org/elrepo-release-6-8.el6.elrepo.noarch.rpm 安裝內核新版本 yum --enablerepo=elrepo-kernel install kernel-lt -y
2. 設置啟動內核版本
修改的是Linux系統的引導文件。 vim /etc/grub.conf 修改內容: default=1 -> default=0
3. 重啟系統讓內核生效
使用命令: reboot
4. 設置虛擬機的內存為2G
5. 為ES提供完善的系統配置
5.1 修改限制信息
修改系統中允許應用最多創建多少文件等的限制權限。Linux默認來說,一般限制應用最多創建的文件是65535個。但是ES至少需要65536的文件創建權限。修改后的內容為: vi /etc/security/limits.conf * soft nofile 65536 * hard nofile 65536
5.2 修改線程開啟限制
vi /etc/security/limits.d/90-nproc.conf 修改系統中允許用戶啟動的進程開啟多少個線程。默認的Linux限制root用戶開啟的進程可以開啟任意數量的線程,其他用戶開啟的進程可以開啟1024個線程。
必須修改限制數為4096+。因為ES至少需要4096的線程池預備。
ES在5.x版本之后,強制要求在linux中不能使用root用戶啟動ES進程。所以必須使用其他用戶啟動ES進程才可以。 * soft nproc 4096 root soft nproc unlimited 注意:Linux低版本內核為線程分配的內存是128K。4.x版本的內核分配的內存更大。如果虛擬機的內存是1G,最多只能開啟3000+個線程數。至少為虛擬機分配1.5G以上的內存。
5.3 修改系統控制權限
vi /etc/sysctl.conf 系統控制文件是管理系統中的各種資源控制的配置文件。ES需要開辟一個65536字節以上空間的虛擬內存。Linux默認不允許任何用戶和應用直接開辟虛擬內存。 新增內容為: vm.max_map_count=655360 使用命令: sysctl -p 讓系統控制權限配置生效。
6. 安裝ES
ES是java開發的應用。在6.3.1版本中,要求JDK至少是1.8.0_131版本以上。
ES的安裝過程非常簡單。解壓立刻可以使用。
tar -zxf elasticsearch-6.3.1.tar.gz
6.1 修改ES應用的所有者
因為ES不允許root用戶啟動,ES是root用戶解壓縮的。所以解壓后的ES應用屬於root用戶。所以我們需要將ES應用的所有者修改為其他用戶
useradd elk #添加用戶 passwd elk #設置密碼 groupadd elk #添加用戶組 usermod -a -G elk elk #把用戶添加到用戶組 chown -R elk:elk elasticsearch #將文件所有者設置為elk組elk用戶
6.2 切換用戶
su elk
6.3 修改elasticsearch的配置文件
設置可訪問的客戶端。0.0.0.0代表任意客戶端訪問。
vi config/elasticsearch.yml 修改下述內容 network.host: "0.0.0.0"
6.4 測試連接
$es_home/bin/elasticsearch
在瀏覽器訪問 http://ip:9200
7. 安裝Kibana
ES提供的一個基於WEB的管理控制台。安裝Kibana主要是為了方便學習。在Linux中安裝Kibana很方便。解壓,啟動即可。
解壓 tar -zxf kibana-6.3.1-linux-x86_64.tar.gz 修改config/kibana.yml 修改內容: server.host: "0.0.0.0" 啟動 $kibana_home/bin/kibana 訪問時,使用瀏覽器訪問http://ip:5601/
