热门标签 | 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


未完待续……

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



推荐阅读
  • 在PHP中实现腾讯云接口签名,以完成人脸核身功能的对接与签名配置时,需要注意将文档中的POST请求改为GET请求。具体步骤包括:使用你的`secretKey`生成签名字符串`$srcStr`,格式为`GET faceid.tencentcloudapi.com?`,确保参数正确拼接,避免因请求方法错误导致的签名问题。此外,还需关注API的其他参数要求,确保请求的完整性和安全性。 ... [详细]
  • 在 Ubuntu 中遇到 Samba 服务器故障时,尝试卸载并重新安装 Samba 发现配置文件未重新生成。本文介绍了解决该问题的方法。 ... [详细]
  • 秒建一个后台管理系统?用这5个开源免费的Java项目就够了
    秒建一个后台管理系统?用这5个开源免费的Java项目就够了 ... [详细]
  • 基于Web的Kafka管理工具Kafkamanager首次访问Web界面的详细配置指南(附图解)
    首次访问Kafkamanager Web界面时,需要对Kafka集群进行配置。这一过程相对简单,用户只需依次点击【Cluster】>【Add Cluster】,按照提示完成相关设置即可。本文将通过图文并茂的方式,详细介绍每一步的配置步骤,帮助用户快速上手Kafkamanager。 ... [详细]
  • 如何在Linux服务器上配置MySQL和Tomcat的开机自动启动
    在Linux服务器上部署Web项目时,通常需要确保MySQL和Tomcat服务能够随系统启动而自动运行。本文将详细介绍如何在Linux环境中配置MySQL和Tomcat的开机自启动,以确保服务的稳定性和可靠性。通过合理的配置,可以有效避免因服务未启动而导致的项目故障。 ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • 在项目开发中,我们搭建了私有的Maven仓库服务器,以方便管理和下载所需的JAR包。然而,某些外部JAR包可能无法从公共Maven仓库获取,或者我们自行开发了一些仅供公司内部使用的插件,这些都需要上传到私有仓库中进行共享。本文详细介绍了如何使用Maven命令行工具将这些第三方JAR包部署至Nexus仓库服务器,确保团队成员能够轻松访问和使用这些资源。 ... [详细]
  • 技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统
    技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • PTArchiver工作原理详解与应用分析
    PTArchiver工作原理及其应用分析本文详细解析了PTArchiver的工作机制,探讨了其在数据归档和管理中的应用。PTArchiver通过高效的压缩算法和灵活的存储策略,实现了对大规模数据的高效管理和长期保存。文章还介绍了其在企业级数据备份、历史数据迁移等场景中的实际应用案例,为用户提供了实用的操作建议和技术支持。 ... [详细]
  • 在Linux系统中避免安装MySQL的简易指南
    在Linux系统中避免安装MySQL的简易指南 ... [详细]
  • 在分析和解决 Keepalived VIP 漂移故障的过程中,我们发现主备节点配置如下:主节点 IP 为 172.16.30.31,备份节点 IP 为 172.16.30.32,虚拟 IP 为 172.16.30.10。故障表现为监控系统显示 Keepalived 主节点状态异常,导致 VIP 漂移到备份节点。通过详细检查配置文件和日志,我们发现主节点上的 Keepalived 进程未能正常运行,最终通过优化配置和重启服务解决了该问题。此外,我们还增加了健康检查机制,以提高系统的稳定性和可靠性。 ... [详细]
  • 本文深入解析了通过JDBC实现ActiveMQ消息持久化的机制。JDBC能够将消息可靠地存储在多种关系型数据库中,如MySQL、SQL Server、Oracle和DB2等。采用JDBC持久化方式时,数据库会自动生成三个关键表:`activemq_msgs`、`activemq_lock`和`activemq_ACKS`,分别用于存储消息数据、锁定信息和确认状态。这种机制不仅提高了消息的可靠性,还增强了系统的可扩展性和容错能力。 ... [详细]
  • 本文介绍了如何利用Struts1框架构建一个简易的四则运算计算器。通过采用DispatchAction来处理不同类型的计算请求,并使用动态Form来优化开发流程,确保代码的简洁性和可维护性。同时,系统提供了用户友好的错误提示,以增强用户体验。 ... [详细]
  • 在ElasticStack日志监控系统中,Logstash编码插件自5.0版本起进行了重大改进。插件被独立拆分为gem包,每个插件可以单独进行更新和维护,无需依赖Logstash的整体升级。这不仅提高了系统的灵活性和可维护性,还简化了插件的管理和部署过程。本文将详细介绍这些编码插件的功能、配置方法,并通过实际生产环境中的应用案例,展示其在日志处理和监控中的高效性和可靠性。 ... [详细]
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社区 版权所有