Elastic

在 Kubernetes 上弹性深度学习训练利器-Elastic Training Operator

一世执手 提交于 2021-02-19 17:13:49
背景 由于云计算在资源成本和弹性扩容方面的天然优势,越来越多客户愿意在云上构建 AI 系统,而以容器、Kubernetes 为代表的云原生技术,已经成为释放云价值的最短路径, 在云上基于 Kubernetes 构建 AI 平台已经成为趋势。 当面临较复杂的模型训练或者数据量大时,单机的计算能力往往无法满足算力要求。通过使用阿里的 AiACC 或者社区的 horovod 等分布式训练框架,仅需修改几行代码,就能将一个单机的训练任务扩展为支持分布式的训练任务。在 Kubernetes 上常见的是 kubeflow 社区的 tf-operator 支持 Tensorflow PS 模式,或者 mpi-operator 支持 horovod 的 mpi allreduce 模式。 现状 Kubernetes 和云计算提供敏捷性和伸缩性,我们可以通过 cluster-AutoScaler 等组件为训练任务设置弹性策略,利用 Kubernetes 的弹性能力,按需创建,减少 GPU 设备空转。 但这种伸缩模式面对训练这种离线任务还是略有不足: 不支持容错,当部分 Worker 由于设备原因失败,整个任务需要停止重来。 训练任务一般时间较长,占用算力大,任务缺少弹性能力。当资源不足时,除非任务终止,无法按需为其他业务腾出资源。 训练任务时间较长,不支持 worker 动态配置,

Spring Boot Actuator

旧巷老猫 提交于 2021-02-17 03:44:28
编者注 由于开发一个对性能要求很强的后台应用,突然发现部署到aliyun发生问题,而普通笔记本没有任何问题,则需要持续一段时间的监控定位函数执行时间,分析过程,并添加健康检查的可视化内容。 Actuator [Spring Boot Actuator: Production-ready features](Part V. Spring Boot Actuator: Production-ready features) SpringBoot Actuator Spring Boot 包含了Spring Boot Actuator。本段回答一些经常出现的。 更改Actuator Endpoints的Http端口或者地址 在独立应用中,Actuator HTTP端口默认与应用HTTP端口一致。希望Actuator使用不同端口,设置扩展属性: management.server.port 。设置完全不同的网络地址(例如:当你有一个用于管理的内部网卡和使用应用的外部网卡),你可以设置 management.server.address 提供一个服务可以绑定的有效地址。 更多详情,请看 ManagementServerProperties 的源代码, 段落 54.2 "自定义管理服务端口" 在生产就绪特性端口中。 自定义‘whitelabel’错误页 Spring Boot 安装一个

IK分词器插件elasticsearch-analysis-ik 6.1.1

天大地大妈咪最大 提交于 2021-02-16 13:28:27
http://88250.b3log.org/full-text-search-elasticsearch#b3_solo_h3_0 IK分词器插件 (1)源码 https://github.com/medcl/elasticsearch-analysis-ik (2)releases https://github.com/medcl/elasticsearch-analysis-ik/releases (3)复制zip地址 https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.1.1/elasticsearch-analysis-ik-6.1.1.zip 4.2 安装插件 (1)elasticsearch-plugin [es @node1 elasticsearch- 6.1. 1] $ bin/elasticsearch-plugin install https:/ /github.com/medcl /elasticsearch-analysis-ik/releases /download/v6. 1.1/elasticsearch-analysis-ik- 6.1. 1.zip -> Downloading https:/ /github.com/medcl

Elasticsearch基本操作

…衆ロ難τιáo~ 提交于 2021-02-16 03:00:59
在学习Elasticsearch的过程中想找一些可以系统的描述es操作的文章,但是官网没有中文页面,ES中文指南的排版和翻译又很突兀和不协调,因此决定自己看一遍官方的maunal总结一下,由于没时间把所有章节全部翻一遍,所以写一篇学习笔记以便完成初步的学习。 概念总览: 在描述ES的基本操作之前,首先来介绍几个概念: Relational DB -> Databases -> Tables -> Rows -> Columns Elasticsearch -> Indices -> Types -> Documents -> Fields 以上是早期的官方文档贴出的一个概念介绍图,其含义不用多说,其实ES更适合与MongoDB类比: MongoDB -> DBs -> Collections -> Documents -> Fields Elasticsearch -> Indices -> Types -> Documents -> Fields ES里的Index可以看做一个库,Documents相当于表的行,而Types相当于表。 但是Types的概念将会被逐渐弱化并可能在未来版本中删除,而在Elasticsearch 6中,一个index下已经只能包含一个type了,因此可以将index理解为一个表,types意如其名仅用于展示一个document所属的分类

写给大忙人的ELK最新版6.2.4学习笔记-Logstash和Filebeat解析(java异常堆栈下多行日志配置支持)

