安装和配置集群(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. CLR 读书笔记

    http://www.cnblogs.com/wang_yb/tag/CLR%20via%20C%23%E7%AC%94%E8%AE%B0/

  2. Ubuntu 12.04LTS 找不到eth0网卡

    我的机器是DELL 14R INSPRION 7420 笔记本.试了好多方法都不行,比如这个教程: . sudo ifconfig -a //查看所有网卡现状,看eth0是否存在,在结果列表应该找不到 ...

  3. [SharePoint 2013 入门教程 3 ] 排版第一个网站集,网站

    我们创建了一个TEST网站集,如果你觉得太丑,怎么办,我们一起来给它整整容吧. 点击页面--> 编辑页面 我们现在就可以在页面上添加各种部件,进行布局排版.

  4. Mahout学习之Mahout简介、安装、配置、入门程序测试

    一.Mahout简介 查了Mahout的中文意思——驭象的人,再看看Mahout的logo,好吧,想和小黄象happy地玩耍,得顺便陪陪这位驭象人耍耍了... 附logo: (就是他,骑在象头上的那个 ...

  5. QT5删除隐藏目录+隐藏文件(使用Process::start函数调用系统命令,且等待到结束)

    1.功能需求 删除一个目录(包括目录本身),同时删除该目录中所有文件及目录(含隐藏的) 2.遇到的问题 qt5中已经有了递归删除目录的函数--->bool QDir::removeRecursi ...

  6. Git教程之管理修改(6)

    Git比其他版本控制系统设计得优秀,因为Git跟踪并管理的是修改,而非文件.你会问,什么是修改?比如你新增了一行,这就是一个修改,删除了一行,也是一个修改,更改了某些字符,也是一个修改,删了一些又加了 ...

  7. 如何用Maven创建一个普通Java项目

    一下内容包括:用Maven创建一个普通Java项目,并把该项目转成IDEA项目,导入到IDEA,最后把这个项目打包成一个jar文件. 有时候运行mvn命令失败,重复运行几次就OK了,无解(可能因为网络 ...

  8. linux 命令学习大全

    转载  http://blog.csdn.net/xiaoguaihai/article/details/8705992/

  9. 1008. Image Encoding(bfs)

    1008 没营养的破题 #include <iostream> #include<cstdio> #include<cstring> #include<alg ...

  10. Android远程图片获取和本地缓存

    对于客户端——服务器端应用,从远程获取图片算是经常要用的一个功能,而图片资源往往会消耗比较大的流量,对 应用来说,如果处理不好这个问题,那会让用户很崩溃,不知不觉手机流量就用完了,等用户发现是你的应用 ...