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提供完善的系统配置

  ESLinux中安装部署的时候,需要系统为其提供若干系统配置。如:应用可启动的线程数、应用可以在系统中划分的虚拟内存、应用可以最多创建多少文件等

  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的线程池预备。ES5.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。取值有greenyellowred

原文地址:https://www.cnblogs.com/abel-he/p/11071778.html