ES(6.3.1版本)在Linux中安装部署的时候,需要系统为其提供若干系统配置。如:应用可启动的线程数、应用可以在系统中划分的虚拟内存、应用可以最多创建多少文件等。
当前linux系统版本:
[root@localhost ~]# uname -a
Linux localhost.localdomain 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
1 修改限制信息
vi /etc/security/limits.conf
是修改系统中允许应用最多创建多少文件等的限制权限。Linux默认来说,一般限制应用最多创建的文件是65535个。但是ES至少需要65536的文件创建权限。修改后的内容为:
* soft nofile 65536
* hard nofile 65536
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以上的内存。
3 修改系统控制权限
vi /etc/sysctl.conf
系统控制文件是管理系统中的各种资源控制的配置文件。ES需要开辟一个65536字节以上空间的虚拟内存。Linux默认不允许任何用户和应用直接开辟虚拟内存。
新增内容为:
vm.max_map_count=655360
使用命令: sysctl -p 。 让系统控制权限配置生效。
4 可选配置(建议增加)
修改elasticsearch的配置文件,设置可访问的客户端。0.0.0.0代表任意客户端访问。
vi config/elasticsearch.yml
修改下述内容
network.host: 0.0.0.0
安装ES
ES是java开发的应用。在6.3.1版本中,要求JDK至少是1.8.0_131版本以上。
ES的安装过程非常简单。解压立刻可以使用。
tar -zxf elasticsearch-6.3.1.tar.gz
1 修改ES应用的所有者
因为ES不允许root用户启动,而课堂案例中,ES是root用户解压缩的。所以解压后的ES应用属于root用户。所以我们需要将ES应用的所有者修改为其他用户。当前课堂案例中虚拟机Linux内有bjsxt这个用户。
chown -R es.es elasticsearch
2 切换用户并启动
su es
$es_home/bin/elasticsearch
3 测试连接
curl http://192.168.56.101:9200
返回如下结果:
{
"name":"L6WdN7y",
"cluster_name":"elasticsearch",
"cluster_uuid":"s7_GSd9YQnaH10VQBKCQ5w",
"version":{
"number":"6.3.1",
"build_flavor":"default",
"build_type":"tar",
"build_hash":"eb782d0",
"build_date":"2018-06-29T21:59:26.107521Z",
"build_snapshot":false,
"lucene_version":"7.3.1",
"minimum_wire_compatibility_version":"5.6.0",
"minimum_index_compatibility_version":"5.0.0"
},
"tagline":"You Know, for Search"
}
安装Kibana
是ES提供的一个基于WEB的管理控制台。现阶段安装Kibana主要是为了方便学习。
在Linux中安装Kibana很方便。解压,启动即可。Kibana要求的环境配置是小于ES的要求的。
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://192.168.56.101:5601/
业务需求变更永无休止,技术前进就永无止境!