我有点怀疑你在刷屏

社区日报 第478期 (2018-12-14)

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

1、Elasticsearch日志系统搭建
http://t.cn/EyOugcQ
2、Elasticsearch最佳实践之核心概念与原理
http://t.cn/EUJa22D
3、Elasticsearch和Hive比较
http://t.cn/EUJaPGa

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

elasticsearch id

Elasticsearchrochy 回复了问题 • 2 人关注 • 1 个回复 • 4642 次浏览 • 2018-12-14 13:02 • 来自相关话题

elasticsearch单值桶

回复

Elasticsearchhnj1575565068 发起了问题 • 1 人关注 • 0 个回复 • 1537 次浏览 • 2018-12-14 09:46 • 来自相关话题

写入压测导致cpu context switch 过高,cpu sys 过高,系统卡住

Elasticsearchzqc0512 回复了问题 • 5 人关注 • 3 个回复 • 3700 次浏览 • 2019-01-07 10:58 • 来自相关话题

filebeat收集日志时多条件创建索引

Beatsxuebin 回复了问题 • 2 人关注 • 2 个回复 • 5632 次浏览 • 2018-12-14 11:04 • 来自相关话题

spring boot 2.0可以整合elasticsearch 5.4.0吗

Elasticsearchqqq1234567 回复了问题 • 2 人关注 • 2 个回复 • 1510 次浏览 • 2018-12-13 18:20 • 来自相关话题

kibana可视化 中怎么 截取keyword 信息

Kibanazqc0512 回复了问题 • 5 人关注 • 4 个回复 • 4851 次浏览 • 2018-12-24 08:51 • 来自相关话题

关于使用filebeat 收集日志的问题

默认分类rochy 回复了问题 • 2 人关注 • 1 个回复 • 3031 次浏览 • 2018-12-13 17:15 • 来自相关话题

query cache和filter cache的区别和联系?

Elasticsearchrochy 回复了问题 • 3 人关注 • 1 个回复 • 2804 次浏览 • 2018-12-13 17:13 • 来自相关话题

es没有写入,监控发现有bulk的任务?

Elasticsearchfanmo3yuan 回复了问题 • 3 人关注 • 2 个回复 • 2152 次浏览 • 2018-12-17 11:03 • 来自相关话题

社区日报 第477期 (2018-12-13)

社区日报白衬衣 发表了文章 • 0 个评论 • 1641 次浏览 • 2018-12-13 14:44 • 来自相关话题

1.如何在Elasticsearch中查找和删除重复文档
http://t.cn/EUxkESo
2.Elasticsearch线程池分析
http://t.cn/EUxkDNg
3.Elasticsearch Pipeline Aggregations指南
http://t.cn/EUxFzZX

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

ES中如何实现以下等价的solr搜索意图?

ElasticsearchMemento 回复了问题 • 2 人关注 • 1 个回复 • 1729 次浏览 • 2019-11-07 14:53 • 来自相关话题

请教:日志已导入es,但因为一个空格没匹配到,导至无法分词,那么我能在es中修改该条日志,重新匹配吗?

Elasticsearchrochy 回复了问题 • 2 人关注 • 1 个回复 • 2219 次浏览 • 2018-12-13 11:18 • 来自相关话题

Day 13 - Elasticsearch-Hadoop打通Elasticsearch和Hadoop

AdventJasonbian 发表了文章 • 3 个评论 • 10522 次浏览 • 2018-12-13 09:34 • 来自相关话题

ES-Hadoop打通Elasticsearch和Hadoop


介绍


Elasticsearch作为强大的搜索引擎,Hadoop HDFS是分布式文件系统。

ES-Hadoop是一个深度集成Hadoop和ElasticSearch的项目,也是ES官方来维护的一个子项目。Elasticsearch可以将自身的Document导入到HDFS中用作备份;同时也可以将存储在HDFS上的结构化文件导入为ES中的Document,通过实现Hadoop和ES之间的输入输出,可以在Hadoop里面对ES集群的数据进行读取和写入,充分发挥Map-Reduce并行处理的优势,为Hadoop数据带来实时搜索的可能。

ES-Hadoop插件支持Map-Reduce、Cascading、Hive、Pig、Spark、Storm、yarn等组件。

ES-Hadoop整个数据流转图如下:


ES-Hadoop.jpg




