ES1: linux Elasticsearch 安装
Elasticsearch 6.3.1 版本
jdk需要 1.8.0_131 版本以上
内核 3.5+
查看linux内核 : uname -r
升级内核:
注册内核
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
这一步可能会出现问题:
Retrieving http://www.elrepo.org/elrepo-release-6-8.el6.elrepo.noarch.rpm
curl: (35) SSL connect error
error: skipping http://www.elrepo.org/elrepo-release-6-8.el6.elrepo.noarch.rpm - transfer failed
这个问题的意思:无法在服务器使用curl命令访问https域名,原因是nss版本有点旧了,yum -y update nss更新一下,重新执行即可
安装内核新版本
yum --enablerepo=elrepo-kernel install kernel-lt -y
设置启动内核版本
修改的是Linux系统的引导文件: vi /etc/grub.con
修改内容:default=1 -> default=0
重启系统让内核生效
使用命令:reboot
为ES提供完善的系统配置
ES在Linux中安装部署的时候,需要系统为其提供若干系统配置。如:应用可启动的线程数、应用可以在系统中划分的虚拟内存、应用可以最多创建多少文件等
1、修改限制信息
vi /etc/security/limits.conf
是修改系统中允许应用最多创建多少文件等的限制权限。Linux默认来说,一般限制应用最多创建的文件是65535个。但是ES至少需要65536的文件创建权限。修改后的内容为
* soft nofile 65536
* hard nofile 65536
ulimit -u (一共可以开启的线程数)
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
下载地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch
ES是java开发的应用。在6.3.1版本中,要求JDK至少是1.8.0_131版本以上。
ES的安装过程非常简单。解压立刻可以使用。
tar -zxf elasticsearch-6.3.1.tar.gz
控制台打印日志启动命令:./bin/elasticsearch
控制台不打印日志启动命名:./bin/elasticsearch -d
测试链接
curl http://192.168.2.119: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"
打印日志前台启动: ./bin/kibana
不打印日志后台启动:nohup ./bin/kibana &
不打印日志后台关闭:fuser -n tcp 5601 ==》 kill -9 进程id
访问时,使用浏览器访问http://ip:5601/
测试kibanna启动结果:
进入dev tools模块,测试下述命令
GET _cluster/health
结果:
{
"cluster_name": "elasticsearch",
"status": "green",
"timed_out": false,
"number_of_nodes": 2,
"number_of_data_nodes": 2,
"active_primary_shards": 0,
"active_shards": 0,
"relocating_shards": 0,
"initializing_shards": 0,
"unassigned_shards": 0,
"delayed_unassigned_shards": 0,
"number_of_pending_tasks": 0,
"number_of_in_flight_fetch": 0,
"task_max_waiting_in_queue_millis": 0,
"active_shards_percent_as_number": 100
}
需要大家关注的,就是status。取值有green、yellow、red