瘦欲@ 提交于 2021-02-11 10:42:37
接前一篇 CentOS 7下最新版(6.2.4)ELK+Filebeat+Log4j日志集成环境搭建完整指南 ,继续对ELK。 logstash官方最新文档https://www.elastic.co/guide/en/logstash/current/index.html。 假设有几十台服务器,每台服务器要监控系统日志syslog、tomcat日志、nginx日志、mysql日志等等,监控OOM、内存低下进程被kill、nginx错误、mysql异常等等,可想而知,这是多么的耗时耗力。 logstash采用的是插件化体系架构,几乎所有具体功能的实现都是采用插件,已安装的插件列表可以通过bin/logstash-plugin list --verbose列出。或者访问https://www.elastic.co/guide/en/logstash/current/input-plugins.html、https://www.elastic.co/guide/en/logstash/current/output-plugins.html。 logstash配置文件格式 分为输入、过滤器、输出三部分。除了POC目的外,基本上所有实际应用中都需要filter对日志进行预处理,无论是nginx日志还是log4j日志。output中的stdout同理。 input { log4j {

灵魂一问:为什么对gRPC做负载均衡会很棘手?

六月ゝ 毕业季﹏ 提交于 2021-02-09 15:52:56
在过去的几年中,随着微服务的增长,gRPC在这些较小的服务之间的相互通信中获得了很大的普及,在后台,gRPC使用http/2在同一连接和双工流中复用许多请求。 使用具有结构化数据的快速,轻便的二进制协议作为服务之间的通信介质确实很有吸引力,但是使用gRPC时需要考虑一些因素,最重要的是如何处理负载均衡。 gRPC使用粘性连接 gRPC连接是粘性的。这意味着当从客户端到服务器建立连接时,相同的连接将被尽可能长时间地用于许多请求(多路复用)。这样做是为了避免所有最初的时间和资源花费在TCP握手上。因此,当客户端获取与服务器实例的连接时,它将保持连接。 现在,当同一客户端开始发送大量请求时,它们都将转到同一服务器实例。而这正是问题所在,将没有机会将负载分配给其他实例。他们都去同一个实例。 这就是为什么粘性连接会使负载平衡变得非常困难。 以下是一些负载均衡gRPC相互通信的方法,以及每种方法的一些细节。 1.服务器端 当在服务器端完成负载均衡时,会使客户端非常精简,并且完全不知道如何在服务器上处理负载: 网络负载均衡器 网络负载均衡器在OSI (Open Systems Interconnection) 模型的第4层运行。因此,它非常快,可以处理更多的连接。当出现新的TCP通信连接时,负载均衡器将选择一个实例,并且在连接有效期内将连接路由到该单个实例。 现在请记住

搜索引擎Elasticsearch REST API学习

蓝咒 提交于 2021-02-02 03:44:54
  Elasticsearch为开发者提供了一套基于Http协议的Restful接口,只需要构造rest请求并解析请求返回的json即可实现访问Elasticsearch服务器。Elasticsearch的API接口功能丰富,包含集群、监控、部署管理等,也包含常用的文档、索引操作,本文主要是使用Postman工具对文档操作相关的api做学习记录。 新增文档 PUT方式:http://localhost:9200/store/product/1 //指定id,存在则更新,不存在则新增 POST方式:http://localhost:9200/store/product //自动生成id 其中store表示Index,product表示Type,数字1表示的是Document(文档)的主键,主键可以是任意的形式,也可以不指定主键,Elasticsearch将会自动生成一个唯一主键,但是必须是post方式提交请求。 测试: 返回结果中_id:自动生成的主键,_shards:表示分区信息,total:2表示有两个分区,successful:1 表示成功赋值了一份。_version:1表示该文档的版本号,每修改一次,版本号都会自增。 Elasticseach-head中查看数据: 根据主键查询 GET方式:http://localhost:9200/store/product

kafka本地环境搭建

為{幸葍}努か 提交于 2021-02-01 17:55:04
1. 下载 2.解压后修改配置文件 #唯一编号 broker.id=1 #用来监听的地址 listeners=PLAINTEXT://127.0.0.1:9092 #日志路径 log.dirs=E:/kafka_2.13-2.7.0/kafka_2.13-2.7.0/tmp/kafka-logs #zk的连接 zookeeper.connect=localhost:2181 3.启动 1.先启动zk 2.启动kafka kafka-server-start.bat ..\..\config\server.properties #创建主题 kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic kafka-test-topic #查看创建的主题 kafka-topics.bat --list --zookeeper localhost:2181 #启动生产者 kafka-console-producer.bat --broker-list localhost:9092 --topic kafka-test-topic #启动消费者 kafka-console-consumer.bat --bootstrap-server localhost