zoukankan      html  css  js  c++  java
  • Elasticsearch 安装与集群配置

    一、软件版本

    操作系统:CentOS-6.5-x86_64

    ES版本:5.0

    主机:192.168.63.246

    主机: 192.168.63.242

    二、部署环境规划:

     

    1、 需求:jdk版本:open-jdk.1.8

    [root@www config]# java -version

    openjdk version "1.8.0_101"

    OpenJDK Runtime Environment (build 1.8.0_101-b13)

    OpenJDK 64-Bit Server VM (build 25.101-b13, mixed mode)

    2、 下载解压安装即可:

    [root@www src]# cd /test/

    [root@www test]# tar zxvf elasticsearch-5.0.0.tar.gz

    3、 具体配置:

    [root@www elasticsearch-5.0.0]# cd config/

    [root@www config]# vim elasticsearch.yml

    配置解析:

    集群:

    cluster.name: es-log

    节点:

    node.name: log-1  ##节点保持唯一性。

    数据和日志存放目录:

    #path.data: /path/to/data

    #path.logs: /path/to/logs     ##默认当前目录下,可以修改

    是否使用swap:

    bootstrap.memory_lock:true

    广播配置:

    discovery.zen.ping.unicast.hosts: ["192.168.63.242", "192.168.63.247"]

    discovery.zen.minimum_master_nodes: 1

    其他相关系统设置:

     

    Vim /etc/sysctl.conf

    vm.max_map_count= 262144

    sysctl –p

    系统打开文件数配置:

    [root@controller config]# vim /etc/security/limits.conf

    *  hard nofile 65536

    * soft nofile 65536

    修改用户打开的线程数,因为es 的段要经常打开文件控制索引:

    vim /etc/security/limits.d/90-nproc.conf

    *          soft    nproc     2048

    切换到普通用户启动:

    Su – dashuju

    [dashuju@www bin]$ ./elasticsearch

    #####要是提示,报一些没有启动的目录,直接创建即可,但是想写入日志和数据必须是普通用户有写入权限#####

    启动之后:测试有如下显示表示已经安装成功。

    [root@www bin]# curl  -XGET '192.168.63.242:9200'

    {

      "name" : "log-1",

      "cluster_name" : "es-log",

      "cluster_uuid" : "_na_",

      "version" : {

        "number" : "5.0.0",

        "build_hash" : "253032b",

        "build_date" : "2016-10-26T04:37:51.531Z",

        "build_snapshot" : false,

        "lucene_version" : "6.2.0"

      },

      "tagline" : "You Know, for Search"

    }

    4、 集群启动设置:

     

    加入说只有一个节点,那么es就当做自己是一个集群。

    一个节点(node)就是一个Elasticsearch实例,而一个集群(cluster)由一个或多个节点组成,它们具有相同的cluster.name,它们协同工作,分享数据和负载。

    当加入新的节点或者删除一个节点时,集群就会感知到并平衡数据。

    1、 我们已经启动了192.168.63.242这台机器,我们可以现在创建一条索引,然后查看一下单集群的状态:

    [root@www elasticsearch-5.0.0]# curl -XPOST '192.168.63.242:9200/test/name/1' -d '

    {

      "name": "xiaoluo"

    }'

    ####创建一条test的索引,type为name,id=1

    2、 然后我们查看一下集群当前的状态:

     

    ticsearch-5.0.0]# curl  -XGET '192.168.63.242:9200/_cluster/health?pretty'

    {

      "cluster_name" : "es-log",

      "status" : "yellow",

    }

    主要看一下集群的几个状态:

    green    所有主要分片和复制分片都可用

    yellow   所有主要分片可用,但不是所有复制分片都可用

    red  不是所有的主要分片都可用

    #####可以看到我们现在显示为:yellow的,因为我们只有主分片,而没有复制分片的。

    现在我们启动配置好192.168.63.246这个节点:

    cluster.name: es-log

    node.name: log-2

    bootstrap.memory_lock: true

    network.host: 192.168.63.246

    discovery.zen.ping.unicast.hosts: ["192.168.63.246", "192.168.63.242"]

    discovery.zen.minimum_master_nodes: 1

    可以看到相关启动日志:

     

    我们知道已经加入这个集群了,现在我们看一下集群的相关状态:

    [root@www elasticsearch-5.0.0]# curl  -XGET '192.168.63.242:9200/_cluster/health?pretty'

    {

      "cluster_name" : "es-log",

      "status" : "green",

    }

    可以看到集群已经变成绿色,说明我们复制分片是已经可以使用了的,我们在192.168.63.246上面查看一下我们刚刚创建的数据看:

    [root@www elasticsearch-5.0.0]# curl -XGET '192.168.63.246:9200/test/name/1?pretty'

    {

      "_index" : "test",

      "_type" : "name",

      "_id" : "1",

      "_version" : 1,

      "found" : true,

      "_source" : {

        "name" : "xiaoluo"

      }

    }

    ############可以看到数据已经被复制到192.168.63.246上面了。

    后面我们测算成功之后,我们集群的配置要稍作修改:

    discovery.zen.minimum_master_nodes: 2   ###开始设置成1是为了一台测试,宣讲我们推荐大于1台。

    ELK stack 学习资源

  • 相关阅读:
    Java基础知识总结(绝对经典)
    mybatis注解详解
    div行内样式style常用属性
    php中json_decode()和json_encode()的使用方法
    java调用javascript :js引擎rhino
    DeleteDC() 与 ReleaseDC() 的区别 [转]
    non-manifold Mesh(非流形网格)
    C++静态成员函数小结 [转]
    C++ 类的静态成员详细讲解[转]
    CString 转 char*; wstring 转 string
  • 原文地址:https://www.cnblogs.com/hk315523748/p/6268354.html
Copyright © 2011-2022 走看看