`

ElasticSearch集群的安装和配置

阅读更多

ElasticSearch集群的安装和配置

 

说明:这里只介绍在Linux下ElasticSearch的安装配置,windows下的使用跟Linux很类似
 

一、前期准备

    Elasticsearch 需要Java 7的支持,推荐使用Oracle JDK version 1.7.0_60,根据所选用平台在这里下载安装,完成安装后设置好环境变JAVA_HOME(如何设置Java的环境变量这里不再赘述),然后可以使用java -version命令进行版本检查。
 

二、下载安装ElasticSearch

   完成准备工作之后,下载安装ElasticSearch最新发布包,点这里下载,选择下载zip包elasticsearch-1.3.1.zip并上传到服务器的/usr/search/目录下,然后使用命令unzip elasticsearch-1.3.1.zip进行解压,这时进入/usr/search/elasticsearch-1.3.1/bin/ 用命令./elasticsearch -d启动单个集群。如果看到类似下面日志后说明安装正常:
    ./elasticsearch 
    .....
    [2014-03-1313:42:23,630][INFO ][node           ][NewGoblin]started

三、启动包含多个节点的ElasticSearch集群

    因为ElasticSearch原生就是支持集群的,启动单个es节点也是集群,每个集群都有一个名称,默认的集群名称为elasticsearch,同样每个elasticsearch  节点也都有名称,如果不指定,ElasticSearch会从自己的配置文件中随机选出一个作为自己的名称,如果启动节点时想指定集群名称和节点名称,使用一下命令进行启动:
    ./elasticsearch --cluster.name <集群名称> --node.name <节点名称>
所以在ElasticSearch中启动集群是很简单的事情,启动其他的节点,可以在其上重复第一步和第二步的操作,如果不希望修改集群名称和节点名称,那么ElasticSearch通过使用局域网广播自动发现机制寻找默认集群名称的所有节点,最终拥有相同集群名称的节点就自动的构成了一个ElasticSearch集群,不用做其他繁琐的配置,这样一个集群环境就搭建好了。这时可以在任意一台服务器使用 curl 'localhost:9200/_cat/health?v' 查看集群健康状态了,再比如:
[html] view plaincopy
 
  1. curl 'localhost:9200/_cat/nodes?v'   查看集群中所有的节点信息  
  2. curl 'localhost:9200/_cat/indices?v' 查看所有索引  
  3. curl -XPUT 'localhost:9200/customer?pretty' 创建索引名称为customer的索引  
  4. curl -XPUT 'localhost:9200/customer/external/1?pretty' -d '{"name": "John Doe"}' 索引一篇文档,类型为external,文档ID:1  
  5. curl -XGET 'localhost:9200/customer/external/1?pretty' 查询一篇文档  
  6. curl -XDELETE 'localhost:9200/customer?pretty' 删除索引名称为customer的索引  
 

四、ElasticSearch插件的安装

   上述对于集群的测试都是通过命令行的方式,使用起来不是很直观,ElasticSeach提供插件的方式可以对整个集群进行检测和管理、功能扩展等。
 

   1) 集群服务servicewrapper

          elasticsearch-servicewrapper是用在ElasticSearch上的Java服务包装器,可以将Java进程包装系统服务进行管理。在这里下载插件的zip包,解压后,将目录   中的service这个目录拷贝到ES_HOME/bin/下,修改ES_HOME/bin/service/elasticsearch.conf中set.default.ES_HOME为ES的安装根目录,然后使用命令ES_HOME/bin/service/elasticsearch查看elasticsearch-servicewrapper支持的参数:
console Run the elasticsearch in the foreground.
start Run elasticsearch in the background.
stop Stops elasticsearch if its running.
install Install elasticsearch to run on system startup (init.d / service).
remove Removes elasticsearch from system startup (init.d / service).
如果想将elasticsearch设置成系统服务可以通过以下步骤:
 a、ES_HOME/bin/service/elasticsearch install
 b、chkconfig elasticsearch on
然后就可以通过service elasticsearch [console] [start] [stop] [restart] [install] [remove]来操作了。
 

  2) 基于Web的集群节点浏览插件head

   elasticsearch-head是ElasticSearch浏览集群信息并与之交互的web应用程序;通过该插件可以查看集群中节点分布拓扑图,提供基于Json方式的查询界面入口等功能。
       使用说明:
             a、 在这里下载elasticsearch-head的zip包elasticsearch-head-master.zip
             b、使用命令进行本地安装:ES_HOME/bin/plugin -i head -u file:<目录>/elasticsearch-head-master.zip
             c、http://localhost:9200/_plugin/head进行查看
            

  3) 官方推荐的ElasticSearch监控管理插件Marvel

   该插件提供更为详细的集群检测管理功能,提供带有查询提示的界面Sense。
   使用说明:
             a、 在这里下载elasticsearch-head的zip包elasticsearch-head-master.zip
             b、使用命令进行本地安装:ES_HOME/bin/plugin -i marvel -u file:<目录>/elasticsearch-marvel-master.zip
             c、http://localhost:9200/_plugin/marvel进行查看
 

五、配置说明

  ElasticSearch大多配置基本都放在ES_HOME/config/elasticsearch.yml中,主要配置参数说明:
[html] view plaincopy
 
  1. #cluster.name: elasticsearch             配置集群名称  
  2. #node.name: "Franz Kafka"                配置节点名称  
  3. #node.master: true                       配置当前节点是否具有可选为master节点的资格、  
  4. #node.data: true                         配置当前节点是否允许存储数据  
  5. #node.max_local_storage_nodes: 1         配置每个几点可以启动的Elasticsearch最大实例个数  
  6. #index.number_of_shards: 5               配置索引的默认分片数  
  7. #index.number_of_replicas: 1             配置索引的默认副本数  
  8. #path.conf: /path/to/conf                配置文件存放目录  
  9. #path.data: /path/to/data                配置该节点索引数据的存放目录,多个用都好分割  
  10. #path.logs: /path/to/logs                配置日志的存放目录  
  11. #path.plugins: /path/to/plugins          配置插件安装目录  
  12. #network.host: 192.168.0.1               配置节点绑定的IP和与其他几点交互的IP  
  13. #transport.tcp.port: 9300                配置节点之间交互的端口  
  14. #http.port: 9200                         配置Http访问的端口  
  15. #http.max_content_length: 100mb          配置可允许的文本最大长度  
 
 
 
 
es可以扩展到数百数千台机器及很大的数据,
Elasticsearch本质上是分布式的, 隐藏了分布式的细节。
 
分布式的细节对外透明,
教程不要求你知道分布式系统,分片,集群等。
 
隐藏的细节包括:
对文档进行分片,存在一个节点上或者多个节点。
平衡这些分片操作,来分摊索引和搜索负载。
复制每个分片来提供冗余来防止灾难。
从任何一个节点收到请求可以争取路由到最终的有数据的节点。
集成新的节点来扩容,或者重新分发分片当有节点挂掉时。
 
 
Elasticsearch天生是分布式的: 它知道如何管理多个节点来提供扩容和高可用性。
 
 
如果启动一个节点,没有数据和索引,单个节点构成一个集群。
Figure 1. 一个集群:只有单个空节点
 
 
单个节点运行了一个es的实例,集群是多个节点,这些节点具有相同的cluster.name.
一起工作来分享数据和分摊负载,当集群中添加或者删除节点时,集群重新组织来均匀分摊数据
 
集群下,其中一个节点被选举为master节点,这个节点管理增加删除索引,集群中增加节点删除节点,主节点不需要参与文档级别的改变和搜索,任何节点都可以成为主节点,单个节点的集群下,这个节点自然是主节点。
 
用户可以跟任何一个节点交互,包括主节点.
每个节点知道每个文档的所在并且可以转发我们的请求直接到正确 的节点,
与客户直接交互的节点管理管理这个具体的过程,一切都被es管理而对外透明。
 
 
 
分享到:
评论

相关推荐

    Elasticsearch集群安装配置.docx

    Elasticsearch集群安装配置 Elasticsearch 是一个基于 Apache Lucene 的搜索和数据分析引擎,支持实时搜索、数据分析和...通过以上步骤,可以成功安装和配置 Elasticsearch 集群,提高搜索和数据分析的性能和可用性。

    elasticsearch集群安装包

    在本篇中,我们将深入探讨如何进行 Elasticsearch(简称 ES)集群的安装。 首先,了解集群的概念至关重要。在 Elasticsearch 中,集群是一组节点(运行 Elasticsearch 的服务器),它们共同存储数据并处理搜索和...

    elasticsearch6.4.2集群安装配置笔记V1.2.docx

    4. 插件安装:根据需求安装相应的Elasticsearch插件,如Kibana(可视化工具)、Logstash(数据收集和处理)等。 5. 集群验证:使用curl命令或者Kibana界面检查集群状态,确保所有节点都已加入集群并正常工作。 6. ...

    CentOS7下搭建多节点Elasticsearch集群.docx

    CentOS7 下搭建多节点 Elasticsearch 集群 ...CentOS7 下搭建多节点 Elasticsearch 集群需要考虑到集群架构、安装和配置、配置文件、插件、Filebeat 和 Logstash、多节点的优势和部署、监控等多个方面。

    springboot整合ElasticSearch集群

    springboot 2.0.2集成elasticsearch5.5.1,并使用集群模式,亲测可用!!!

    elasticsearch集群化搭建

    - **注释 Logstash 和 Kibana 相关配置**:在 `docker-compose.yml` 文件中,注释掉 Logstash 和 Kibana 的相关配置,仅保留 Elasticsearch 的配置。 - **修改网络模式**:将 Elasticsearch 下的 `network_mode` ...

    Elasticsearch集群.pdf

    通过上述步骤,即可完成Elasticsearch集群的安装和基本配置,包括head插件的安装与使用以及用户认证的创建。掌握这些知识点,对于运维一个安全且高效的Elasticsearch集群至关重要。需要注意的是,本文档在实际操作...

    ElasticSearch集群部署方式

    - **Linux系统**:修改启动脚本(位于`ElasticSearch安装目录/bin/elasticsearch`),设置`JAVA_HOME`和`ES_HEAP_SIZE`,然后通过`./elasticsearch -d`命令启动服务。关闭服务可通过`kill`命令结束进程。 #### 二、...

    一键部署elasticsearch集群/单机版shell脚本(适用于Centos7 x86服务器)

    该安装包实现利用给定参数安装单机版或者集群版es数据库,指定参数后安装过程全自动,自动修改系统内核,配置jdk,自动识别并配置内存,自动根据节点数配置集群脑溢节点配置数。涉及到以下操作 1、自动检测配置java...

    elasticsearch集群部署配置

    我们建立一个网站或应用程序,并要添加搜索功能,但是想要完成搜索工作的创建是非常困难的。我们希望搜索解决方案要运行速度快,我们希望能...因此我们利用Elasticsearch来解决所有这些问题及可能出现的更多其它问题。

    CentOS7下Elasticsearch高可用集群方案-完整部署记录(个人珍藏版)

    配置`elasticsearch.yml`文件,设置集群名称,确保所有节点都使用相同的集群名称。 3. **网络配置**:配置节点间的通信,确保`network.host`设置允许节点间连接。可以设置为`0.0.0.0`监听所有接口,或者特定IP地址...

    CentOS 7 部署 Elasticsearch7.4 集群并进行安全认证.docx

    CentOS 7 部署 Elastic...我们学习了如何准备环境、下载和安装 Elasticsearch、配置 Elasticsearch、启动 Elasticsearch、安全认证等内容。通过本文,我们可以快速地部署 Elasticsearch 集群,并对其进行安全认证。

    elasticsearch 一键安装脚本.zip

    **Elasticsearch 一键安装脚本** ...通过理解并运用这个脚本,用户不仅可以轻松管理Elasticsearch集群,还能更深入地了解Elasticsearch的运行机制和集群配置,进一步提升在大数据处理和搜索分析领域的技能。

    ElasticSearch集群搭建.doc

    理解并正确配置索引分片对于优化Elasticsearch集群的性能和可靠性至关重要。通过合理设置分片数量、副本比例以及分配策略,可以确保在处理大量数据的同时保持高可用性和快速响应。在实际环境中,应根据数据量、预期...

    ElasticSearch7.2.1+SearchGuard+Kibana+KerBeros集群测试环境部署文档.pdf

    完成以上步骤后,你的Elasticsearch集群就已经集成了SearchGuard、Kerberos和Kibana,具备了安全的测试环境。此时,你可以通过Kibana进行数据查询和可视化,同时享受到Kerberos带来的安全认证保障。 请注意,实际...

    elasticsearch开启ssl安全认证和跨集群访问配置

    本人记录了elasticsearch开启ssl安全认证和跨集群访问配置

Global site tag (gtag.js) - Google Analytics