使用的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/