elasticsearch2.2 集群搭建各种坑
2016-08-03 22:00
253 查看
目前生产环境的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节点可以配置多个值,如下:
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+端口号的绑定操作,修改如下节点:
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
转:elasticsearch2.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
转:elasticsearch2.2 集群搭建各种坑
相关文章推荐
- elasticsearch2.2 集群搭建各种坑
- elasticsearch2.2 集群搭建各种坑
- elasticsearch2.2 集群搭建各种坑
- elasticsearch2.2 集群搭建各种坑
- Elasticsearch与MongoDB 数据同步及分布式集群搭建(一)
- Elasticsearch与MongoDB 数据同步及分布式集群搭建 (二)
- 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.2安装操作系统CentOS5.4
- elasticsearch集群搭建实例
- 分布式集群环境hadoop1.2.0、hbase0.94.4、zookeeper、elasticsearch搭建
- ElasticSearch入门 —— 集群搭建
- Elasticsearch集群环境的搭建步骤
- elasticsearch 集群搭建步骤
- ElasticSearch入门 —— 集群搭建
- ElasticSearch-集群搭建
- elasticsearch 集群搭建
- Elasticsearch与MongoDB 数据同步及分布式集群搭建 (一)
- 分布式集群环境hadoop1.2.0、hbase0.94.4、zookeeper、elasticsearch搭建2
- hadoop2.2集群搭建问题只能启动一个datanode问题
- ElasticSearch — 集群搭建
- ElasticSearch的基本用法与集群搭建