安装和配置集群(Installing and Configuring your Cluster)

第一步是确保正确安装了 Java SE环境。ElasticSearch需要版本6或更高的版本,可以从下面的地址下载:http://www.oracle.com /technetwork/java/javase/downloads/index.html。如果您愿意,也可以使用OpenJDK。要安装 ElasticSearch,先从http://www.elasticsearch.org/download/ 下载并解压。选择最新的稳定版本。就是这样!安装完成。

注意:本书的写作过程中使用的版本是0.20.0。

与 ElasticSearch通信是基于HTTP协议和REST接口。这意味着,对于一些基本的查询和请求,您甚至可以使用一个web浏览器;但对于更复杂 的,您需要额外的软件,比如CURL命令。如果您使用Linux或mac OS X命令,CURL包应该已经可用。如果您使用的是Windows,您可以从http://curl.haxx.se/download.html 下载它。

目录结构(Directory structure)

现在让我们去新创建的目录中。我们可以看到下面的目录结构:

  目录(Directory)   描述(Description)
  bin   运行ElasticSearch实例和插件管理所需的脚本
  config   配置文件所在的目录
  lib   ElasticSearch所使用的库

ElasticSearch启动后,它将创建以下目录(如果它们不存在):

  目录(Directory)   描述(Description)
  data   存储ElasticSearch所使用的所有数据
  logs   实例运行期间产生的事件和错误信息的文件
  plugins   用于存储安装的插件
  work   临时文件

配置ElasticSearch(Configuring ElasticSearch)

原 因之一-但当然,不是独一无二的-ElasticSearch获得越来越多的关注,因为ElasticSearch入门非常容易。因为合理的默认值和自动 化的简单环境,我们可以不改变一行配置文件而直接跳过配置进入下一章。然而,为了真正理解ElasticSearch,值得去明白一些可用设置。

整 个配置位于config目录。我们可以看到两个文件:elasticsearch.yml(或elasticsearch.json,如果存在,它将被使 用)和logging.yml。第一个文件负责服务器缺省配置设置。这是很重要的,因为这些值可以在运行时改变并且作为集群的状态,所以这个文件中的值可 能不准确。我们将在第8章向您展示如何检查准确的配置,处理问题。我们在运行时不能改变的两个值是cluster.name和node.name。

cluster.name属性负责持有我们的集群的名称。集群名称分隔不同的集群。具有相同名称的节点配置将试图形成一个集群。

第 二个值是实例名。我们可以舍弃这个参数定义。在这种情况下,ElasticSearch自动选择一个唯一的名称。注意,这个名称是在每次启动后选择,所以 每次重启后名称是不同的。定义名称可以通过API指向具体实例或当使用监控工具看见长时间运行的节点和重新启动时正在发生的事情。如果您不提供一个名 称,ElasticSearch会自动选择一个随机的-所以同一个节点在重新启动后可以有不同的名称。考虑给节点描述性的名称。

文件中其它注释掉的参数,我们建议你浏览它。不要担心不理解,在阅读接下来的几章后,我们希望一切都会变得清晰。

第二个文件(logging.yml)定义了多少信息写入系统日志,定义了日志文件,并定期创建新文件。当你需要适应监控或备份方案,或在系统调式的时候,这个文件的变化是必要的。

现 在让我们离开配置文件。配置的一个重要组成部分是调优您的操作系统。在索引的时候,尤其是当您有很多分片和副本,ElasticSearch将创建多个文 件;因此,系统不能限制打开的文件描述符少于32000。对于Linux服务器,通常可以改变/etc/security/limits.conf。并且 当前值可以用ulimit命令显示。

下一个设置是连接到一个实例的内存限制。默认值(1024MB)可能是不够的。如果您在日志文件中发现 条目OutOfMemoryError,那么设置环境变量ES_HEAP_SIZE值大于1024。注意:这个值不应该设置为物理内存总量的50%以上- 其余部分可以用作磁盘高速缓存,它极大地提高了搜索的性能。

