<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">由于公司内部业务需求,需要将大量的请求日志做统计分析,所以用到了elasticsearch全文搜索引擎</span>
一、采用何种方式做日志收集
1、采用mysql数据同步的方式将数据批量写入elasticsearch,这种方式需要自己控制每次最后一次插入数据的状态,以便下次从上次标记的状态继续同步数据,
2、网上给出的方案为jdbc-river这种方式同步过程比较慢,而且对于百万级数据不是最好的选择,另外对于数据的实时收集影响mysql的性能
3、最后采用kafka+elasticsearch的方式做:
具体为:
1)每次请求以及产生的数据都通过数据管道kafka做数据传输,再通过脚本将管道中的数据写入elasticsearch,这里想说的是elasticsearch有个bulk可以批量的导入数据
下面附上elasticsearch的配置以及中文分词的ik的配置方式
本文ElasticSearch2.3.1最新版的安装,如果遇到未知错误请翻墙google,国内的相关文章都比较老
首先从官网官网:https://www.elastic.co/guide/en/sense/current/installing.html下载对应的版本
(首先确保已经有jdk环境,本人jdk版本为1.8.51)这里笔者想说明的是jdk1.8.91安装以后会提示java环境找不到或者是librjava.so找不到,所以最好选择1.7到1.8.51版本
按照官网的提示进行启动发现报错:
Exception in thread "main" java.lang.RuntimeException: don't run elasticsearch as root.
at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:93)
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:144)
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:270)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35)
这是因为不能用root用户运行,必须为其创建一个用户和用户组,但是非要运行那笔者给出经过尝试和google终于运行成功
解决如下:
./bin/elasticsearch -d -Des.insecure.allow.root=true
这样启动就正常了
对于分布式配置只要配置文件的cluster.name的值为同一个就可以,但是在不同IP段想要分布式感应需要配置IP,在配置文件中找到
discovery.zen.ping.unicast.hosts: ["host1", "host2:port", "host3[portX-portY]"] 数组中改为对应的IP即可成功感应
二、分词插件ik安装
对于es2.3以后的版本安装ik分词器需要用户自己打包,然后将对于的jar包文件和配置文件复制到es目录中即可
具体步骤为:
1、在github中下载对应的版本地址为:https://github.com/medcl/elasticsearch-analysis-ik/releases
2、选择对应版本
cd /tmpwget https://github.com/medcl/elasticsearch-analysis-ik/archive/master.zipunzip master.zipcd elasticsearch-analysis-ik/
然后使用mvn package
命令,编译出jar包
将target/releases/下所有文件包复制到Elasticsearch的plugins/analysis-ik
目录下,再把解压出的ik目录(配置和词典等),复制到Elasticsearch的config
目录下。然后编辑配置文件elasticsearch.yml
,在后面加一行:index.analysis.analyzer.ik.type : "ik"
3、最后重启即可安装成功
三、kafka安装请参考本人上期安装说明博客
Original url: Access
Created at: 2018-11-26 13:51:08
Category: default
Tags: none
未标明原创文章均为采集,版权归作者所有,转载无需和我联系,请注明原出处,南摩阿彌陀佛,知识,不只知道,要得到
java windows火焰图_mob64ca12ec8020的技术博客_51CTO博客 - 在windows下不可行,不知道作者是怎样搞的 监听SpringBoot 服务启动成功事件并打印信息_监听springboot启动完毕-CSDN博客 SpringBoot中就绪探针和存活探针_management.endpoint.health.probes.enabled-CSDN博客 u2u转换板 - 嘉立创EDA开源硬件平台 Spring Boot 项目的轻量级 HTTP 客户端 retrofit 框架,快来试试它!_Java精选-CSDN博客 手把手教你打造一套最牛的知识笔记管理系统! - 知乎 - 想法有重合-理论可参考 安宇雨 闲鱼 机械键盘 客制化 开贴记录 文本 linux 使用find命令查找包含某字符串的文件_beijihukk的博客-CSDN博客_find 查找字符串 ---- mac 也适用 安宇雨 打字音 记录集合 B站 bilibili 自行搭建 开坑 真正的客制化 安宇雨 黑苹果开坑 查找工具包maven pom 引用地 工具网站 Dantelis 介绍的玩轴入坑攻略 --- 关于轴的一些说法 --- 非官方 ---- 心得而已 --- 长期开坑更新 [本人问题][新开坑位]关于自动化测试的工具与平台应用 机械键盘 开团 网站记录 -- 能做一个收集的程序就好了 不过现在没时间 -- 信息大多是在群里发的 - 你要让垃圾佬 都去一个地方看难度也是很大的 精神支柱 [超级前台]sprinbboot maven superdesk-app 记录 [信息有用] [环境准备] [基本完成] [sebp/elk] 给已创建的Docker容器增加新的端口映射 - qq_30599553的博客 - CSDN博客 [正在研究] Elasticsearch, Logstash, Kibana (ELK) Docker image documentation elasticsearch centos 安装记录 及 启动手记 正式服务器 39 elasticsearch 问题合集 不断更新 6.1.1 | 6.5.1 两个版本 博客程序 - 测试 - bug记录 等等问题 laravel的启动过程解析 - lpfuture - 博客园 OAuth2 Server PHP 用 Laravel 搭建带 OAuth2 验证的 RESTful 服务 | Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区 利用Laravel 搭建oauth2 API接口 附 Unauthenticated 解决办法 - 煮茶的博客 - SegmentFault 思否 使用 OAuth2-Server-php 搭建 OAuth2 Server - 午时的海 - 博客园 基于PHP构建OAuth 2.0 服务端 认证平台 - Endv - 博客园 Laravel 的 Artisan 命令行工具 Laravel 的文件系统和云存储功能集成 浅谈Chromium中的设计模式--终--Observer模式 浅谈Chromium中的设计模式--二--pre/post和Delegate模式 浅谈Chromium中的设计模式--一--Chromium中模块分层和进程模型 DeepMind 4 Hacking Yourself README.md update 20211011
Laravel China 简书 知乎 博客园 CSDN博客 开源中国 Go Further Ryan是菜鸟 | LNMP技术栈笔记 云栖社区-阿里云 Netflix技术博客 Techie Delight Linkedin技术博客 Dropbox技术博客 Facebook技术博客 淘宝中间件团队 美团技术博客 360技术博客 古巷博客 - 一个专注于分享的不正常博客 软件测试知识传播 - 测试窝 有赞技术团队 阮一峰 语雀 静觅丨崔庆才的个人博客 软件测试从业者综合能力提升 - isTester IBM Java 开发 使用开放 Java 生态系统开发现代应用程序 pengdai 一个强大的博主 HTML5资源教程 | 分享HTML5开发资源和开发教程 蘑菇博客 - 专注于技术分享的博客平台 个人博客-leapMie 流星007 CSDN博客 - 舍其小伙伴 稀土掘金 Go 技术论坛 | Golang / Go 语言中国知识社区
最新评论