服务信息如下:
节点 | 主机IP | 版本 | HTTP端口 | TCP端口 | jdk版本 |
---|---|---|---|---|---|
节点1 | 192.168.1.62 | 6.8.23 | 19203 | 19303 | 1.8.0_181 |
节点2 | 192.168.1.63 | 6.8.23 | 19203 | 19303 | 1.8.0_181 |
说明:以下操作都需要在ES集群各个节点执行。
echo '* soft nofile 65536' >> /etc/security/limits.conf
echo '* hard nofile 65536' >> /etc/security/limits.conf
echo '* soft memlock unlimited' >> /etc/security/limits.conf
echo '* hard memlock unlimited' >> /etc/security/limits.conf
echo 'vm.max_map_count=655360' >> /etc/sysctl.conf
sysctl -p
说明:以下操作都需要在ES集群各个节点执行。
1、创建elastic用户
useradd -d /data/es-cluster -m elastic
passwd elastic
2、进入elastic用户,下载解压软件包
su elastic
cd /data/es-cluster
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.8.23.zip
unzip elasticsearch-6.8.23.zip
3、进入elastic用户,创建数据目录和快照备份目录
mkdir elasticsearch-6.8.23/data
mkdir elasticsearch-6.8.23/backup
说明:如果是在root用户下操作的,记得对目录进行授权,使属主和属组均为elastic。
说明:以下操作都需要在ES集群其中一个节点执行即可,这里默认在节点1的elastic用户下执行。
1、生成p12格式证书
# 进入elastic用户下
cd elasticsearch-6.8.23
./bin/elasticsearch-certutil cert -out config/elastic-certificates.p12 -pass ""
2、将elastic-certificates.p12证书文件拷贝到节点2主机上的对应目录
# 进入elastic用户下
cd elasticsearch-6.8.23
scp config/elastic-certificates.p12 [email protected]:/data/es-cluster/elasticsearch-6.8.23/config
说明:只有elastic-certificates.p12文件在config目录下,才可以写在配置文件定义相对路径,否则,就必须写全路径。
1、节点1配置文件如下所示:
# 进入elastic用户下
cd /data/es-cluster && vim elasticsearch-6.8.23/config/elasticsearch.yml
cluster.name: my-application
node.name: node-1
path.data: /data/es-cluster/elasticsearch-6.8.23/data
path.logs: /data/es-cluster/elasticsearch-6.8.23/logs
network.host: 0.0.0.0
http.port: 19203
transport.tcp.port: 19303
discovery.zen.ping.unicast.hosts: ["192.168.1.62:19303", "192.168.1.63:19303"]
discovery.zen.minimum_master_nodes: 2
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type
path.repo: ["/data/es-cluster/elasticsearch-6.8.23/backup"]
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.license.self_generated.type: basic
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
2、节点2配置文件如下所示:
# 进入elastic用户下
cd /data/es-cluster && vim elasticsearch-6.8.23/config/elasticsearch.yml
cluster.name: my-application
node.name: node-2
path.data: /data/es-cluster/elasticsearch-6.8.23/data
path.logs: /data/es-cluster/elasticsearch-6.8.23/logs
network.host: 0.0.0.0
http.port: 19203
transport.tcp.port: 19303
discovery.zen.ping.unicast.hosts: ["192.168.1.62:9303", "192.168.1.63:9303"]
discovery.zen.minimum_master_nodes: 2
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type
path.repo: ["/data/es-cluster/elasticsearch-6.8.23/backup"]
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.license.self_generated.type: basic
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
说明:以下操作都需要在ES集群各个节点执行,jvm内存根据实际情况修改。
# 进入elastic用户下
vim elasticsearch-6.8.23/config/jvm.options
-Xms3g
-Xmx3g
说明:以下操作都需要在ES集群各个节点执行。
# 进入elastic用户下
cd elasticsearch-6.8.23
./bin/elasticsearch -d
说明:以下操作都需要在ES集群其中一个节点执行即可,这里默认在节点1执行。
# 进入elastic用户下
cd elasticsearch-6.8.23
# 手动设置密码
./bin/elasticsearch-setup-passwords interactive
# 自动设置密码
./bin/elasticsearch-setup-passwords auto
curl -u elastic:5e0rOxvkgq5aB0QUufCc http://192.168.1.62:19203/_cat/health
Elasticsearch也提供了备份集群中索引数据的策略snapshot API。它会备份整个集群的当前状态和数据,并保存到集群中各个节点共享的仓库中。这个备份的进程是增量备份的,在第一次备份的基础上进行的第二次备份只备份新变化的数据。
创建elasticsearch快照进行备份,步骤如下:
# 1、建立NFS文件共享服务
# 2、配置共享目录挂载的路径,即path.repo
# 3、创建快照仓库
# 4、创建快照
# 5、恢复快照到elasticsearch集群
1、建立NFS文件共享服务
# 1、服务端,这里默认以节点1(192.168.1.62)为服务端,
sudo apt install nfs-kernel-server
chmod 777 /data/es-cluster/elasticsearch-6.8.23/backup -R
vim /etc/exports
/data/es-cluster/elasticsearch-6.8.23/backup 192.168.1.63(rw,sync,no_subtree_check)
sudo exportfs -ra
sudo systemctl restart nfs-kernel-server
#2、客户端,这里默认以节点2(192.168.1.63)为客户端
sudo apt install nfs-common
mount 192.168.1.62:/data/es-cluster/elasticsearch-6.8.23/backup /data/es-cluster/elasticsearch-6.8.23/backup/
2、创建快照仓库
说明:以下操作在ES集群任意一节点执行即可,这里默认在节点1执行。
## es_backup可任意设置,无特殊意义
curl -H "Content-Type: application/json" -XPUT http://192.168.1.62:19203/_snapshot/es_backup -d '
{
"type": "fs",
"settings": {
"location": "/data/es-cluster/elasticsearch-6.8.23/backup",
"max_snapshot_bytes_per_sec": "50mb",
"max_restore_bytes_per_sec": "50mb"
}
}'
3、查看快照仓库信息
说明:以下操作在ES集群任意一节点执行即可,这里默认在节点1执行。
curl http://192.168.1.62:19203/_snapshot/es_backup?pretty
更多详细内容请参考:Linux运维实战总结