elasticsearch2.2

elasticsearch2.2 集群搭建各种坑

目前生产环境的es版本是1.0版本,需要升级到最新的2.2版本,于是在测试环境进行部署集群测试,在测试过程中遇到的坑相当多,下面详细介绍下。

1. 版本升级到2.2后,必须建一个单独的账号用于启动elasticsearch,不可以使用root账号进行启动,否则会报以下错误

Exception in thread "main" java.lang.RuntimeException: don‘t run elasticsearch as root.

2. 如果需要通过ip进行访问es集群,必须修改elasticsearch.yml中的network.host节点。es 1.0版本的默认配置是 "0.0.0.0",所以不绑定ip也可访问,但是es 2.2版本如果采用默认配置,只能通过 localhost 和 "127.0.0.1"进行访问。network.host节点可以配置多个值,如下:

  network.host: [_local_, 192.168.87.77]

3. es1.0 版本的集群的discovery默认采用的是组播(multicast)模式,但是在es2.2版本中已去除该模式,虽然提供了multicast的插件,但是官方说不建议采用multicast的模式,故我们只能采用单播(unicast)模式。同时我们还必须显示指明“network.publish_host”节点的内容,否则该节点会动态绑定ip,导致你设置的unicast地址不正确,以下是我的一些配置:

  network.publish_host: 192.168.87.76

  discovery.zen.ping.unicast.hosts: ["192.168.87.77","192.168.87.87.78"]

关于节点“discovery.zen.ping.unicast.hosts”的值可以是单值也可以是多值,在不同的服务器之间部署es节点可以不指明ip端口,但是在同一服务器中部署,ip最好是加上检测的端口号,否则可能检测不到要加入的节点,如下配置:

  network.publish_host: 192.168.87.76

  discovery.zen.ping.unicast.hosts: ["192.168.87.77:9300"]

4. 在同一台服务器上部署多个节点,最好显示指明节点间通信的端口号,这样有利于第3点进行节点发现的ip+端口号的绑定操作,修改如下节点:

  transport.tcp.port: 9310

5. 介绍下排错的过程,可以在es启动后,用tail命令监控es的日志文件,在es的node节点分配了标识之后,会进行节点探测才操作。

该图在分配标识后,打印了new_master操作,说明没有探测到要加入的集群,可能是第3点的单播的host配置有错误

该图在分配标识后,打印了detected_master操作,说明探测到了要加入的集群

参考内容

Zen Discovery: https://www.elastic.co/guide/en/elasticsearch/reference/2.2/modules-discovery-zen.html

Network Settings: https://www.elastic.co/guide/en/elasticsearch/reference/2.2/modules-network.html

Transport: https://www.elastic.co/guide/en/elasticsearch/reference/2.2/modules-transport.html#modules-transport

时间: 2024-09-28 21:11:47

elasticsearch2.2的相关文章

elasticsearch2.2 集群搭建各种坑

目前生产环境的es版本是1.0版本,需要升级到最新的2.2版本,于是在测试环境进行部署集群测试,在测试过程中遇到的坑相当多,下面详细介绍下. 1. 版本升级到2.2后,必须建一个单独的账号用于启动elasticsearch,不可以使用root账号进行启动,否则会报以下错误 Exception in thread "main" java.lang.RuntimeException: don't run elasticsearch as root. 2. 如果需要通过ip进行访问es集群,

ElasticSearch2.3.1环境搭建哪些不为人知的坑

首先说明一点,大家最好不要用什么尝鲜版,用比稳定版就好了,要不麻烦不断,另外出了问题,最好去官网,或者google搜索,因为这样靠谱些,要不现在好多都是低版本的,1.4的什么的,结果按照安装,多少情况下有这样那样的问题. 郑重声明,本文ElasticSearch2.3.1最新版的安装,其他的版本请搭建自行google,最好不要百度,百度一般都是老文章,有些版本问题很多,瞎折腾 ElasticSearch 安装配置 这个有点老套了,具体大家去移步官网:https://www.elastic.co/

大数据之ES系列——第一篇 ElasticSearch2.2 集群安装部署

第一部分  安装准备 准备三台主机节点: hc11.spads  192.168.160.181 hc12.spads  192.168.160.182 hc13.spads  192.168.160.183 准备软件包: elasticsearch-2.2.0.tar.gz 注:将以上软件包上传至各主机节点/opt/softwareRes/目录下. 第二部分 安装配置 elasticsearch-2.2.0 1.各主机节点分别解压软件包 elasticsearch-2.2.0.tar.gz t

Elasticsearch2.x手册 - 第1章 入门指南 - 1.2 安装

1.2      安装 Elasticsearch至少需要Java 7.建议你使用Oracle的JDK版本1.8.0_25.在你安装Elasticsearch时,请先检查Java运行版本. java -version echo $JAVA_HOME 一旦我们安装了Java,我们就可以下载并运行Elasticsearch.二进制文件可以从www.elastic.co/downloads和https://github.com/elastic/elasticsearch/releases下载.对于每一

cento下安装elasticsearch2.4.2小记

1.首先需要安装好java,并配置好环境变量 2.下载elasticsearch的rpm包,命令如下: wget https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/rpm/elasticsearch/2.4.2/elasticsearch-2.4.2.rpm 3.安装下载好的rpm包: rpm -ivh elasticsearch-2.4.2.rpm 4.安装成功后,启动elastic

ES之八:elasticsearch2.x下的JAVA API示例

D:\soft\elasticsearch\elasticsearch-2.1.0\lib package com.dxz.es; import java.net.InetAddress; import java.net.UnknownHostException; import java.util.Map; import java.util.concurrent.TimeUnit; import org.elasticsearch.action.ListenableActionFuture; i

elasticsearch2.3.3集群安装

1.下载elasticsearch-2.3.3tar.gz https://www.elastic.co/downloads/elasticsearch 注意:需要jdk7以上环境 2.解压配置修改 a.tar -zxvf elasticsearch-2.3.3.tar.gz b.修改config下elasticsearch.yml (1).cluster.name=myapp(相同集群保持名称一致) (2).node.name=appnode1(同一集群,必须名称不同,按机器编号进行修改app

Elasticsearch2.2报错问题集锦

下载好elastic2.2.0,修改elasticsearch.yml,报这个错误: 问题出在空格上,需要有空格.就OK了. 2.elasticsearch不能用root启动,需要添加普通用户 [[email protected]]# groupadd elk [[email protected]]# useradd elk -g elk -p elasticsearch [[email protected]]# chown  -R elk.elk  elasticsearch-2.1.1 [[

elasticsearch2.4.2安装(1)

1. 解压elasticsearch.2.4.2:3个节点 2. 修改config/elasticsearch.yml (注意要顶格写,冒号后面要加一个空格) NIE-00: 192.168.1.100 a)cluster.name: ns-cluster (同一集群要一样)b)node.name: node-0 c)network.Host: 192.168.1.100d)防止脑裂的配置discovery.zen.ping.multicast.enabled: falsediscovery.z