要432w 发表于 2017-3-21 13:39:43

elasticsearch 5.x 安装

### Document
(https://www.elastic.co/guide/en/elasticsearch/reference/5.2/release-notes-5.2.2.html)
(https://kibana.logstash.es/content/)

### Install
```
# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.2.2.rpm
# rpm -ivh elasticsearch-5.2.2.rpm
# chkconfig --add elasticsearch
```

### Config
- jvm.options
    `# vim /etc/elasticsearch/jvm.options`。此文件为elasticsearch的启动Jvm的配置文件。
    1. 修改jvm启动内存。
      默认设置:
            -Xms2g 最小内存为2g
            -Xmx2g 最大内存为2g
      官方推荐最小4g,最大不超过32G
      由于是在虚拟机里面做测试,虚拟内存本身只有1g,如果使用默认配置,jvm将会报内存相关错误,导致elasticsearch无法启动。
      这里修改为:
            -Xms216m
            -Xmx216m
    在实际生产环境中,只做这些修改是不够的。总而言之,根据需求修改。

- elasticsearch.yml
    `#vim /etc/elasticsearch/elasticsearch.yml`.此文件问elasticsearch的配置文件。
    elasticsearch.yml 文件配置内容分为Cluster、Node、Paths、Memory、Network
    1. 修改elaseticsearch监听地址
      默认设置:
            network.host 的值是本机的对外的IP地址
      这里修改为:
            network.host 127.0.0.1
    2. 修改elasticsearch监听端口
      默认设置:
            network.port 9200
      这里不做修改。
    其实以上修改都是为了elasticsearch安全做考虑。elasticsearch安全参考文:http://www.tuicool.com/articles/fUFFj2I
    https://kibana.logstash.es/content/elasticsearch/auth/searchguard-2.html
   
    elasticsearch RESTful API 如果不做认证,很容易导致数据泄露的风险。
    修改成如上样子之后,只有本地能访问,但是其他机器怎么访问?
    使用Nginx做反向代理,配置示例如下
    server {
      listen 80;
      server_name localhost;
      location / {
            allow 192.168.1.1;
            deny all;
            proxy_pass http://127.0.0.1:9200/;
      }
    }
    这样就很方便做了一个访问控制。

### Start And Test
- start
    `/etc/init.d/elasticsearch start`
- test
    - 在elasticsearch本机测试是否正常
      curl http://127.0.0.1:9200
    - 在其他机器测试是否正常
      curl http://elasticsearch_Host_IP:9200
    _ 出现如下内容为启动常
      {
            "name" : "WfNifzu",
            "cluster_name" : "elasticsearch",
            "cluster_uuid" : "L0NQm_mjT-SXSKwQrYC5Rw",
            "version" : {
                "number" : "5.2.2",
                "build_hash" : "f9d9b74",
                "build_date" : "2017-02-24T17:26:45.835Z",
                "build_snapshot" : false,
                "lucene_version" : "6.4.1"
            },
            "tagline" : "You Know, for Search"
      }
      其中字段含义这里不做说明,有兴趣可以查阅本文开始附带的Document。
      如果,看到"tagline" : "You Know, for Search"。说明你的elasticsearch可以为你提供服务了。

### END
页: [1]
查看完整版本: elasticsearch 5.x 安装