疲劳是最舒适的枕头,努力工作吧。

Kibana share 产生的 iframe ,可以加参数吗

Kibanarochy 回复了问题 • 2 人关注 • 1 个回复 • 2208 次浏览 • 2018-11-23 17:12 • 来自相关话题

求java api这种查询

Elasticsearchrochy 回复了问题 • 2 人关注 • 1 个回复 • 2029 次浏览 • 2018-11-23 17:10 • 来自相关话题

ES目前查询很慢

ElasticsearchVbeifeng 回复了问题 • 3 人关注 • 2 个回复 • 2908 次浏览 • 2018-11-23 16:47 • 来自相关话题

社区日报 第457期 (2018-11-23)

社区日报laoyang360 发表了文章 • 0 个评论 • 1211 次浏览 • 2018-11-23 12:28 • 来自相关话题

1、批量加载json/csv等数据到ElasticSearch工具推荐
http://t.cn/E23BXY3
2、Elasticsearch和Hive集成实战
http://t.cn/RToSes4
3、浅谈Elasticsearch基础与架构
http://t.cn/EwklpZS

编辑:铭毅天下
归档:https://elasticsearch.cn/article/6153
订阅:https://tinyletter.com/elastic-daily

CentOS 7.4 下安装 ES 6.5.1 搜索集群

Elasticsearchrochy 发表了文章 • 3 个评论 • 7015 次浏览 • 2018-11-23 00:02 • 来自相关话题

一、准备安装

1、修改系统 hosts

<br /> vi /etc/hosts # 修改 hosts 文件,添加下面的内容<br /> <br /> 192.168.11.1 sky-00<br /> 192.168.11.2 sky-01<br /> 192.168.11.3 sky-02<br /> 192.168.11.4 sky-03<br /> 192.168.11.5 sky-04<br /> 192.168.11.6 sky-05<br /> 192.168.11.7 sky-06<br />

2、角色分配

主机名 | 角色 | 内存分配
---|---|---
sky-00|Master|4G
sky-01|Master|8G
sky-02|Master+Data|12G
sky-03|Data|12G
sky-04|Data|12G
sky-05|Data|12G
sky-06|Data|12G

3、创建 ES 用户

shell<br /> adduser elastic # 新增用户<br /> passwd elastic # 修改用户密码<br />

4、创建 ES 数据和日志目录

<br /> cd /data/<br /> mkdir elastic<br /> cd elastic<br /> mkdir data # 创建数据目录<br /> mkdir log # 创建日志目录<br /> chown -R elastic /data/elastic/ # 修改拥有着<br />

5、调整文件句柄数以及可用进程数

Elasticsearch 要求其可用的文件句柄至少为 65536,同时要求其进程数限制至少为 2048,可用按照下面的指令进行修改。

