Elastic

【原】无脑操作:ElasticSearch学习笔记(01)

你说的曾经没有我的故事 提交于 2020-04-25 17:06:14
开篇来自于经典的“保安的哲学三问”(你是谁,在哪儿,要干嘛) 问题一、ElasticSearch是什么?有什么用处? 答:截至2018年12月28日,从ElasticSearch官网( https://www.elastic.co/cn/products )上,得知:ElasticSearch是基于 JSON 的分布式搜索和分析引擎,专为实现水平扩展、高可靠性和管理便捷性而设计。 用于搜索、分析和存储您的数据。 问题二、ElasticSearch的由来? 答:大约在2010年,一个叫Shay Banon的待业工程师跟随他的新婚妻子来到伦敦,他的妻子想在伦敦学习做一名厨师。而他在伦敦寻找工作的期间,接触到了Lucene的早期版本,他想为自己的妻子开发一个方便搜索菜谱的应用。直接使用Lucene构建搜索会有很多的坑以及重复性的工作,所以Shay便在Lucene的基础上不断进行抽象来让Java程序嵌入搜索变得更容易一些,经过一段时间的打磨,就诞生了他的第一个开源作品,他给自己的这个作品起了个名字,叫 “Compass”,中文即“指南针”的意思。之后,Shay找到了一份新工作,新工作是处在一个高性能分布式的开发环境中。他在工作中渐渐发现,越来越需要一个易用的高性能、实时、分布式搜索服务,于是他决定重写Compass,将它从一个库打造成了一个独立的server

大数据之elasticsearch +logstash+ kibana (一)服务搭建及测试

风流意气都作罢 提交于 2020-04-24 14:53:58
通过查看网上的资料和文档,来把这块整理下。 elasticsearch 一个简单且又复杂的搜索引擎(类kafka),索引,片,文档等操作元素。在集群环境下的搜索比较能发挥作用。 logstash (logstash-input-jdbc)用来实时同步数据库表数据到elasticsearch上 kibana 提供一个可视化监控管理及分析测试elasticsearch数据数据的工具。 上面搭建完并测试通过后,然后就 Java编写 elasticsearch客户端的代码 (后续补充) 一, 服务器环境 CentOS 7 (64-bit) VMware 虚机上 ( IP : 172.16.28.248) JDK1.8 (Elasticsearch 的最低要求) oracle (IP: 172.16.28.243 ) JDK 安装 命令 :yum install java-1.8.0-openjdk* -y 二,Elastic搭建 1. 安装包下载及解压 官网下载 elasticsearch 包最新版本 elasticsearch-6.6.1.tar.gz https://www.elastic.co/cn/downloads/elasticsearch 创建目录 data/elastic # 将 elasticsearch- 6.6 . 1 .tar.gz 放到 data/ elastic

山石vWAF登陆AWS MarketPlace China | 云安全,本应如此简单

走远了吗. 提交于 2020-04-24 02:42:45
AWS Marketplace官方网站现已在AWS中国(宁夏)区域和AWS中国(北京)区域推出。在此之前,拥有有效AWS中国账户的客户只能通过Amazon Elastic Compute Cloud (Amazon EC2) 控制台浏览AWS Marketplace China中的第三方软件。现在,借助AWS Marketplace China网站,任何客户都可以通过互联网查找和比较AWS Marketplace China上展示的各种软件产品。 用户登录到AWS中国账户后,使用“从网站启动”选项,只需几次点击即可快速部署Amazon系统映像(AMI)产品。如果用户需要更多的配置选项,也可以使用Amazon EC2控制台启动产品。使用“您的Marketplace软件”菜单,客户可以轻松查看和管理订阅过的软件产品。客户还可以将产品收藏到他们最喜欢产品的列表中,方便后续查看。 目前,AWS Marketplace China支持免费或自带许可 (BYOL) 的AMI产品,其中包括山石网科虚拟化下一代防火墙山石云·界(CloudEdge),及山石网科虚拟化Web应用防火墙(山石vWAF)。 图注:山石vWAF登陆AWS Marketplace 山石vWAF是通过AWS网络能力和安全能力认证的解决方案,可以完全集成到您的AWS部署工作流中

什么是云服务器?

∥☆過路亽.° 提交于 2020-04-23 16:12:11
什么是云服务器 云服务器Elastic Compute Service(ECS)是阿里云提供的一种基础云计算服务。它能帮助您快速的构建更稳定、安全的应用,提高运维效率,降低IT成本,使您更专注于核心业务创新。 云服务器说白了就是远程不知放在哪个机房的一台电脑,可以通过远程控制部署自己的项目。 云服务器相对传统的服务器而言,在部署项目时您无需提前采购硬件设备,而是根据业务需要,随时创建所需数量的云服务器ECS实例。在使用过程中,随着业务的扩展,您可以随时扩容磁盘、增加带宽。如果不再需要云服务器,也能随时释放资源,节省费用。 下图列出了ECS涉及的所有资源,包括实例规格、块存储、镜像、快照、带宽和安全组。您可以通过云服务器管理控制台或者 阿里云App及API配置 您的ECS资源。 相关概念 在使用ECS之前,您需要了解以下概念: 地域和可用区:是指ECS实例所在的物理位置。用户访问网站的速度和服务器部署物理位置是有关系的。 实例:等同于一台虚拟机,包含CPU、内存、操作系统、网络、磁盘等最基础的计算组件。 实例规格:是指实例的配置,包括vCPU核数、内存、网络性能等。实例规格决定了ECS实例的计算和存储能力。 镜像:是指ECS实例运行环境的模板,一般包括操作系统和预装的软件。操作系统支持多种Linux发行版本和不同的Windows版本。 块存储:包括基于分布式存储架构的

search(6)- elastic4s-CRUD

♀尐吖头ヾ 提交于 2020-04-23 07:18:02
如果我们把ES作为某种数据库来使用的话,必须熟练掌握ES的CRUD操作。在这之前先更正一下上篇中关于检查索引是否存在的方法:elastic4s的具体调用如下: // 删除索引 val rspExists = client.execute(indexExists( " company " )). await if (rspExists.result.exists) client.execute(deleteIndex( " company " )). await 在下面我们还会示范如何检查一条记录(document)是否存在的方法。 先示范新建一条记录。一般来讲数据库表都有个唯一字段,最好用ES里的id来代表,否则ES会自动产生一个唯一id,那么随机读取get时就会很不方便。如果新插入的记录id已经在表里存在,ES会替换新的内容,不会产生异常。可以在elastic4s里使用createOnly(true)来强制产生重复id异常: import com.sksamuel.elastic4s.{ElasticClient, ElasticProperties} import com.sksamuel.elastic4s.akka._ import akka.actor._ import scala.concurrent.ExecutionContext.Implicits. global

search(6)- elastic4s-CRUD

扶醉桌前 提交于 2020-04-23 05:05:08
如果我们把ES作为某种数据库来使用的话,必须熟练掌握ES的CRUD操作。在这之前先更正一下上篇中关于检查索引是否存在的方法:elastic4s的具体调用如下: // 删除索引 val rspExists = client.execute(indexExists( " company " )). await if (rspExists.result.exists) client.execute(deleteIndex( " company " )). await 在下面我们还会示范如何检查一条记录(document)是否存在的方法。 先示范新建一条记录。一般来讲数据库表都有个唯一字段,最好用ES里的id来代表,否则ES会自动产生一个唯一id,那么随机读取get时就会很不方便。如果新插入的记录id已经在表里存在,ES会替换新的内容,不会产生异常。可以在elastic4s里使用createOnly(true)来强制产生重复id异常: import com.sksamuel.elastic4s.{ElasticClient, ElasticProperties} import com.sksamuel.elastic4s.akka._ import akka.actor._ import scala.concurrent.ExecutionContext.Implicits. global

结构化日志:出错时你最想要的好朋友

筅森魡賤 提交于 2020-04-22 04:40:08
[toc] 原文: Structured Logging: The Best Friend You’ll Want When Things Go Wrong 介绍    在这篇文章里,我们重点介绍结构化日志。我们讨论是是什么,为什么好,以及如何构建一个框架更好的与我们当前基于 Elastic stack 的日志后端集成,使我们更好,更高效记日志。    结构化日志是我们竭力做的很大一部分,结构化日志能让我们减少bug解决时间(MTTR),中断时帮助开发人员更快地缓解问题。 什么是日志?    日志是包含有关系统中发生一些事件的几行文本信息,并且起着帮助我们了解后端正在发生的事情的重要作用。日志通常放置于重要事件的代码中(例如:成功操作某些数据库,或者指派司机给乘客),或我们感兴趣留意的代码中。    当有错误时,正常开发者做的第一件事情就是查看日志——有点像浏览系统的历史,并且找出发生了什么。因此,在服务中断、错误、构建失败时,日志成为开发人员最好的朋友。 现在的日志具有不同的格式和功能 日志格式 :从基于键-值(像syslog)到非常结构化和详细(像JSON)。由于日志主要用于开发者的眼睛,因此日志详细和结构化程度决定了开发者查询和阅读日志的速度。数据越结构化——每行日志就越大,尽管更易于查询和包含更丰富的信息。 等级日志(或日志等级) :不同等级对应着不同重要性的日志

search(5)- elastic4s-构建索引

别来无恙 提交于 2020-04-19 14:14:14
按照计划,这篇开始尝试用elastic4s来做一系列索引管理和搜索操作示范。前面提过,elastic4s的主要功能之一是通过组合Dsl语句形成json请求。那么我们先试试组合一些Dsl语句,再想办法产生出json请求文本,然后在kibana控制台中验证它的正确性。 首先看看elastic4s提供的一个show函数: def show( implicit handler: Handler[T, _]): String = Show[ElasticRequest].show(handler.build(t)) 又见到了这个Handler[T, _],作为show的一个隐式参数。前面说过这个Handler[T, _]是个代表构建T类型json请求的typeclass。具体构建函数就是上面的这个build(t)函数。我们先看看CreateIndexRequest类型的show函数示范: val jsCreate = createIndex( " company " ) .shards( 1 ).replicas( 1 ).show println(jsCreate) 产生了json如下: PUT:/company? StringEntity({ " settings " :{ " index " :{ " number_of_shards " : 1 , " number_of

search(5)- elastic4s-构建索引

倾然丶 夕夏残阳落幕 提交于 2020-04-19 11:51:25
按照计划,这篇开始尝试用elastic4s来做一系列索引管理和搜索操作示范。前面提过,elastic4s的主要功能之一是通过组合Dsl语句形成json请求。那么我们先试试组合一些Dsl语句,再想办法产生出json请求文本,然后在kibana控制台中验证它的正确性。 首先看看elastic4s提供的一个show函数: def show( implicit handler: Handler[T, _]): String = Show[ElasticRequest].show(handler.build(t)) 又见到了这个Handler[T, _],作为show的一个隐式参数。前面说过这个Handler[T, _]是个代表构建T类型json请求的typeclass。具体构建函数就是上面的这个build(t)函数。我们先看看CreateIndexRequest类型的show函数示范: val jsCreate = createIndex( " company " ) .shards( 1 ).replicas( 1 ).show println(jsCreate) 产生了json如下: PUT:/company? StringEntity({ " settings " :{ " index " :{ " number_of_shards " : 1 , " number_of

PaddlePaddle/ElasticCTR

落爺英雄遲暮 提交于 2020-04-16 11:48:02
【推荐阅读】微服务还能火多久?>>> ElasticCTR ElasticCTR是分布式训练CTR预估任务和Serving流程一键部署的方案,用户只需配置数据源、样本格式即可完成一系列的训练与预测任务 1. 总体概览 2. 配置集群 3. 一键部署教程 4. 训练进度追踪 5. 预测服务 1. 总体概览 本项目提供了端到端的CTR训练和二次开发的解决方案,主要特点如下: 1.快速部署 ElasticCTR当前提供的方案是基于百度云的Kubernetes集群进行部署,用户可以很容易扩展到其他原生的Kubernetes环境运行ElasticCTR。 2.高性能 ElasticCTR采用PaddlePaddle提供的全异步分布式训练方式,在保证模型训练效果的前提下,近乎线性的扩展能力可以大幅度节省训练资源。在线服务方面,ElasticCTR采用Paddle Serving中高吞吐、低延迟的稀疏参数预估引擎,高并发条件下是常见开源组件吞吐量的10倍以上。 3.可定制 用户可以通过统一的配置文件,修改训练中的训练方式和基本配置,包括在离线训练方式、训练过程可视化指标、HDFS上的存储配置等。除了通过修改统一配置文件进行训练任务配置外,ElasticCTR采用全开源软件栈,方便用户进行快速的二次开发和改造。底层的Kubernetes、Volcano可以轻松实现对上层任务的灵活调度策略