Elasticsearch

ES多实例配置

2018-07-30  本文已影响7人  达微

配置变更

http.port

这个配置是elasticsearch对外提供服务的http端口配置,默认情况下ES会取用9200~9299之间的端口,如果9200被占用就会自动使用9201,在单机多实例的配置中这个配置实际是不需要修改的。
但是为了更好地进行配置管理,以及和老的配置兼容,我们还是手动将第一个实例的http端口配置为9200,第二个实例配置为9201。

transport.tcp.port

这个配置指定了elasticsearch集群内数据通讯使用的端口,默认情况下为9300,与上面的http.port配置类似,ES也会自动为已占用的端口选择下一个端口号。我们可以将第一个实例的tcp传输端口配置为9300,第二实例配置为9301。

discovery.zen.ping.unicast.hosts

由于到了2.x版本之后,ES取消了默认的广播模式来发现master节点,需要使用该配置来指定发现master节点。这个配置在单机双实例的配置中需要特别注意下,因为习惯上我们配置时并未指定master节点的tcp端口,如果实例的transport.tcp.port配置为9301,那么实例启动后会认为discovery.zen.ping.unicast.hosts中指定的主机tcp端口也是9301,可能导致这些节点无法找到master节点。因此在该配置中需要指定master节点提供服务的tcp端口。
其他配置

node.name

同一主机上的两个实例需要使用不同的node.name
node.name: “idc02-argo-es-04-2”

path.data

同一主机上两个实例需要对应不同的数据目录
path.data: “/data/server/elasticsearch-2”

path.logs

由于默认情况下日志用集群名称来命名,因此同一主机两个实例对应的日志目录需要分开
/data/logs/elasticsearch-2

创建目录

mkdir  /data/server/elasticsearch-2
mkdir /data/logs/elasticsearch-2
chown -R hdfs:hadoop /data/server/elasticsearch-2
chown -R hdfs:hadoop /data/logs/elasticsearch-2

启动:

nohup ./bin/elasticsearch -Des.path.conf=config/instance2 -d -p elasticsearch-2.pid > /dev/null 2>&1 &

创建test1&test2索引,两个索引都有分片分配到同一机器的两个不同实例上:


image.png
上一篇下一篇

猜你喜欢

热点阅读