翻译【ElasticSearch Server】第一章:开始使用ElasticSearch集群(2)的更多相关文章

  1. 使用mod_cluster进行apache httpd server和jboss eap 6.1集群配置

    本文简单介绍,使用mod_cluster进行apache httpd server和jboss eap 6.1集群配置.本配置在windows上测试通过,linux下应该是一样的.可能要稍作调整.后面 ...

  2. CentOS6安装各种大数据软件 第四章:Hadoop分布式集群配置

    相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...

  3. CentOS6安装各种大数据软件 第六章:HBase分布式集群的配置

    相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...

  4. 《Entity Framework 6 Recipes》翻译系列 (1) -----第一章 开始使用实体框架之历史和框架简述

    微软的Entity Framework 受到越来越多人的关注和使用,Entity Framework7.0版本也即将发行.虽然已经开源,可遗憾的是,国内没有关于它的书籍,更不用说好书了,可能是因为EF ...

  5. 《Entity Framework 6 Recipes》翻译系列(2) -----第一章 开始使用实体框架之使用介绍

    Visual Studio 我们在Windows平台上开发应用程序使用的工具主要是Visual Studio.这个集成开发环境已经演化了很多年,从一个简单的C++编辑器和编译器到一个高度集成.支持软件 ...

  6. Elasticsearch学习系列七(Es分布式集群)

    核心概念 集群(Cluster) 一个Es集群由多个节点(Node)组成,每个集群都有一个共同的集群名称作为标识 节点(Node) 一个Es实例就是一个Node.Es的配置文件中可以通过node.ma ...

  7. Elasticsearch 6.x版本全文检索学习之集群调优建议

    1.系统设置要到位,遵照官方建议设置所有的系统参数. https://www.elastic.co/guide/en/elasticsearch/reference/6.7/setup.html 部署 ...

  8. 第十四章 二进制部署k8s集群的平滑升级

    1.软件包下载 去github上下载较新的Kubernetes软件包https://github.com/ 2.升级说明 升级包括master节点升级和node节点的升级,本章升级至v1.15.12: ...

  9. Service Broker应用(2):不同server间的数据传输,包含集群

    不同Server之间的数据传输,包含DB使用AlwaysOn 配置脚本: SQL Server Service Broker 跨集群通信 具体的TSQL 脚本语句如下.注意的是TSQL语句是在发送方还 ...

  10. 使用Rancher Server部署本地多节点K8S集群

    当我第一次开始我的Kubernetes之旅时,我一直在寻找一种设置本地部署环境的方式.很多人常常会使用minikube或microk8s,这两者非常适合新手在单节点集群环境下进行操作.但当我已经了解了 ...

随机推荐

  1. Android ListView点击失效

    item中存在 ImageButton 等可以点击的组件,这会抢先获得ListView的焦点. 从而导致item点击失效

  2. Python新式类和旧式类的区别

    新式类是为了统一**而在2.2中开始引入的. 代码讲解 上面的例子比较明白的说明了问题. B是定义的新式类.那么输入b的时候,不论是type(b),还是b.__class__都是输出的<clas ...

  3. MySQL 当记录不存在时插入(insert if not exists)

    在 MySQL 中,插入(insert)一条记录很简单,但是一些特殊应用,在插入记录前,需要检查这条记录是否已经存在,只有当记录不存在时才执行插入操作,本文介绍的就是这个问题的解决方案.问题:我创建了 ...

  4. Android中数据存储之SharedPreferences

    import android.content.Context; import android.content.SharedPreferences; import android.content.Sha ...

  5. JavaScript基础精华03(String对象,Array对象,循环遍历数组,JS中的Dictionary,Array的简化声明)

    String对象(*) length属性:获取字符串的字符个数.(无论中文字符还是英文字符都算1个字符.) charAt(index)方法:获取指定索引位置的字符.(索引从0开始) indexOf(‘ ...

  6. class卸载、热替换和Tomcat的热部署的分析

    一 class的热替换 ClassLoader中重要的方法 loadClassClassLoader.loadClass(...) 是ClassLoader的入口点.当一个类没有指明用什么加载器加载的 ...

  7. QTP场景恢复之用例失败自动截图

    以下代码是在QC里运行QTP来执行脚本过程,当执行过程中发现用例失败后就会自动截图,然后把用例返回到最初始的状态,模拟了场景恢复的机制 Class QCImageErrorCapture Dim qt ...

  8. c语言 快排排序

    快速排序(Quick Sort): 这个算法的霸气程度从它的名字就可以看出来了.快速排序的应用也是非常广的的,各种类库都可以看到他的身影.这当然与它的“快”是有联系的,正所谓天下武功唯快不破. 快速排 ...

  9. VS2012 professional和VS2012 Ultimate的区别

    http://www.c-sharpcorner.com/news/1750/visual-studio-2012-editions-comparison.aspx http://karthikdod ...

  10. C# 按拼音/笔划 排序的简单示例(转)

    class Program { static void Main(string[] args) { string[] arr = { "趙(ZHAO)", "錢(QIAN ...