ElasticSearch集群搭建

参考文档:

前提条件:Linux服务器,已经安装好了docker。

概述:本文档讲述由三台es服务组建es集群,服务器的配置稍微高一点,至少4G的内存。

假设我们手上有三台服务器,这三台服务器的ip地址如下:

  • 192.168.1.149(主服务器,服务1)
  • 192.168.1.167(服务2)
  • 192.168.1.152(服务3)

1. 创建挂载文件夹

首先给这三台es服务都创建上数据文件夹挂载目录,分别执行以下命令:

mkdir -p /mydata/es/es-node1
mkdir -p /mydata/es/es-node1/config
mkdir -p /mydata/es/es-node1/data
mkdir -p /mydata/es/es-node1/plugins

1.1. 修改文件夹权限:

修改创建的挂载目录的文件夹权限:

chmod -R 777 /mydata/es/es-node1/*

如果没有修改文件夹权限就挂载,启动容器之后会发现容器自动关闭,查看容器的日志会发现如下报错:

ElasticsearchException[failed to bind service]; nested: AccessDeniedException[/usr/share/elasticsearch/data/nodes];

2. 创建配置文件

然后在创建的config文件夹里面创建配置文件,文件名elasticsearch.yml

2.1. 服务1的配置文件:

cluster.name: elasticsearch-cluster
node.name: es-node1
network.bind_host: 0.0.0.0
network.publish_host: 192.168.1.149
http.port: 9200
transport.tcp.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
discovery.zen.ping.unicast.hosts: ["192.168.1.149:9300","192.168.1.167:9300","192.168.1.152:9300"]
discovery.zen.minimum_master_nodes: 2
cluster.initial_master_nodes: ["es-node1","es-node2","es-node3"]
# 以下配置用于设置密码访问ES集群,如不需要可以不用配置,如需要请在三台es服务上都配置
xpack.security.enabled: true
xpack.license.self_generated.type: basic
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12

参数释义;

  • cluster.name:集群名称
  • node.name:节点名称
  • network.publish_host:设置其他节点连接此节点的地址,如果不设置的话,则自动获取,publish_host的地址必须为真实地址
  • http.port:Http传输监听端口
  • transport.tcp.port:该节点与其他节点交互的端口
  • http.cors.enabled:是否支持跨域,默认不支持
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值