8.2.3
node1
、node2
、node3
。/opt/elasticsearch-8.2.3
/data/elastic
由于ElasticSearch所有节点配置均相同,所以先在集群中1个节点进行配置,然后再将安装文件同步至其他节点即可,先在node1
上进行配置,首先解压安装包生成安装目录:
# 在node1上执行
tar -xzf elasticsearch-8.2.3-linux-x86_64.tar.gz -C /opt
cd elasticsearch-8.2.3/
这样就将ElasticSearch安装到既定的目录:/opt/elasticsearch-8.2.3
下面。
然后在node1
上编辑配置文件,修改或增加以下配置,相对目录为:config/elasticsearch.yml
:
# 集群名称(自定义), 所有节点配置相同名称
cluster.name: yisa
# 节点名称(自定义), 所有节点名称不同, es-1,es-2...
node.name: es-1
# 数据存放目录
path.data: /data/es/data
# 日志存放目录
path.logs: /data/es/logs
# 该节点网络地址
network.host: 192.168.11.13
# 外部通讯端口
http.port: 9200
# 支持跨域
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization,X-Auth-Token,X-Requested-With,Content-Length,Content-Type
http.cors.allow-credentials: true
# 禁用GeoIp数据库的下载
ingest.geoip.downloader.enabled: false
现在相关的配置已经在node1
节点上完成配置,需要将ElasticSearch安装目录同步至其他所有节点,并修改对应节点的node.name
和network.host
:
# 在node1上执行
scp -r /opt/elasticsearch-8.2.3 root@node2:/opt
scp -r /opt/elasticsearch-8.2.3 root@node3:/opt
修改config目录下的jvm.options文件
-Xms16g
-Xmx16g
Xms和Xmx大小一致, 不超过物理内存的50%, 不超过32g。如果内存足够大,最大设置为31g。
参考:
16g内存 -Xms8g -Xmx8g
128g内存 -Xms31g -Xmx31g
在所有的节点创建前面定义的数据目录:
# node1,node2,node3 都需要执行
mkdir -p /data/elastic
在所有的节点创建es用户,并修改文件所有者:
useradd es
chown es:es -R /opt/elasticsearch-8.2.3
chown es:es -R /data/elastic
查看当前的文件数量限制是否大于65536,用户可以创建的线程数是否大于等于 4096
ulimit -n
ulimit -u
若当前的文件数量小于65536,用户可以创建的线程数是小于 4096,根据基础环境配置中提供的方式进行修改配置
查看swap交换配置是否等于1
sysctl vm.swappiness
若 vm.swappiness不等于1,则执行以下命令配置:
sysctl -w vm.swappiness=1 >> /etc/sysctl.conf
查看虚拟内存配置
sysctl vm.max_map_count
若 vm.max_map_count小于262144,则执行以下命令配置:
sysctl -w vm.max_map_count=1048570 >> /etc/sysctl.conf
设置默认是临时生效,所以在设置的同时添加-w
参数输出到/etc/sysctl.conf
之后下次开机也会自动生效了。
从文件中读取当前设置的参数可以使用-p
:
sysctl -p
切换为es用户执行
su es
在node1
节点上启动ElasticSearch服务:
# 只在node1上执行执行(-d 参数为后台启动)
./bin/elasticsearch -d
出现下图输出表示默认安全配置启动成功,图中1为elastic用户生成的默认密码,2为Elasticsearch 注册的 token(此token有效期30分钟)
注意:只有第一次启动式才会生成token
若token过期可以执行以下命令生成新token
./bin/elasticsearch-create-enrollment-token -s node
将node2
和node3
节点加入集群:
./bin/elasticsearch -d --enrollment-token token(此处token代指node1节点上生成的具体token值)
默认密码不好记,执行以下命令修改elastic用户的密码:
./bin/elasticsearch-reset-password -u elastic -i
密码修改完后检查集群节点:
curl -u elastic -XGET https://192.168.11.14:9200/_cat/nodes?v
注意:在8.2版本的es中若启用安全性,使用有传入的明文 http 请求会关闭连接,使用https才能正常连接到es服务。
如果并不希望配置 Elasticsearch 具有 HTTPS 的访问,只想配置 Basic authentication。这个时候,在启动 Elasticsearch 之前,针对 Elasticsearch 的配置文件 config/elasticsearch.yml 做如下的修改:
xpack.security.http.ssl.enabled: false
Reference: