ElasticSearch

Secure Elastic connection using transport client

我只是一个虾纸丫 提交于 2020-12-12 09:36:35
问题 The bounty expires in 7 hours . Answers to this question are eligible for a +50 reputation bounty. Atul Thakre is looking for a canonical answer . Need to connect to a secure elastic search which has https authentication using Transport client in java code. I have userId and password to connect secure elastic. I am using elasticsearch 7.10.0. try { Settings settings = Settings.builder().put("cluster.name", clusterName) .put("xpack.security.user", "elastic:elastic") .put("xpack.security

Python 中更优雅的日志记录方案

99封情书 提交于 2020-12-12 09:16:39
在 Python 中,一般情况下我们可能直接用自带的 logging 模块来记录日志,包括我之前的时候也是一样。在使用时我们需要配置一些 Handler、Formatter 来进行一些处理,比如把日志输出到不同的位置,或者设置一个不同的输出格式,或者设置日志分块和备份。但其实个人感觉 logging 用起来其实并不是那么好用,其实主要还是配置较为繁琐. 常见使用 首先看看 logging 常见的解决方案吧,我一般会配置输出到文件、控制台和 Elasticsearch。输出到控制台就仅仅是方便直接查看的;输出到文件是方便直接存储,保留所有历史记录的备份;输出到 Elasticsearch,直接将 Elasticsearch 作为存储和分析的中心,使用 Kibana 可以非常方便地分析和查看运行情况。 所以在这里我基本会对 logging 做如下的封装写法: mport logging import sys from os import makedirs from os.path import dirname, exists from cmreslogging.handlers import CMRESHandler loggers = {} LOG_ENABLED = True # 是否开启日志 LOG_TO_CONSOLE = True # 是否输出到控制台 LOG_TO_FILE

kafka消费端提交offset的方式

淺唱寂寞╮ 提交于 2020-12-12 01:42:52
Kafka 提供了 3 种提交 offset 的方式 自动提交 复制 1 2 3 4 // 自动提交,默认true props.put( "enable.auto.commit" , "true" ); // 设置自动每1s提交一次 props.put( "auto.commit.interval.ms" , "1000" ); 手动同步提交 offset 复制 1 consumer.commitSync(); 手动异步提交 offset 复制 1 consumer.commitAsync(); 上面说了既然异步提交 offset 可能会重复消费, 那么我使用同步提交是否就可以表明这个问题呢? 复制 1 2 3 4 5 6 7 while ( true ) { ConsumerRecords<String, String> records = consumer.poll(Duration.ofMillis( 100 )); records.forEach(record -> { insertIntoDB(record); consumer.commitSync(); }); } 很明显不行, 因为 insertIntoDB 和 commitSync() 做不到原子操作, 如果 insertIntoDB() 成功了,但是提交 offset 的时候 consumer 挂掉了

万亿级消息队列Kafka在滴滴的实践

江枫思渺然 提交于 2020-12-11 12:56:28
时间:2020年10月30日 地点:上海中庚聚龙酒店 场次:大数据&数据中台专场 演讲主题:《万亿级消息队列Kafka在滴滴的实践》 你将收获: 滴滴Kafka高可用建设在架构与引擎上做了哪些针对性优化? 如何应对Topic资源隔离差、影响集群稳定性等问题? 如何应对Kafka运维友好性与可观察性不足等问题? 张亮 滴滴出行 OLAP&搜索平台负责人 滴滴大数据架构部高级技术专家, 2014年加入滴滴,主持构建过任务调度系统、监控系统、日志服务、实时计算、同步中心等平台设计与研发工作 目前负责LogAgent、Kafka 、ElasticSearch、OLAP的引擎建设工作,具有丰富的高并发、高吞吐场景的架构设计与研发经验 DAMS峰会议程 报名方式 ↓ 点这里可了解峰会更多详情 本文分享自微信公众号 - 小白学IT(xiaobaixueIT)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“ OSC源创计划 ”,欢迎正在阅读的你也加入,一起分享。 来源: oschina 链接: https://my.oschina.net/u/4610683/blog/4690752

10大高性能开发宝石,我要消灭一半程序员!

為{幸葍}努か 提交于 2020-12-11 12:53:46
这篇文章,我们循序渐进,从内存、磁盘I/O、网络I/O、CPU、缓存、架构、算法等多层次递进,串联起高性能开发十大必须掌握的核心技术。 - I/O优化:零拷贝技术 - I/O优化:多路复用技术 - 线程池技术 - 无锁编程技术 - 进程间通信技术 - RPC && 序列化技术 - 数据库索引技术 - 缓存技术 && 布隆过滤器 - 全文搜索技术 - 负载均衡技术 准备好了吗,坐稳了,发车! 首先,我们从最简单的模型开始。 老板告诉你,开发一个静态web服务器,把磁盘文件(网页、图片)通过网络发出去,怎么做? 你花了两天时间,撸了一个1.0版本: 主线程进入一个循环,等待连接 来一个连接就启动一个工作线程来处理 工作线程中,等待对方请求,然后从磁盘读文件、往套接口发送数据,完事儿 上线一天,老板发现太慢了,大一点的图片加载都有卡顿感。让你优化,这个时候,你需要: I/O优化:零拷贝技术 上面的工作线程,从磁盘读文件、再通过网络发送数据,数据从磁盘到网络,兜兜转转需要拷贝四次,其中CPU亲自搬运都需要两次。 零拷贝技术 ,解放CPU,文件数据直接从内核发送出去,无需再拷贝到应用程序缓冲区,白白浪费资源。 Linux API: ssize_t sendfile( int out_fd, int in_fd, off_t *offset, size_t count );

2020年度MVP隆重揭晓!12月11日邀你相约北京

泄露秘密 提交于 2020-12-11 11:37:25
受疫情与国际形势的严峻考验,2020年对于中国IT行业来说注定是不平凡的一年。时势造英雄,那些在逆境中砥砺前行、开拓创新的技术英才和精英团队,让我们一起向他们致以诚挚的感谢与敬意。 在此,“dbaplus社群2020年度MVP”隆重揭晓! 我们基于这一年来各方专家和团队的贡献,经过客观数据统计、专家评审团评选、大众票选的三轮评定, 恭喜以下专家和团队成为“2020年度MVP”! 2 020 MVP - 原创专家奖 2020年度MVP之原创专家奖,献给笔耕不辍撰写干货好文、孜孜不倦分享知识经验的他们: 贺春旸 凡普金科和爱钱进认真商城DBA团队负责人 专家简介: 凡普金科和爱钱进认真商城DBA团队负责人,《MySQL管理之道:性能调优、高可用与监控》第一、二版作者,曾任职于中国移动飞信、安卓机锋网。三次荣获dbaplus社群年度MVP,致力于MariaDB、MongoDB等开源技术的研究,主要负责数据库性能调优、监控和架构设计。 获奖感言: 谁说这个世界是冰冷而残酷的,只要你胸怀坚定的信仰,保持高昂的斗志,这个世界说不定就会向你露出灿烂的微笑。 技术贡献: 为社群提供四款自研开源工具并开放下载使用:MySQL Monitor、OS_Monitor、MongoDB ReplSet Monitor、MongoDB Slowquery; 通过多篇文章撰写及Newsletter信息提供

ELSA企业日志归档查询系统

不问归期 提交于 2020-12-11 08:40:26
ELSA(全称:Enterprise Log Search and Archive)是一款基于syslog-ng(新一代日志收集器,但目前多数Linux发现版都不带此工具)、MySQL的开源级企业日志归档查询工具,由于它和Sphinx的完美搭配,支持全文索引可以像搜索Web一样轻松地搜索上亿个日志中的任意字符串(前提是你的服务器配置足够高)。单节点ELSA日志采集系统的工作原理图如下所示: 上面这张架构图可以看出ELSA从架构上分为三层: 日志接收器,由syslog-ng完成负责接收来自本地、网络以及导入的日志文件 日志存储索引,存储由MySQL数据库完成,索引由sphinx完成。 Web前端 。 ELSA利用syslog-ng的pattern-db解析器进行有效的日志规范化,并利用Sphinx全文索引进行日志搜索。系统内部API将查询结果汇总后,发送给客户端,整个系统是异步执行,可以跑多个查询。接收器syslog-ng在接收日志时并没有进行归一化处理(类比OSSIM-Agent插件),所以对日志的正则表达式计算量不大,可以在syslog-ng中保持高效的日志接收率,系统大部分有Perl脚本组成,MySQL每秒可插入100K行数据。Sphinx在索引中为新插入的行建立索引,每个2小时会重新建立一次永久索引。整个系统最大效率发挥时每秒钟可以处理100K条日志。

腾讯云CES自动化运维架构及最佳实践

一曲冷凌霜 提交于 2020-12-11 06:55:21
主题: 腾讯云CES自动化运维架构及最佳实践 大纲: 1. 如何看待“运维”在公司的定位和未来的发展方向 2. 做好自动化运维架构需要关注哪些方面 3. 运维岗位必备技能 4. 提效处理故障方面的建议 5. 腾讯云CES方面的运维架构有哪些独到之处 听说3306π要搞事情了 是啊,马上要搞3306π深圳站了 啊,是吗?哪天啊,在哪里办,怎么报名? 12月19日 ,就在 深圳南山区海岸城 ,点文末的原文链接或者扫描二维码就可以报名了,一起来吹吹牛逼。 嘉宾自我介绍 李明 高级运维工程师 曾先后在携程、华为云等公司从事多年MySQL DBA的工作,目前在腾讯负责腾讯云Elasticsearch,CTSDB产品的运维工作。对于ES、CTSDB在日志分析、大数据搜索、时序分析等场景的使用有丰富的实践经验。 01 李老师,很多人都在谈脱离传统运维模式,更好的帮助业务前行。您是如何看待“运维”在公司的定位和未来的发展方向呢? 运维作为一个比较传统的岗位,在当前大量中小企业都拥抱上云或自动化程度越来越 高 的背景下,其工作的定位的却是受到了一些影响,以前需要专业运维来部署的一些环境,现在并不是那么需要了,但这并不意味着运维岗位的生存将受到很大的影响。 只是对运维人员提出了更高的要求,一方面需要运维人员对所服务的产品本身的特性,要相对开发人员有更深的认识,从而指导其更开发出更专业的产品

#Elasticsearch探索:Suggester

让人想犯罪 __ 提交于 2020-12-10 18:21:39
简介 现代的搜索引擎,一般都会提供 Suggest as you type 的功能,帮助用户在输入搜索的过程中,进行自动补全或者纠错。通过协助用户输入更加精准的关键词,提高后续搜索阶段文档匹配的程度。在 google 上搜索,一开始会自动补全。当输入到一定长度,如因为单词拼写错误无法补全,就会开始提示相似的词或者句子。 1. Suggester API 搜索引擎中类似的功能,在 ES 中通过 Sugester API 实现的 原理:将输入的文档分解为 Token,然后在索引的字段里查找相似的 Term 并返回 根据不同的使用场景,ES 设计了 4 种类别的 Suggesters Term Phrase Suggester Complete Context Suggester Term Suggester Suggester 就是一种特殊类型的搜索。“text” 里是调用时候提供的文本,通常来自用户界面上用户输入的内容。用户输入的 “lucen” 是一个错误的拼写会到 指定的字段 “body” 上搜索,当无法搜索到结果时(missing),返回建议的词。 PUT /suggest_article/ { "mappings": { "_doc": { "properties": { "body": { "type": "text" } } } } } PUT suggest

腾讯云CES自动化运维架构及最佳实践

大兔子大兔子 提交于 2020-12-10 10:52:07
主题: 腾讯云CES自动化运维架构及最佳实践 大纲: 1. 如何看待“运维”在公司的定位和未来的发展方向 2. 做好自动化运维架构需要关注哪些方面 3. 运维岗位必备技能 4. 提效处理故障方面的建议 5. 腾讯云CES方面的运维架构有哪些独到之处 听说3306π要搞事情了 是啊,马上要搞3306π深圳站了 啊,是吗?哪天啊,在哪里办,怎么报名? 12月19日 ,就在 深圳南山区海岸城 ,点文末的原文链接或者扫描二维码就可以报名了,一起来吹吹牛逼。 嘉宾自我介绍 李明 高级运维工程师 曾先后在携程、华为云等公司从事多年MySQL DBA的工作,目前在腾讯负责腾讯云Elasticsearch,CTSDB产品的运维工作。对于ES、CTSDB在日志分析、大数据搜索、时序分析等场景的使用有丰富的实践经验。 01 李老师,很多人都在谈脱离传统运维模式,更好的帮助业务前行。您是如何看待“运维”在公司的定位和未来的发展方向呢? 运维作为一个比较传统的岗位,在当前大量中小企业都拥抱上云或自动化程度越来越高的背景下,其工作的定位的却是受到了一些影响,以前需要专业运维来部署的一些环境,现在并不是那么需要了,但这并不意味着运维岗位的生存将受到很大的影响。 只是对运维人员提出了更高的要求,一方面需要运维人员对所服务的产品本身的特性,要相对开发人员有更深的认识,从而指导其更开发出更专业的产品