热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Elasticsearch5.x(一)单机部署

背景:线上一直在跑es的2.x版本,了解到官网已经推出5.x版本,看着官网的介绍性能如何如何,手痒就想小试一下,对比一看,和之前的版本出入还是非常大的,非常期待调研测试结果。下面性能对比是官网的介绍,

背景:线上一直在跑es的2.x版本,了解到官网已经推出5.x版本,看着官网的介绍性能如何如何,手痒就想小试一下,对比一看,和之前的版本出入还是非常大的,非常期待调研测试结果。下面性能对比是官网的介绍,看样子很是牛逼。今天开始写一个调研5.x的系列。


性能对比
1. 同样的机器(硬件、数量)及集群结构(Master Node、Data Node)
2. 同样的索引结构和分片数量
3. 基本一致的查询语句(ES5语法有所变化,所以query没有完全一致)
4. 同样的数据量
5. 同样的流量
ES 5.X集群的 CPU Usage 约为ES2集群的 3/4
ES 5.X集群的 Search Latency 约为ES2集群的 2/3        


Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎.Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能.

几个重要的概念:
索引:一个索引就是一个拥有几分相似特征的文档的集合,索引就像数据库。
类型:一个类型是一个索引的一个逻辑上的分类/分区。
文档:一个文档是一个可被索引的基础信息单元。
字段(field):文档的一部分,包含名称和值两部分。
词(term):一个搜索单元,表示文本中的一个词。
标记(token):表示在字段文本中出现的词,由这个词的文本、开始和结束偏移量以及类型组成。
映射(mapping)所有文档写进索引之前都会先进行分析,如何将输入的文本分割为词条、哪些词条又会被过滤,这种行为叫做映射(mapping)
分片和复制:将索引划分成多份的能力,这些份就叫做分片。
gateway:代表 es 索引的持久化存储方式,es默认是先把索引存放到内存中,当内存满了时再持久化到硬盘。
river:代表 es 的一个数据源,也是其它存储方式(如:数据库)同步数据到es的一个方法。
discovery:代表 es 的自动发现节点机制,es是一个基于 p2p 的系统,它先通过广播寻找存在的节点,再通过多播协议来进行节点之间的通信,同时也支持点对点的交互。
Transport:代表es 内部节点或集群与客户端的交互方式,默认内部是使用 tcp 协议进行交互,同时它支持 http 协议(json格式)、thrift、servlet。


学习一个软件,先从安装部署熟悉,es也不例外,下面安装部署下:

本地测试机:

192.168.80.11

192.168.80.13

环境:CentOS Linux release 7.2.1511 (Core)
安装java,省略。java version "1.8.0_112"
安装ES
新建非root用户,如果使用root用户启动会报错,新建后对其赋予权限
groupadd es
useradd es -g es -p 1qaz@WSX  
以下安装在es用户下操作。


curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.1.1.zip
unzip elasticsearch-5.1.1.zip
cd  elasticsearch-5.1.1
chown  -R es.es elasticsearch-5.1.1

运行Elasticsearch
./bin/elasticsearch
./bin/elasticsearch -d          #后台运行
tail -f logs/elasticsearch.log  #查看日志
jps 验证

curl -X GET  http://localhost:9200/ 或者 curl 'http://192.168.80.11:9200/?pretty'



几个重要的配置文件
#/etc/sysconfig/elasticsearch          配置elasticsearch环境变量
#/etc/elasticsearch/elasticsearch.yml  配置elasticsearch集群
#/etc/elasticsearch/jvm.options        配置elasticsearch的jvm参数
#/etc/elasticsearch/log4j2.properties  配置elasticsearch日志参数


配置文件

chown -R es.es /export/es
cat elasticsearch.yml
node.name: node-1
path.data: /export/es/data
path.data: /export/es/logs
network.host: 192.168.80.11
http.port: 9200
添加
http.cors.enabled: true
http.cors.allow-origin: "*"


注意事项:
1.Java客户端所在的Elasticsearch版本必须与集群中其他节点一致,否则,它们可能互相无法识别。
2.bootstrap checks failed;max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
解法:
vi /etc/sysctl.conf
vm.max_map_count=262144


fs.file-max=102400
sysctl -a生效
sysctl -p
或者sysctl -w vm.max_map_count=262144直接生效
3.文件描述符
/etc/security/limits.conf文件,添加或修改如下行:
*        hard    nofile          102400
*        soft    nofile           102400


未完待续……

【原创】原创文章,更多关注敬请关注微信公众号。



推荐阅读
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 基于事件驱动的并发编程及其消息通信机制的同步与异步、阻塞与非阻塞、IO模型的分类
    本文介绍了基于事件驱动的并发编程中的消息通信机制,包括同步和异步的概念及其区别,阻塞和非阻塞的状态,以及IO模型的分类。同步阻塞IO、同步非阻塞IO、异步阻塞IO和异步非阻塞IO等不同的IO模型被详细解释。这些概念和模型对于理解并发编程中的消息通信和IO操作具有重要意义。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • 标题: ... [详细]
  • IjustinheritedsomewebpageswhichusesMooTools.IneverusedMooTools.NowIneedtoaddsomef ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • Java 11相对于Java 8,OptaPlanner性能提升有多大?
    本文通过基准测试比较了Java 11和Java 8对OptaPlanner的性能提升。测试结果表明,在相同的硬件环境下,Java 11相对于Java 8在垃圾回收方面表现更好,从而提升了OptaPlanner的性能。 ... [详细]
  • Activiti7流程定义开发笔记
    本文介绍了Activiti7流程定义的开发笔记,包括流程定义的概念、使用activiti-explorer和activiti-eclipse-designer进行建模的方式,以及生成流程图的方法。还介绍了流程定义部署的概念和步骤,包括将bpmn和png文件添加部署到activiti数据库中的方法,以及使用ZIP包进行部署的方式。同时还提到了activiti.cfg.xml文件的作用。 ... [详细]
  • Android日历提醒软件开源项目分享及使用教程
    本文介绍了一款名为Android日历提醒软件的开源项目,作者分享了该项目的代码和使用教程,并提供了GitHub项目地址。文章详细介绍了该软件的主界面风格、日程信息的分类查看功能,以及添加日程提醒和查看详情的界面。同时,作者还提醒了读者在使用过程中可能遇到的Android6.0权限问题,并提供了解决方法。 ... [详细]
  • 本文介绍了Windows Vista操作系统中的用户账户保护功能,该功能是为了增强系统的安全性而设计的。通过对Vista测试版的体验,可以看到系统在安全性方面的进步。该功能的引入,为用户的账户安全提供了更好的保障。 ... [详细]
  • 本文讨论了在shiro java配置中加入Shiro listener后启动失败的问题。作者引入了一系列jar包,并在web.xml中配置了相关内容,但启动后却无法正常运行。文章提供了具体引入的jar包和web.xml的配置内容,并指出可能的错误原因。该问题可能与jar包版本不兼容、web.xml配置错误等有关。 ... [详细]
author-avatar
鱼咸4406
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有