您好,欢迎来到聚文网。
登录
免费注册
网站首页
|
搜索
热搜:
磁力片
|
漫画
|
购物车
0
我的订单
商品分类
首页
幼儿
文学
社科
教辅
生活
销量榜
Elasticsearch源码解析与优化实战
字数: 432千字
装帧: 平装
出版社: 电子工业出版社
作者: 张超
出版日期: 2018-11-01
商品条码: 9787121352164
版次: 1
开本: 16开
页数: 343
出版年份: 2018
定价:
¥89
销售价:
登录后查看价格
¥{{selectedSku?.salePrice}}
库存:
{{selectedSku?.stock}}
库存充足
{{item.title}}:
{{its.name}}
加入购物车
立即购买
加入书单
收藏
精选
¥5.83
世界图书名著昆虫记绿野仙踪木偶奇遇记儿童书籍彩图注音版
¥5.39
正版世界名著文学小说名家名译中学生课外阅读书籍图书批发 70册
¥8.58
简笔画10000例加厚版2-6岁幼儿童涂色本涂鸦本绘画本填色书正版
¥5.83
世界文学名著全49册中小学生青少年课外书籍文学小说批发正版
¥4.95
全优冲刺100分测试卷一二三四五六年级上下册语文数学英语模拟卷
¥8.69
父与子彩图注音完整版小学生图书批发儿童课外阅读书籍正版1册
¥24.2
好玩的洞洞拉拉书0-3岁宝宝早教益智游戏书机关立体翻翻书4册
¥7.15
幼儿认字识字大王3000字幼儿园中班大班学前班宝宝早教启蒙书
¥11.55
用思维导图读懂儿童心理学培养情绪管理与性格培养故事指导书
¥19.8
少年读漫画鬼谷子全6册在漫画中学国学小学生课外阅读书籍正版
¥64
科学真好玩
¥12.7
一年级下4册·读读童谣和儿歌
¥38.4
原生态新生代(传统木版年画的当代传承国际研讨会论文集)
¥11.14
法国经典中篇小说
¥11.32
上海的狐步舞--穆时英(中国现代文学馆馆藏初版本经典)
¥21.56
猫的摇篮(精)
¥30.72
幼儿园特色课程实施方案/幼儿园生命成长启蒙教育课程丛书
¥24.94
旧时风物(精)
¥12.04
三希堂三帖/墨林珍赏
¥6.88
寒山子庞居士诗帖/墨林珍赏
¥6.88
苕溪帖/墨林珍赏
¥6.88
楷书王维诗卷/墨林珍赏
¥9.46
兰亭序/墨林珍赏
¥7.74
祭侄文稿/墨林珍赏
¥7.74
蜀素帖/墨林珍赏
¥12.04
真草千字文/墨林珍赏
¥114.4
进宴仪轨(精)/中国古代舞乐域外图书
¥24.94
舞蹈音乐的基础理论与应用
内容简介
本书介绍了Elasticsearch的系统原理,旨在帮助读者了解其内部原理、设计思想,以及在生产环境中如何正确地部署、优化系统。系统原理分两方面介绍,一方面详细介绍主要流程,例如启动流程、选主流程、恢复流程;另一方面介绍各重要模块的实现,以及模块之间的关系,例如gateway模块、allocation模块等。本书的很后一部分介绍如何优化写入速度、搜索速度等大家关心的实际问题,并提供了一些诊断问题的方法和工具供读者参考。
作者简介
张超,长期从事服务端和基础架构等研发工作,对搜索、分布式系统、高性能网络服务有浓厚的兴趣,喜欢探究技术本质,喜欢分析有深度的问题。目前就职于360企业安全集团基础大数据团队,负责平台内核研发工作。
目录
第1章走进Elasticsearch
1.1基本概念和原理
1.1.1索引结构
1.1.2分片(shard)
1.1.3动态更新索引
1.1.4近实时搜索
1.1.5段合并
1.2集群内部原理
1.2.1集群节点角色
1.2.2集群健康状态
1.2.3集群状态
1.2.4集群扩容
1.3客户端API
1.4主要内部模块简介
1.4.1模块结构
1.4.2模块管理
第2章准备编译和调试环境
2.1编译源码
2.1.1准备JDK和Gradle
2.1.2下载源代码
2.1.3编译项目,打包
2.1.4将工程导入IntelliJIDEA
2.2调试Elasticsearch
2.2.1本地运行、调试项目
2.2.2远程调试
2.3代码书签和断点组
第3章集群启动流程
3.1选举主节点
3.2选举集群元信息
3.3allocation过程
3.4indexrecovery
3.5集群启动日志
3.6小结
第4章节点的启动和关闭
4.1启动流程做了什么
4.2启动流程分析
4.2.1启动脚本
4.2.2解析命令行参数和配置文件
4.2.3加载安全配置
4.2.4检查内部环境
4.2.5检测外部环境
4.2.6启动内部模块
4.2.7启动keepalive线程
4.3节点关闭流程
4.4关闭流程分析
4.5分片读写过程中执行关闭
4.6主节点被关闭
4.7小结
第5章选主流程
5.1设计思想
5.2为什么使用主从模式
5.3选举算法
5.4相关配置
5.5流程概述
5.6流程分析
5.6.1选举临时Master
5.6.2投票与得票的实现
5.6.3确立Master或加入集群
5.7节点失效检测
5.7.1NodesFaultDetection事件处理
5.7.2MasterFaultDetection事件处理
5.8小结
第6章数据模型
6.1PacificA算法
6.1.1数据副本策略
6.1.2配置管理
6.1.3错误检测
6.2ES的数据副本模型
6.2.1基本写入模型
6.2.2写故障处理
6.2.3基本读取模型
6.2.4读故障处理
6.2.5引申的含义
6.2.6系统异常
6.3AllocationIDs
6.3.1安全地分配主分片
6.3.2将分配标记为陈旧
6.2.3一个例子
6.3.4不会丢失全部
6.4SequenceIDs
6.4.1PrimaryTerms和SequenceNumbers
6.4.2本地及全局检查点
6.4.3用于快速恢复(Recovery)
6.5_version
第7章写流程
7.1文档操作的定义
7.2可选参数
7.3Index/Bulk基本流程
7.4Index/Bulk详细流程
7.4.1协调节点流程
7.4.2主分片节点流程
7.4.3副分片节点流程
7.5I/O异常处理
7.5.1Engine关闭过程
7.5.2Master的对应处理
7.5.3异常流程总结
7.6系统特性
7.7思考
第8章GET流程
8.1可选参数
8.2GET基本流程
8.3GET详细分析
8.3.1协调节点
8.3.2数据节点
8.4MGET流程分析
8.5思考
第9章Search流程
9.1索引和搜索
9.1.1建立索引
9.1.2执行搜索
9.2searchtype
9.3分布式搜索过程
9.3.1协调节点流程
9.3.2执行搜索的数据节点流程
9.4小结
第10章索引恢复流程分析
10.1相关配置
10.2流程概述
10.3主分片恢复流程
10.4副分片恢复流程
10.4.1流程概述
10.4.2syncedflush机制
10.4.3副分片节点处理过程
10.4.4主分片节点处理过程
10.5recovery速度优化
10.6如何保证副分片和主分片一致
10.7recovery相关监控命令
10.8小结
第11章gateway模块分析
11.1元数据
11.2元数据的持久化
11.3元数据的恢复
11.4元数据恢复流程分析
11.4.1选举集群级和索引级别的元数据
11.4.2触发allocation
11.5思考
第12章allocation模块分析
12.1什么是allocation
12.2触发时机
12.3allocation模块结构概述
12.4allocators
12.5deciders
12.5.1负载均衡类
12.5.2并发控制类
12.5.3条件类
12.6核心reroute实现
12.6.1集群启动时reroute的触发时机
12.6.2流程分析
12.6.3gatewayAllocator
12.6.4shardsAllocator
12.7从gateway到allocation流程的转换
12.8从allocation流程到recovery流程的转换
12.9思考
第13章Snapshot模块分析
13.1仓库
13.2快照
13.2.1创建快照
13.2.2获取快照信息
13.2.3快照status
13.2.4取消、删除快照和恢复操作
13.3从快照恢复
13.3.1部分恢复
13.3.2恢复过程中更改索引设置
13.3.3监控恢复进度
13.4创建快照的实现原理
13.4.1Lucene文件格式简介
13.4.2协调节点流程
13.4.3主节点流程
13.4.4数据节点流程
13.5删除快照实现原理
13.5.1协调节点流程
13.5.2主节点流程
13.6思考与总结
第14章Cluster模块分析
14.1集群状态
14.2内部封装和实现
14.2.1MasterService
14.2.2ClusterApplierService
14.2.3线程池
14.3提交集群任务
14.3.1内部模块如何提交任务
14.3.2任务提交过程实现
14.4集群任务的执行过程
14.5集群状态的发布过程
14.5.1增量发布的实现原理
14.5.2二段提交总流程
14.5.3发布过程
14.5.4提交过程
14.5.5异常处理
14.6应用集群状态
14.7查看等待执行的集群任务
14.8任务管理API
14.8.1列出运行中的任务
14.8.2取消任务
14.9思考与总结
第15章Transport模块分析
15.1配置信息
15.1.1传输模块配置
15.1.2通用网络配置
15.2Transport总体架构
15.2.1网络层
15.2.2服务层
15.3REST解析和处理
15.4RPC实现
15.4.1RPC的注册和映射
15.4.2根据Action获取处理类
15.5思考与总结
第16章ThreadPool模块分析
16.1线程池类型
16.1.1fixed
16.1.2scaling
16.1.3direct
16.1.4fixed_auto_queue_size
16.2处理器设置
16.3查看线程池
16.3.1catthreadpool
16.3.2nodesinfo
16.3.3nodesstats
16.3.4nodeshotthreads
16.3.5Java的线程池结构
16.4ES的线程池实现
16.4.1ThreadPool类结构与初始化
16.4.2fixed类型线程池构建过程
16.4.3scaling类型线程池构建过程
16.4.4direct类型线程池构建过程
16.4.5fixed_auto_queue_size类型线程池构建过程
16.5其他线程池
16.6思考与总结
第17章Shrink原理分析
17.1准备源索引
17.2缩小索引
17.3Shrink的工作原理
17.3.1创建新索引
17.3.2创建硬链接
17.3.3硬链接过程源码分析
第18章写入速度优化
18.1translogflush间隔调整
18.2索引刷新间隔refresh_interval
18.3段合并优化
18.4indexingbuffer
18.5使用bulk请求
18.5.1bulk线程池和队列
18.5.2并发执行bulk请求
18.6磁盘间的任务均衡
18.7节点间的任务均衡
18.8索引过程调整和优化
18.8.1自动生成docID
18.8.2调整字段Mappings
18.8.3调整_source字段
18.8.4禁用_all字段
18.8.5对Analyzed的字段禁用Norms
18.8.6index_options设置
18.9参考配置
18.10思考与总结
第19章搜索速度的优化
19.1为文件系统cache预留足够的内存
19.2使用更快的硬件
19.3文档模型
19.4预索引数据
19.5字段映射
19.6避免使用脚本
19.7优化日期搜索
19.8为只读索引执行force-merge
19.9预热全局序号(globalordinals)
19.10executionhint
19.11预热文件系统cache
19.12转换查询表达式
19.13调节搜索请求中的batched_reduce_size
19.14使用近似聚合
19.15深度优先还是广度优先
19.16搜索请求的分片数
19.17利用自适应副本选择(ARS)提升ES响应速度
第20章磁盘使用量优化
20.1预备知识
20.1.1元数据字段
20.1.2索引映射参数
20.2优化措施
20.2.1禁用对你来说不需要的特性
20.2.2禁用docvalues
20.2.3不要使用默认的动态字符串映射
20.2.4观察分片大小
20.2.5禁用_source
20.2.6使用best_compression
20.2.7FourceMerge
20.2.8ShrinkIndex
20.2.9数值类型长度够用就好
20.2.10使用索引排序来排列类似的文档
20.2.11在文档中以相同的顺序放置字段
20.3测试数据
第21章综合应用实践
21.1集群层
21.1.1规划集群规模
21.1.2单节点还是多节点部署
21.1.3移除节点
21.1.4独立部署主节点
21.2节点层
21.2.1控制线程池的队列大小
21.2.2为系统cache保留一半物理内存
21.3系统层
21.3.1关闭swap
21.3.2配置LinuxOOMKiller
21.3.3优化内核参数
21.4索引层
21.4.1使用全局模板
21.4.2索引轮转
21.4.3避免热索引分片不均
21.4.4副本数选择
21.4.5ForceMerge
21.4.6ShrinkIndex
21.4.7close索引
21.4.8延迟分配分片
21.4.9小心地使用fielddata
21.5客户端
21.5.1使用RESTAPI而非JavaAPI
21.5.2注意429状态码
21.5.3curl的HEAD请求
21.5.4了解你的搜索计划
21.5.5为读写请求设置比较长的超时时间
21.6读写
21.6.1避免搜索操作返回巨大的结果集
21.6.2避免索引巨大的文档
21.6.3避免使用多个_type
21.6.4避免使用_all字段
21.6.5避免将请求发送到同一个协调节点
21.7控制相关度
第22章故障诊断
22.1使用ProfileAPI定位慢查询
22.2使用ExplainAPI分析未分配的分片(UnassignedShards)
22.2.1诊断未分配的主分片
22.2.2诊断未分配的副分片
22.2.3诊断已分配的分片
22.3节点CPU使用率高
22.4节点内存使用率高
22.5SlowLogs
22.6分析工具
22.6.1I/O信息
22.6.2内存
22.6.3CPU信息
22.6.4网络连接和流量
22.7小结
附录A重大版本变化
×
Close
添加到书单
加载中...
点此新建书单
×
Close
新建书单
标题:
简介:
蜀ICP备2024047804号
Copyright 版权所有 © jvwen.com 聚文网