环境配置


  • Elasticsearch 5.0.2
  • Centos 7
  • elasticsearch-hadoop 5.0.2
  • repository-hdfs-5.0.2

    Elasticsearch备份数据到HDFS


    介绍


    Elasticsearch副本提供了数据高可靠性,在部分节点丢失的情况下不中断服务;但是副本并不提供对灾难性故障的保护,同时在运维人员误操作情况下也不能保障数据的可恢复性。对于这种情况,我们需要对Elasticsearch集群数据的真正备份。

    通过快照的方式,将Elasticsearch集群中的数据备份到HDFS上,这样数据既存在于Elasticsearch集群中,有存在于HDFS上。当ES集群出现不可恢复的故障时,可以将数据从HDFS上快速恢复。

    操作步骤


  • 下载插件 <https://artifacts.elastic.co/d ... gt%3B 保存在/usr/local下

  • 安装插件

    <br /> cd /usr/local/es/elasticsearch-5.0.2/bin<br /> ./elasticsearch-plugin install file:///usr/local/repository-hdfs-5.0.2.zip<br />

  • 安装成功后需要重启Elasticsearch

    备份与恢复


  • 构建一个仓库

    <br /> PUT <a href="http://192.168.10.74:9200/_snapshot/backup" rel="nofollow" target="_blank">http://192.168.10.74:9200/_snapshot/backup</a><br /> { <br /> "type": "hdfs", <br /> "settings": { <br /> "uri": "hdfs://192.168.10.170:9000", <br /> "path": "/es", <br /> "conf_location": "/usr/local/hadoop/etc/hadoop/hdfs-site.xml" <br /> }<br /> }<br />

  • 备份快照

    <br /> PUT <a href="http://192.168.10.74:9200/_snapshot/backup/snapshot_users?wait_for_completion=true" rel="nofollow" target="_blank">http://192.168.10.74:9200/_sna ... Dtrue</a><br /> {<br /> "indices": "users", //备份users的index,注意不设置这个属性,默认是备份所有index<br /> "ignore_unavailable": true,<br /> "include_global_state": false<br /> }<br />

  • 恢复快照

    <br /> POST <a href="http://192.168.10.74:9200/_snapshot/backup/snapshot_users/_restore" rel="nofollow" target="_blank">http://192.168.10.74:9200/_sna ... store</a><br /> {<br /> "indices": "users", //指定索引恢复,不指定就是所有<br /> "ignore_unavailable": true, //忽略恢复时异常索引<br /> "include_global_state": false //是否存储全局转态信息,fasle代表有一个或几个失败,不会导致整个任务失败<br /> }<br />


    整合Spark与Elasticsearch


    整体思路


  • 数据首先存储在HDFS上,可以通过Spark SQL直接导入到ES中
  • Spark SQL可以直接通过建立Dataframe或者临时表连接ES,达到搜索优化、减少数据量和数据筛选的目的,此时数据只在ES内存中而不再Spark SQL中
  • 筛选后的数据重新导入到Spark SQL中进行查询

    引入依赖


    ```java


    org.elasticsearch
    elasticsearch-hadoop
    5.0.2

    ```



    ### 具体流程

  • 数据在HDFS上,数据存储在HDFS的每个DataNode的block上


    image-20181211115144840.png




  • 数据加载到Spark SQL

    • 数据从HDFS加载到Spark SQL中,以RDD形式存储

      java<br /> JavaRDD<String> textFile = spark.read().textFile("hdfs://192.168.10.170:9000/csv/user.csv")<br />

    • 添加数据结构信息转换为新的RDD

      java<br /> JavaRDD<UserItem> dataSplits = textFile.map(line -> {<br /> String records = line.toString().trim();<br /> String record = records.substring(0,records.length() - 1).trim();<br /> String[] parts = record.split("\\|");<br /> UserItem u = new UserItem();<br /> u.setName(parts[0]);<br /> u.setAge(parts[1]);<br /> u.setHeight(parts[2]);<br /> return u;<br /> });<br />

    • 根据新的RDD创建DataFrame

      java<br /> DataSet<Row> ds = spark.createDataFrame(dataSplits, UserItem.class);<br />


      image-20181211120610726.png




    • 由Dataset创建索引,并写入ES

      <br /> JavaEsSparkSQL.saveToEs(ds, "es_spark/users");<br />

  • 数据在ES中建立索引


    image-20181211140747391.png




  • Spark SQL通过索引对ES中的数据进行查询

    java<br /> SparkSession spark = SparkSession.builder().appName("es-spark").master("local").config("es.index.auto.create", true).getOrCreate();<br /> Map<String, String> options = new HashMap<>();<br /> options.put("pushdown", "true");<br /> options.put("es.nodes","192.168.10.74:9200");<br /> <br /> Dataset<Row> df = spark.read().options(options).format("org.elasticsearch.spark.sql").load("es_spark/users");<br /> df.createOrReplaceTempView("users");<br /> <br /> Dataset<Row> userSet = spark.sql("SELECT name FORM users WHERE age >=10 AND age <= 20");<br /> userSet.show();<br />

    结束


    ES-Hadoop无缝打通了ES和Hadoop两个非常优秀的框架,从而让ES的强大检索性能帮助我们快速分析海量数据。

社区日报 第476期 (2018-12-12)

社区日报rockybean 发表了文章 • 0 个评论 • 1607 次浏览 • 2018-12-12 22:52 • 来自相关话题

1. 快来学习下如何便捷地记录文档插入 es 的时间?
http://t.cn/EUfESt7
2. 6.5.3发布了,还没升级到6的同学又多了一个新的选择!
http://t.cn/EUfEHvA
3. (自备梯子)如何不停机修改索引的 mapping?
http://t.cn/EUfErLr

编辑:rockybean
归档:https://elasticsearch.cn/article/6193
订阅:https://tinyletter.com/elastic-daily