您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > Elasticsearch的安装与配置
讲师姜瑞鑫DATAGURU专业数据分析社区第1周Elasticsearch的安装与配置讲师姜瑞鑫DATAGURU专业数据分析社区Elasticsearch分布式大数据分析平台面向文档型的NoSql数据库。海量数据实时分析分布式索引和检索:索引,搜索,排序和过滤这些文档。插件机制Github:使用ES搜索数以几十亿的文件盒上千亿行的代码StackOverflow:将全文搜索与地理位置和相关信息进行整合,已提供more-like-this相关问题的展现。GoldmanSachs每天ES处理5TB数据的索引,还有很多投行使用ES来分析股票市场的波动More:讲师姜瑞鑫DATAGURU专业数据分析社区虚拟机设置问题创建用户组以非root用户才能正常启动Elasticsearch关闭防火墙服务:/etc/init.d/iptablesstop永久关闭防火墙:chkconfig–level35iptablesoff讲师姜瑞鑫DATAGURU专业数据分析社区JDK安装:1.7above讲师姜瑞鑫DATAGURU专业数据分析社区Elasticsearch安装wget启动:Suelk/opt/elasticsearch-home/bin/elasticsearch://讲师姜瑞鑫DATAGURU专业数据分析社区非Root账户启动,保证有所在目录的权限讲师姜瑞鑫DATAGURU专业数据分析社区目录文件解读Bin含有运行ES实例和管理插件的一些脚本。Config主要是一些设置文件,如:Elasticsearch.yml和logging.ymlLib包含相关的包文件Plugins包含相关的插件文件Logs日志文件Data存放数据的地方讲师姜瑞鑫DATAGURU专业数据分析社区ElasticSearch-RTF什么是ElasticSearch-RTF?RTF是ReadyToFly的缩写,在航模里面,表示无需自己组装零件即可直接上手即飞的航空模型,elasticsearch-RTF是针对中文的一个发行版,即使用最新稳定的elasticsearch版本,并且帮你下载测试好对应的插件,如中文分词插件等,还会帮你做好一些默认的配置,目的是让你可以下载下来就可以直接的使用(虽然es已经很简单了,但是很多新手还是需要去花时间去找配置,中间的过程其实很痛苦),当然等你对这些都熟悉了之后,你完全可以自己去diy了,跟linux的众多发行版是一个意思。讲师姜瑞鑫DATAGURU专业数据分析社区9ThebottleneckofDatabase讲师姜瑞鑫DATAGURU专业数据分析社区10Tablespace,Block,ExtentandSegment讲师姜瑞鑫DATAGURU专业数据分析社区11SGA讲师姜瑞鑫DATAGURU专业数据分析社区Elasticsearch基本架构(2.2revised)RESTFULAPITransportThriftMemcachedHTTPJAVA客户端InputpluginsDiscoveryZenEC2ScritptGroovyJSPythonPlugins中文分词相关工具IndicesModuleSearchModuleMappingRiverDistributedLuceneDirectoryLocalfilesystemSharedfilesystemHadoopHDFSAmasonS3AzureGCE讲师姜瑞鑫DATAGURU专业数据分析社区Discovery负责发现在集群内的节点,以及选举新的节点。Elasticsearch是一个Peertopeer系统,节点间直接沟通当操作是delegated/broadcast。Master节点是用来维护Globalcluasterstate,同时为新加入和离开的节点分配shards.每次集群状态改变,节点都会知道(具体的方式取决于实际的Discovery实现)。讲师姜瑞鑫DATAGURU专业数据分析社区LocalGatewayThelocalgatewaymodulestorestheclusterstateansharddataacrossfullclusterrestarts.在集群重启之后可以通过gateway重新恢复数据,localgateway就是在本地存储恢复节点状态和索引信息。讲师姜瑞鑫DATAGURU专业数据分析社区HTTP用来暴露ESapis通过HTTP协议。默认端口9200。完全异步,无阻塞等待讲师姜瑞鑫DATAGURU专业数据分析社区IndicesTheindicesmodulecontrolesindex-ralaedsettingthataregloballymanagedforallindices讲师姜瑞鑫DATAGURU专业数据分析社区NodeModulesMaster-eligibleNode:Anodethathasnode.mastersettotrue(default),whichmakesiteligibletobeelectedasthemasternode,whichcontrolsthecluster.Datanode:HoddataandperformdatarelatedoperationssuchasCRUD,search,andaggresgations.Defaultis(true)ClientNode:Aclientnodehasbothnode.Masterandnode.datasettofalse.Itcanneitherholddatanorbecomethemasternode.Itbehavesasa“smartrouter”andisusedtoforwardcluster-levelrequeststothemasternodeanddata-relatedrequest(search)totheapproriatedatanodes.Tribenode:Atribenode,tribe.*setting.Aspecialtypeofclientnodethatcanconnecttomultipleclusterandperformsearchandotheroperationsacrossallconnectedclusters.默认情况下,一个节点既是master-eligiable也是一个datanode.这对相机群会非常方便。随着集群的增长再考虑分开设置专属的datanode的Masternode.讲师姜瑞鑫DATAGURU专业数据分析社区Scripting脚本模块允许执行自定义表达式,或者执行一个自定义的查询评分等等。讲师姜瑞鑫DATAGURU专业数据分析社区Inputplugins讲师姜瑞鑫DATAGURU专业数据分析社区JavaAPI讲师姜瑞鑫DATAGURU专业数据分析社区SnapshotandrestoreSnapshot模块允许为单独的indices或者整个集群在远程仓库创建快照。讲师姜瑞鑫DATAGURU专业数据分析社区ThreadPool每一个节点上都有一个线程池,来更好的管理内存消耗。讲师姜瑞鑫DATAGURU专业数据分析社区TransportTransport模块用来做集群节点间内部的通信。默认端口9300完全异步,无阻塞等待讲师姜瑞鑫DATAGURU专业数据分析社区Tribenode此特性允许一个tribenode扮演一个联邦客户端(federatedclient)在多个集群的范围内。讲师姜瑞鑫DATAGURU专业数据分析社区关系型数据库和ES对比关系型数据库Elasticsearch数据库Database索引Index,支持全文检索表Table类型TYPE数据行Row文档Document,但不需要固定结构,不同文档有不同字段集合。数据列Column字段Field模式Schema映像Mapping讲师姜瑞鑫DATAGURU专业数据分析社区26Elasticsearch是如何实现近似实时查询的?In-memoryBufferLucene在内存缓冲区中对文档进行索引文件缓存位于ES和磁盘中间内存缓冲区的文档数据会先写进文件缓存,然后再写进一个新的段。这样做的开销会比直接写进磁盘小,而且一旦进入文件缓存,他就是可以被打开和读取的就像在正常文件里一样。SegmentSegmentSegmentCommitpointSearchable段(Segment)是指占用文件空间的统称。讲师姜瑞鑫DATAGURU专业数据分析社区27Elasticsearch是如何实现近似实时查询的?SegmentSegmentSegmentSegmentIn-memoryBufferThebuffercontentshasbeenwrittentoasegment,whichissearchable,butisnotyetcommittedCommitpointSearchable讲师姜瑞鑫DATAGURU专业数据分析社区ShardsElasticsearchprovidestheabilitytosubdivideyourindexintomultiplepiecescalledshards.过大的Index会导致超出磁盘的限制同时可能导致降低检索请求相应速度。使用Shards的主要目的:水平拆分和扩展你的内容卷(horizontallysplit/scaleyourcontentvolume)分发和并行的操作shards.讲师姜瑞鑫DATAG
本文标题:Elasticsearch的安装与配置
链接地址:https://www.777doc.com/doc-5240279 .html