《Linux运维总结:ubuntu20.04二进制部署elasticsearch6.8.23集群》

一、二进制部署

服务信息如下:

节点 主机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

1.1、环境初始化

说明:以下操作都需要在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  

1.2、部署准备步骤

说明:以下操作都需要在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。


1.3、配置x-pack生成p12格式证书

说明:以下操作都需要在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.4、修改elasticsearch.yml文件

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

1.5、修改jvm.options文件

说明:以下操作都需要在ES集群各个节点执行,jvm内存根据实际情况修改。

# 进入elastic用户下
vim elasticsearch-6.8.23/config/jvm.options
-Xms3g
-Xmx3g

1.6、服务启动

说明:以下操作都需要在ES集群各个节点执行。

# 进入elastic用户下
cd elasticsearch-6.8.23
./bin/elasticsearch -d

1.7、设置密码

说明:以下操作都需要在ES集群其中一个节点执行即可,这里默认在节点1执行。

# 进入elastic用户下
cd elasticsearch-6.8.23

# 手动设置密码
./bin/elasticsearch-setup-passwords interactive

# 自动设置密码
./bin/elasticsearch-setup-passwords auto

1.8、检查集群状态

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运维实战总结

你可能感兴趣的:(《Linux运维实战总结》,elasticsearch)