分别对应以下两个报错信息:

  • max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
  • max number of threads [1024] for user [es] is too low, increase to at least [2048]

    ```shell
    vi /etc/security/limits.conf

  • soft nofile 100001
  • hard nofile 100002
  • soft nproc 4096
  • hard nproc 8192
    elastic soft memlock unlimited
    elastic hard memlock unlimited
    ```

    6、设置内核交换

    为了避免不必要的磁盘和内存交换,影响效率,需要将 vm.swappiness 修改为 1(进行最少量的交换,而不禁用交换)或者 10(当系统存在足够内存时,推荐设置为该值以提高性能),其默认值为 60。

    此外需要修改最大虚拟内存 vm.max_map_count 防止启动时报错:max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]

    shell<br /> vi /etc/sysctl.conf<br /> <br /> vm.swappiness = 1<br /> vm.max_map_count = 262144<br />

    7、下载安装文件

    shell<br /> mkdir /opt/downloads/<br /> mkdir /opt/soft/<br /> cd /opt/downloads/<br /> <br /> wget <a href="https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.1.tar.gz" rel="nofollow" target="_blank">https://artifacts.elastic.co/d ... ar.gz</a><br /> wget <a href="https://artifacts.elastic.co/downloads/kibana/kibana-6.5.1-linux-x86_64.tar.gz" rel="nofollow" target="_blank">https://artifacts.elastic.co/d ... ar.gz</a><br /> wget <a href="http://download.oracle.com/otn/java/jdk/xxxxxx/jdk-8u191-linux-x64.tar.gz" rel="nofollow" target="_blank">http://download.oracle.com/otn ... ar.gz</a><br /> <br /> tar -zxvf elasticsearch-6.5.1.tar.gz -C /opt/soft/<br /> tar -zxvf jdk-8u191-linux-x64.tar.gz -C /opt/soft/<br /> tar -zxvf kibana-6.5.1-linux-x86_64.tar.gz -C /opt/soft/<br /> <br /> chown -R elastic /opt/soft/elasticsearch-6.5.1/<br /> chown -R elastic /opt/soft/kibana-6.5.1/<br />

    二、开始安装

    1、配置 Java 环境

    <br /> su elastic #切换到 elastic 用户<br /> vi ~/.bashrc #只修改 elastic 用户自己的环境变量<br /> <br /> export JAVA_HOME=/opt/soft/jdk1.8.0_191<br /> export JRE_HOME=/opt/soft/jdk1.8.0_191/jre<br /> export CLASSPATH=.:/opt/soft/jdk1.8.0_191/lib:/opt/soft/jdk1.8.0_191/jre/lib<br /> export PATH=$PATH:/opt/soft/jdk1.8.0_191/bin:/opt/soft/jdk1.8.0_191/jre/bin<br />

    2、配置 ES 内存占用

    <br /> cd /opt/soft/elasticsearch-6.5.1/config/<br /> vi jvm.options <br /> <br /> -Xms4g # 请根据自己机器配置调整<br /> -Xmx4g<br />

    3、配置 Elasticsearch

    下面的配置已经过多个生产环境验证,具体设置值仅供参考,请务必根据实际情况进行调整。

    ```

    ---------------------------------- Cluster -----------------------------------


    设置集群名

    cluster.name: cluster-name


    ------------------------------------ Node ------------------------------------


    设置节点名

    node.name: node01

    设置角色

    node.master: true
    node.data: false
    node.ingest: true

    设置机架信息

    node.attr.rack: r1


    ----------------------------------- Paths ------------------------------------


    设置数据路径

    path.data: /data/elastic/data

    设置日志路径

    path.logs: /data/elastic/log


    ----------------------------------- Memory -----------------------------------


    设置内存锁定

    bootstrap.memory_lock: true
    bootstrap.system_call_filter: false


    ---------------------------------- Network -----------------------------------


    设置ip和端口

    network.bind_host: sky-00
    network.publish_host: 0.0.0.0
    http.port: 9200

    设置跨域访问

    http.cors.enabled: true
    http.cors.allow-origin: "*"
    http.max_content_length: 500mb

    --------------------------------- Discovery ----------------------------------


    设置zen发现范围(只需要填写主节点的 ip 即可)

    discovery.zen.ping.unicast.hosts: ["sky-00", "sky-01", "sky-02"]

    discovery.zen.no_master_block: write
    discovery.zen.fd.ping_timeout: 10s

    设置最小主节点个数,一般为:(master_node_count+1)/2

    discovery.zen.minimum_master_nodes: 2


    ---------------------------------- Gateway -----------------------------------


    设置在有4个节点后进行数据恢复

    gateway.recover_after_nodes: 4
    gateway.expected_nodes: 7
    gateway.recover_after_time: 1m


    ---------------------------------- Various -----------------------------------

    禁止通配符模式删除索引

    action.destructive_requires_name: true

    indices.recovery.max_bytes_per_sec: 200mb
    indices.memory.index_buffer_size: 20%

    默认开启全部类型脚本,可以通过下面配置进行限制

    script.allowed_types: inline

    script.allowed_contexts: search, update


    关闭xpack的安全校验

    xpack.security.enabled: false

    开启 monitoring

    xpack.monitoring.enabled: true
    xpack.monitoring.collection.enabled: true

    设置 monitoring 写入信息

    xpack.monitoring.exporters:
    sky:
    type: http
    host: ["sky-02", "sky-03", "sky-04", "sky-05", "sky-06"]

    设置 monitoring 索引格式,默认是 YYYY-MM-DD(按天新建)

    index.name.time_format: YYYY-MM
    headers:

    设置 Basic 认证信息(详见插件安装部分说明)

    Authorization: "Basic XXXXXXXXXXXXXXX"
    ```

    三、安装插件

    1、安装插件

    推荐安装的插件有:

  • IK 中文分词插件
  • Readonlyrest 安全认证插件
  • elasticsearch-head 集群监控管理插件(chrome 插件)

    插件下载链接: https://pan.baidu.com/s/1r_322unsIjoWlhY8u7pkBA 提取码: aupq

    使用下面命令即可安装。
    <br /> $ES_HOME/bin/elasticsearch-plugin -install file:///data/downloads/elasticsearch-analysis-ik-6.5.1.zip<br /> $ES_HOME/bin/elasticsearch-plugin -install file:///data/downloads/readonlyrest-1.16.29_es6.5.1.zip<br />

    2、配置 Readonlyrest 安全认证

    下面只简单介绍 Readonlyrest 的 Basic 认证,更高级的用法可以去官方网站查看,在 ES 安装目录的 conf 目录下新建文件 readonlyrest.yml,并添加下面内容。
    ```
    readonlyrest:
    access_control_rules:

    • name: "Require HTTP Basic Auth"
      type: allow
      auth_key: 用户名:密码
      ```

      3、启动 ES

      全部安装完成后,即可使用 elastic 用户启动 ES。
      ```

      默认 ES 不支持 root 用户启动

      su elastic
      cd /opt/soft/elasticsearch-6.5.1/bin
      ./elasticsearch -d
      ```

      四、在 Kibana 里面监控

      在安装 ES 的时候,我们配置了 ES 的监控信息,这样我们就可以在 Kibana 中查看 ES 索引信息、node 信息等。

      1、配置 Kibana

      进入 Kibana 的解压目录下的 conf 文件夹,打开配置文件 kibana.yml
      ```

      配置 kibana ui 的端口

      server.port: 5601

      配置 kibana 访问 ip

      server.host: "0.0.0.0"

      设置 ES 地址

      elasticsearch.url: "<a href="http://sky-00:9200"" rel="nofollow" target="_blank">http://sky-00:9200"

      dashboards. Kibana creates a new index if the index doesn't already exist.

      kibana.index: ".kibana"


      打开 kibana 时默认页面

      kibana.defaultAppId: "home"


      ES Basic 认证信息

      elasticsearch.username: "用户名"
      elasticsearch.password: "密码"

      设置时区信息

      i18n.locale: "en"


      开启监控

      xpack.monitoring.enabled: true

      关闭 kibana 监控,默认为 true

      xpack.monitoring.kibana.collection.enabled: false
      ```

      2、对 Kibana 配置文件的说明

  • ES Basic 认证信息配置(在启动时对 Kibana 索引进行维护)完成后,登陆 kibana 时,依旧需要输入认证信息;
  • 由于 kibana 的 monitoring 无法设置新建的索引的索引名(无法配置 index.name.time_format),这样 kibana 每天会新建一个索引,由于 kibana 只是作为管理查看工具,因此关闭了 kibana 监控;
  • elasticsearch.url 该配置项无法设置多个 es 地址;如果你想实现类似负载均衡的功能,最简单的方法就是在 Kibana 机器上运行一个协调(Coordinating)节点。

    3、监控界面

    全部配置完成后,启动 kibana,打开 monitoring 即可开始监控 node、index 等。

    ![使用 Kibana 监控节点状态](http://img.luooqi.com/FmmRM-BWiizWOZ3v1YwEC4J5V9RJ)

    五、设置索引模板

    具体请参考之前发布的文章[基于 IK 分词器的 ES 通用索引模板](https://juejin.im/post/5bed17daf265da614e2ba73e)


    ---
    Any Code,Code Any!

    扫码关注『AnyCode』,编程路上,一起前行。

    ![](https://user-gold-cdn.xitu.io/ ... D45449)

es配置同义词时,只对分词后最小粒度的词有效,对于组合词,加在ik的扩展词表里起不了作用怎么办?

Elasticsearchrochy 回复了问题 • 3 人关注 • 1 个回复 • 3696 次浏览 • 2018-11-22 21:34 • 来自相关话题

reindex时能不能只索引一个type下的数据

Elasticsearchrochy 回复了问题 • 2 人关注 • 1 个回复 • 1995 次浏览 • 2018-11-22 21:31 • 来自相关话题

java怎么查询一个索引下的所有type名

Elasticsearchrochy 回复了问题 • 2 人关注 • 1 个回复 • 6085 次浏览 • 2018-11-22 21:29 • 来自相关话题

spark 结合 ES 可以执行聚合语句吗

ElasticsearchVbeifeng 回复了问题 • 4 人关注 • 2 个回复 • 3582 次浏览 • 2018-11-22 18:45 • 来自相关话题

搜索关键词全匹配

Elasticsearchzz_hello 回复了问题 • 2 人关注 • 1 个回复 • 4569 次浏览 • 2018-11-22 17:00 • 来自相关话题

社区日报 第456期 (2018-11-22)

社区日报白衬衣 发表了文章 • 0 个评论 • 1115 次浏览 • 2018-11-22 14:31 • 来自相关话题

1.node框架接入ELK实践总结
http://t.cn/E21vqIJ
2.携程机票日志追踪系统架构演进
http://t.cn/EzisYHb
3.手写ElasticSearch分词器
http://t.cn/E21vLG3

编辑:金桥
归档:https://elasticsearch.cn/article/6151
订阅:https://tinyletter.com/elastic-daily

导入数据时候某一个节点的CPU居高不下

Elasticsearchweizijun 回复了问题 • 2 人关注 • 1 个回复 • 1674 次浏览 • 2018-11-22 14:10 • 来自相关话题

ik远程扩展字典是不是每次添加词的时候都需要重建索引

Elasticsearchqqq1234567 回复了问题 • 3 人关注 • 2 个回复 • 2950 次浏览 • 2018-11-22 11:46 • 来自相关话题

ES-scroll

ElasticsearchelasticStack 回复了问题 • 3 人关注 • 4 个回复 • 6199 次浏览 • 2018-11-22 09:48 • 来自相关话题

es的遇到长时间的gc,有办法让es快速自动关闭吗?

Elasticsearchrochy 回复了问题 • 4 人关注 • 3 个回复 • 2392 次浏览 • 2018-11-22 09:39 • 来自相关话题